xellstorm
ZH
開啟應用程式

Excel 的 PERT 分配:公式、平均值與使用時機

指南 · 更新於 2026年10月

PERT 分配把三點估算(最小、最可能、最大)轉成從最小值拉伸到最大值的貝他分配,平均值為 (最小 + 4 × 最可能 + 最大) / 6。以營建範例的結構項目為例,估算為 760、820 與 1,010(單位:千美元),平均值就是 841.7。Excel 沒有 PERT 函數,但 =BETA.INV(RAND(), α, β, min, max) 能依 PERT 抽樣。

形狀參數為 α = 1 + 4 × (最可能值 − 最小值) / (最大值 − 最小值),β = 1 + 4 × (最大值 − 最可能值) / (最大值 − 最小值)。同樣三個數字的三角分配,平均為 863.3,分散得更廣。

什麼是 PERT 分配

三點估算給出可能的最低值、最可能值與最高值。PERT 分配把這三個數字轉成完整的結果範圍:低於最小值、高於最大值的情形不存在,峰值在最可能值,往兩端平滑下降,所以接近極限的值有可能出現,但很罕見。

數學上它是貝他分配。貝他分配是定義在固定區間上的一族分配,形狀由兩個正數 α(alpha)與 β(beta)決定,這裡把 0 到 1 的區間拉伸成最小值到最大值。PERT 選的 α 與 β,讓峰值落在最可能值上,平均值為 (最小 + 4 × 最可能 + 最大) / 6:最可能值算四次,兩端極限各算一次。權重 4 來自 PERT(計畫評核術,Program Evaluation and Review Technique),這是 1950 年代末為美國海軍北極星飛彈計畫發展的專案時程方法,以 (樂觀 + 4 × 最可能 + 悲觀) / 6 估計每項作業的預期工期。專案經理至今仍稱這個式子為 PERT 估算或三點估算,它就是這個分配的平均值。

PERT 公式(ml = 最可能值),以營建範例的結構項目為例:最小 760、最可能 820、最大 1,010,單位:千美元
項目公式與範例
形狀 α1 + 4 × (ml − min) / (max − min)
= 1 + 4 × (820 − 760) / 250 = 1.96
形狀 β1 + 4 × (max − ml) / (max − min)
= 1 + 4 × (1,010 − 820) / 250 = 4.04
平均值(min + 4 × ml + max) / 6
= 5,050 / 6 = 841.7
標準差√((平均值 − min) × (max − 平均值) / 7)
= 44.3
峰值(眾數)ml
= 820

平均值 841.7 高於最可能值,因為範圍往上延伸得較遠(820 到 1,010),往下較近(760 到 820)。成本與工期估算通常都有這種偏態,所以最可能成本的總和會偏樂觀,專案應變準備金範例就是如此。舊的 PERT 標準差速算法 (最大值 − 最小值) / 6 只是近似值:這裡是 41.7,上述公式算出的是 44.3。

Excel 中的 PERT 公式

Excel 沒有 PERT 函數,但 BETA.INV(probability, alpha, beta, A, B) 會算出拉伸到 A 至 B 區間的貝他分配值。假設估算的最小、最可能與最大值分別在儲存格 B2、C2 與 D2:

Excel 中的 PERT,最小值在 B2、最可能值在 C2、最大值在 D2
項目公式
隨機抽樣值=BETA.INV(RAND(), 1+4*(C2-B2)/(D2-B2), 1+4*(D2-C2)/(D2-B2), B2, D2)
平均值(在 E2)=(B2+4*C2+D2)/6
標準差=SQRT((E2-B2)*(D2-E2)/7)
P90=BETA.INV(0.9, 1+4*(C2-B2)/(D2-B2), 1+4*(D2-C2)/(D2-B2), B2, D2)

以 RAND() 當機率,每次重新計算都會抽出新的值。機率固定時,BETA.INV 直接回傳該百分位數,不需要模擬:結構項目的 0.9 得到 904.1,0.1 得到 786.9。BETAINV 是 Excel 2007 及更早版本的名稱,引數相同。最小值與最大值必須不同,因為兩個形狀公式都要除以 max − min。

