xellstorm 學習中心
ZH
開啟應用程式

Excel 三角分配:公式、平均值,以及與 PERT 的比較

指南 · 更新於 2026年10月

一句話說:把低值、最可能值與高值變成機率,最簡單的做法。機率直線上升到最可能值,再直線下降到高值。

三角分配把三點估算轉成機率:從最小值到最可能值呈直線上升,再呈直線下降到最大值。平均值是 (最小 + 最可能 + 最大) / 3:成本估算為 80、100 與 140(單位:千美元)時,平均值是 106.7,P90 是 124.5。Excel 沒有三角分配函數,但一個含 RAND() 與 SQRT 的公式就能抽樣。

三角分配是什麼

三個數字決定它:最小值,低於它不會有任何結果;最大值,高於它也不會有;還有最可能值,也就是密度的峰值。三者之間,密度是兩條直線,所以要把專家給的低值、最可能值與高值變成完整的結果範圍,這是最簡單的做法。

公式:平均值、標準差、中位數
三角分配公式(ml = 最可能值),以最小 80、最可能 100、最大 140 為例
項目公式與範例
平均值(min + ml + max) / 3
= 320 / 3 = 106.7
標準差√((min² + ml² + max² − min × ml − min × max − ml × max) / 18)
= 12.5
低於最可能值的機率(ml − min) / (max − min)
= 20/60 = 33.3%
中位數(P50)105.4

最可能值較靠近最小值時,長的一側在它的上方:三分之二的結果高於最可能成本,平均值 106.7 也遠高於它。這就是把最可能值加總的預算,通常偏低的原因。

Excel 中的三角分配

Excel 的 RAND() 給出 0 到 1 之間的亂數 u,再用公式轉成三角分配的值:u 小,值就靠近最小值;u 大,值就靠近最大值,間隔的安排,讓範圍內每一段都分到該有的抽樣數。u 小於最可能值下方所占的比例時,值是 min + √(u × (max − min) × (ml − min));否則是 max − √((1 − u) × (max − min) × (max − ml))。公式用到兩次 u,所以 u 要放在獨立的儲存格:兩個各自的 RAND() 會得到兩個不同的數字,分配也會錯。檔案裡,u 在 I7,抽樣值在 J7:

Excel 三角分配,取自檔案的第 7 列(最小值在 D7,最可能值在 F7,最大值在 H7)
儲存格公式值
亂數 u (I7)=RAND()
抽樣值 (J7)=IF(I7<(F7-D7)/(H7-D7),D7+SQRT(I7*(H7-D7)*(F7-D7)),H7-SQRT((1-I7)*(H7-D7)*(H7-F7)))
平均值 (K7)=(D7+F7+H7)/3106.7
P10 (L7)=IF(0.1<(F7-D7)/(H7-D7),D7+SQRT(0.1*(H7-D7)*(F7-D7)),H7-SQRT((1-0.1)*(H7-D7)*(H7-F7)))91.0
P90 (M7)=IF(0.9<(F7-D7)/(H7-D7),D7+SQRT(0.9*(H7-D7)*(F7-D7)),H7-SQRT((1-0.9)*(H7-D7)*(H7-F7)))124.5
核對數字:理論值,對照 Excel 與 xellstorm 各 10,000 個抽樣值
單一項目的成本,三角分配:理論值與各 10,000 個抽樣值
理論值Excel, RAND()xellstorm
平均值106.7106.7106.7
標準差12.512.612.5
P1091.090.691.0
P50(中位數)105.4105.6105.4
P90124.5124.7124.5

Excel 用 RAND() 完全隨機抽樣;xellstorm 把抽樣值平均分散在整個範圍(拉丁超立方抽樣),所以統計量更貼近理論值。

把 u 換成固定的機率,不用模擬就能得到百分位數:0.9 得到 P90,也就是 124.5。表中的兩組抽樣值,都重現了理論值。

三角分配與 PERT:三個數字相同,兩端的權重不同

PERT 分配用同樣的最小值、最可能值與最大值,但在其間畫出平滑的曲線。檔案裡兩者都有,在第 7 列與第 8 列:

圖怎麼看:線愈高,下方的值愈可能。兩種形狀都從最小值開始,在最可能值達到峰值,到最大值結束;三角分配在兩端都比較高。

三角分配與 PERT 的密度,最小 80,最可能 100,最大 140同一範圍 80 到 140 上的兩條密度曲線:三角分配直線上升到 100 的峰值,再直線下降到 140;PERT 是平滑的曲線,峰值較高,兩端較細。80100120140三角分配PERT
單一項目的成本(單位:千美元):同樣三個數字,分別用三角分配與 PERT。三角分配在極限附近保有較多權重,尤其在較長的一側。
最小 80,最可能 100,最大 140:三角分配與 PERT,理論值
三角分配PERT
平均值106.7103.3
標準差12.511.1
P1091.089.2
P90124.5118.7
高於 134 的機率1.5%0.1%

三角分配在極限附近保有較多權重:成本高於 134 的機率是 1.5%,PERT 則是 0.1%。它的平均值把最可能值算一次,不是四次,所以估算偏斜時平均值較高(106.7 對 103.3),P90 也較高(124.5 對 118.7)。兩者沒有誰比較正確,只是對同樣三個數字有不同的解讀。

在 xellstorm 設定三角分配

  1. 把儲存格設為輸入,在「分配」步驟選三角分配。輸入最小、最可能與最大;「平均值」與「P10 – P90」欄會隨輸入更新。
  2. 若低值與高值是 P10 與 P90,改選由百分位數定義的三角分配,把它們填入下限與上限,下限 % 設 10、上限 % 設 90;或選取該輸入,用側邊面板的「由估計值」配適分配。並非每組百分位數都能剛好配成三角分配;面板會顯示最接近的那個差多少。
  3. 要比較同一組估算的不同解讀,新增一個把輸入改成 PERT 的情境。情境與基準情境用同樣的亂數,所以差異只來自形狀。

增益集的模型可轉換 RiskTriang、VoseTriangle 與 PsiTriangular,RiskTrigen 則轉成由百分位數定義的三角分配。

常見問題

Excel 怎麼產生三角分配的亂數?

在一個儲存格放亂數 =RAND(),再在另一個儲存格用反函數公式把它轉成抽樣值。亂數在 I7、最小值在 D7、最可能值在 F7、最大值在 H7 時:=IF(I7<(F7-D7)/(H7-D7),D7+SQRT(I7*(H7-D7)*(F7-D7)),H7-SQRT((1-I7)*(H7-D7)*(H7-F7)))。本頁的 Excel 檔案已備好,可直接複製。

三角分配的平均值是多少?

平均值是 (最小 + 最可能 + 最大) / 3。估算為 80、100 與 140 時,是 320 / 3 = 106.7。同樣數字的 PERT,平均值是 (最小 + 4 × 最可能 + 最大) / 6 = 103.3。

三角分配的 P90 怎麼算?

用抽樣公式,把亂數換成 0.9:估算為 80、100 與 140 時,=IF(0.9<(F7-D7)/(H7-D7),D7+SQRT(0.9*(H7-D7)*(F7-D7)),H7-SQRT((1-0.9)*(H7-D7)*(H7-F7))) 得到 124.5。這是單一項目的 P90;幾個項目的總和要用模擬,因為百分位數不能相加。

三角分配與 PERT,哪個比較保守?

同樣三個數字,三角分配分散得更廣,在極限附近有更多權重。估算右偏時,它的平均值與 P90 都比較高,所以是較謹慎的解讀。估算對稱時,兩者平均值相同,三角分配則是兩側都更寬。

相關內容

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