單一項目的百分位數不是總額的百分位數:幾個項目的 P90 加總,不等於它們總和的 P90(見 P50、P80 與 P90)。要得到總額,得靠模擬;在一般 Excel 裡,就是收集數千次重新計算的結果,例如用資料表,Excel 蒙地卡羅模擬有詳細說明。

PERT 與三角分配:同樣三個數字,不同的答案

三角分配用同樣的最小、最可能與最大值,但密度從最小值到最可能值呈直線上升,再呈直線下降到最大值。平均值為 (最小 + 最可能 + 最大) / 3:最可能值只算一次,不是四次,所以較遠的那一端把平均值拉得更遠。以結構項目而言,是 2,590 / 3 = 863.3,比 PERT 的 841.7 高出約 22。標準差 √((最小值² + 最可能值² + 最大值² − 最小值 × 最可能值 − 最小值 × 最大值 − 最可能值 × 最大值) / 18) 為 53.3,PERT 則為 44.3。

要看出這對模型有什麼影響,我們用相同的亂數種子,把營建範例的 5,000 次試驗跑了兩次:一次照原樣,結構為 PERT;另一次把結構改成同樣三個數字的三角分配。其他輸入在兩次執行中抽到的值完全相同,每次試驗為結構抽的亂數也相同,所以兩次的差異只來自這一個分配的形狀。

結構項目(單位:千美元):最小 760、最可能 820、最大 1,010;各 5,000 個抽樣值
結構項目PERT三角分配
公式算出的平均值841.7863.3
抽樣值的平均值841.7863.3
公式算出的標準差44.353.3
抽樣值的標準差44.353.3
抽樣值的 P10786.9798.7
抽樣值的 P90904.1941.1
超過 PERT 的 P90 的抽樣值10.0%23.6%
結構項目:PERT 與三角分配的抽樣值結構項目在最小 760 與最大 1,010 之間、最可能值為 820 的各 5,000 個抽樣值的直方圖:以長條表示的 PERT 在最可能值附近達到峰值,向兩端漸漸變稀;以虛線輪廓表示的三角分配呈直線下降到最大值,高值一側的抽樣值較多。PERT 平均值 841.7,三角分配平均值 863.3。最小 760最可能 820最大 1,010PERT 平均值 841.7三角分配平均值 863.3PERT三角分配
結構項目,各 5,000 個抽樣值(單位:千美元)。長條:PERT;虛線:使用相同三個數字的三角分配。三角分配在較長的高值一側有更多抽樣值,所以平均值較高。

抽樣值與公式一致,到顯示的小數位數都相同:平均值分別為 841.7 與 863.3。xellstorm 預設的拉丁超立方抽樣在這裡有幫助:它把每個輸入的範圍分成 5,000 個等機率區段,每段恰好抽一個值。三角分配較寬,P10 到 P90 的範圍寬 142.4,PERT 為 117.2;它有 23.6% 的抽樣值超過 PERT 的 P90(904.1),PERT 自己只有 10% 超過。不過並非兩側都較寬:靠近最小值處 PERT 的抽樣值較多,三角分配的 P10 較高,798.7 對 786.9。最可能值靠近低端時,三角分配會把權重移向較長的高值一側;估算左右對稱時,兩端的權重都會變大。

6 個項目只要動一個,總額就會跟著動。結構改為三角分配後,平均總成本從 2,785 升到 2,806,升幅與該項目平均值的升幅相同(其他抽樣值都一樣);P90 上升 27,超出 2,900 預算的機率從 16.1% 升到 20.8%。

營建專案的總成本(單位:千美元):結構採用 PERT 或三角分配
總成本PERT三角分配
平均值2,7852,806
P902,9372,964
超出 2,900 預算的機率16.1%20.8%

兩種形狀沒有對錯,只是同樣三個數字的兩種解讀。請有意選擇其中一種,並註明預算依哪一種而定。

何時用 PERT、三角分配或對數常態分配

圍繞目標值的對稱變異,例如加工尺寸,通常用常態分配,公差堆疊範例就是如此。

在 xellstorm 中輸入 PERT 分配

xellstorm 在瀏覽器計算 Excel 檔案,分配另外保存,所以檔案裡不需要 BETA.INV 公式:

  1. 開啟檔案,在模型圖上點選沒把握的儲存格,選 Make input。新的輸入預設為 PERT,範圍是該儲存格已儲存值的 90% 到 110%。
  2. 在 Distributions 步驟,Distribution 欄維持 PERT,輸入最小、最可能與最大值。Shape、Mean 與 P10 – P90 欄會隨輸入即時更新,執行前就能看到這三個數字代表什麼。
  3. 估算值若已在檔案裡,放在輸入旁、標示為 Min、Likely 與 Max(或 Low、Base 與 High)的儲存格,側邊面板會出現「Link to these cells」:PERT 之後每次執行前都會讀這些儲存格,所以改了工作表,再開啟修改後的檔案並套用已儲存的專案,修改就會帶過來。風險登記冊範例就是這樣運作。
  4. 低值與高值若是 P10 與 P90,不是極限,就把它們連同當作 P50 的典型值,輸入側邊面板的「Fit from estimates」,形狀選 PERT、Normal、Lognormal 或 Triangular;xellstorm 會找出該形狀中最接近的分配,並顯示配適誤差。「From data」分頁則改用歷史值配適。
  5. 要比較形狀,新增一個把該輸入的分配改成 Triangular 的情境,輸入同樣三個數字。情境使用相同的隨機抽樣,Results 步驟會拿每個情境和基準情境比較。

專為 @RISK、ModelRisk 或 Analytic Solver 建立的 Excel 檔案常含有 PERT 函數(RiskPert、VosePERT、PsiPert)。「Import from workbook」會把獨立的函數,或乘上一個正乘數再加減至多一個偏移量的函數轉成輸入,VosePERT(E7,1,F7)*D7 就是一例。引數與乘數若用到儲存格,會連同算術運算保持連結,並在套用各情境的固定儲存格之後重新讀取。上方的 BETA.INV 公式也會轉成等效的貝他輸入:兩個形狀計算和最小值、最大值仍連結到儲存格。其中明確的除法仍要求最小值與最大值不同。最小、最可能與最大值全部相等的 PERT 輸入,只會抽出那一個值。

常見問題

PERT 分配的平均值公式是什麼?

PERT 分配的平均值是 (最小 + 4 × 最可能 + 最大) / 6:最可能值加權四次,兩端極限各一次。估算為 760、820 與 1,010 時,結果是 5,050 / 6 = 841.7。專案管理把同一個式子稱為 PERT 估算或三點估算。

PERT 分配的標準差是多少?

PERT 分配的標準差是 √((平均值 − 最小值) × (最大值 − 平均值) / 7)。速算法 (最大值 − 最小值) / 6 只是近似:估算為 760、820 與 1,010 時,速算法得到 41.7,精確值則是 44.3。

PERT 分配與貝他分配相同嗎?

PERT 分配是一種特定的貝他分配:拉伸成從最小值到最大值,形狀參數由最可能值決定,α = 1 + 4 × (最可能值 − 最小值) / (最大值 − 最小值),β = 1 + 4 × (最大值 − 最可能值) / (最大值 − 最小值)。形狀參數不同的貝他分配就不是 PERT。因為是貝他分配,Excel 的 BETA.INV 就能抽樣。

該用 PERT 還是三角分配?

PERT 與三角分配用同樣的最小、最可能與最大值,但三角分配分散得更廣,偏態的估算上還偏向較長的一側:結構估算為 760、820 與 1,010(單位:千美元),三角分配的平均值為 863.3,PERT 則為 841.7。最可能值是最有把握的數字、極限很少碰到時用 PERT;想要較保守的分散程度,或接近極限的值也很實際時,用三角分配。

如何在 Excel 中取得 PERT 分配的 P90?

單一 PERT 輸入的 P90,直接用機率 0.9 的 BETA.INV 就能得到:=BETA.INV(0.9, 1+4*(ml-min)/(max-min), 1+4*(max-ml)/(max-min), min, max),估算為 760、820 與 1,010 時結果是 904.1;本頁 5,000 次模擬抽樣得到 904.1,與它相符,這得益於拉丁超立方抽樣(範圍的每個等機率區段各抽一個值)。若要得到數個不確定項目總額的 P90,就要模擬:百分位數不能相加。

相關內容

xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。