@RISK 替代方案:直接開啟現有的 @RISK 檔案
xellstorm 在瀏覽器中對 Excel 模型做蒙地卡羅模擬,可以原樣開啟為 @RISK 建立的 Excel 檔案:讀得懂 @RISK 的 53 個分配函數與 47 個百分位數寫法,參數仍連結到儲存格,也讀得懂 RiskOutput、RiskCorrmat 與 RiskSimtable。在 Windows、macOS 或 Linux 上,都不需要 @RISK 或 Excel。
檔案本身不會更動,模型仍可在 @RISK 中開啟。執行前會先列出轉換了什麼,以及每個沒轉換的公式與原因。
@RISK 與 xellstorm 對照
| @RISK | xellstorm | |
|---|---|---|
| 執行環境 | 在 Windows 版 Excel 內;Mac 上只能透過執行 Windows 使用 | Windows、macOS 或 Linux 的瀏覽器;建議用 Chrome 或 Edge |
| 安裝 | 每台執行模型的電腦都要安裝增益集 | 不需安裝,也不需管理員權限 |
| Excel 檔案 | 儲存格裡是 @RISK 函數;沒有 @RISK 就算不出來 | 原樣讀取:xellstorm 不會寫入任何內容 |
| 同事 | 要有 @RISK 才能重跑模型 | 在瀏覽器中開啟即可;報告的讀者不需授權 |
| 計算位置 | 在本機,於 Excel 內 | 在本機,於瀏覽器分頁內;檔案絕不上傳 |
表中關於 @RISK 的內容,依其廠商截至 2026 年 10 月公布的安裝說明;實際需求請向廠商確認最新資訊。
哪些 @RISK 函數會轉換
這些表格由匯入器自己的規則清單產生,所以列出的正是能轉換的全部內容。每個函數對應到它所描述的分配,參數依 @RISK 文件的定義轉換,每個對應也都與相當的 scipy 分配比對測試過。「百分位數」標示 …Alt 與 …AltD 寫法,它們以百分位數指定分配,執行時 xellstorm 會精確求解;† 標示只能用數字轉換的函數。
| 分配 (xellstorm 名稱) | @RISK |
|---|---|
白努利bern | RiskBernoulli |
貝他beta | RiskBetaRiskBetaGeneralRiskBetaSubj† |
二項binom | RiskBinomial |
Burr III(Dagum)burr | RiskDagum |
Burr XIIburr12 | RiskBurr12 |
柯西cauchy | RiskCauchy百分位數: RiskCauchyAltRiskCauchyAltD |
卡方chi2 | RiskChiSq百分位數: RiskChiSqAltRiskChiSqAltD |
複合分配(頻率 × 幅度)compound | RiskCompound |
累積cumul | RiskCumulRiskCumulD† |
離散custom | RiskDiscreteRiskDUniform |
指數expon | RiskExpon百分位數: RiskExponAltRiskExponAltD |
極值(最大值,Gumbel)gumbel_r | RiskExtValue百分位數: RiskExtValueAltRiskExtValueAltD |
極值(最小值)gumbel_l | RiskExtValueMin百分位數: RiskExtValueMinAltRiskExtValueMinAltD |
Ff | RiskF |
疲勞壽命(Birnbaum–Saunders)fatiguelife | RiskFatigueLife百分位數: RiskFatigueLifeAltRiskFatigueLifeAltD |
Fréchetinvweibull | RiskFrechet百分位數: RiskFrechetAltRiskFrechetAltD |
伽瑪、愛爾朗gamma | RiskGammaRiskErlang百分位數: RiskGammaAltRiskGammaAltD |
一般(相對權重)general | RiskGeneral |
直方圖histogram | RiskHistogrm |
雙曲正割hypsecant | RiskHypSecant百分位數: RiskHypSecantAltRiskHypSecantAltD |
超幾何hypergeom | RiskHypergeo |
整數均勻randint | RiskIntUniform |
逆高斯invgauss | RiskInvgauss百分位數: RiskInvgaussAltRiskInvgaussAltD |
Johnson SBjohnsonsb | RiskJohnsonSB |
Johnson SUjohnsonsu | RiskJohnsonSU |
Kumaraswamykumaraswamy | RiskKumaraswamy |
拉普拉斯laplace | RiskLaplace百分位數: RiskLaplaceAltRiskLaplaceAltD |
Lévylevy | RiskLevy百分位數: RiskLevyAltRiskLevyAltD |
對數邏輯斯fisk | RiskLogLogistic百分位數: RiskLogLogisticAltRiskLogLogisticAltD |
邏輯斯logistic | RiskLogistic百分位數: RiskLogisticAltRiskLogisticAltD |
對數常態lognorm | RiskLognormRiskLognorm2百分位數: RiskLognormAltRiskLognormAltD |
負二項、幾何nbinom | RiskGeometRiskNegbin |
常態norm | RiskNormalRiskErf†百分位數: RiskNormalAltRiskNormalAltD |
柏拉圖pareto | RiskPareto百分位數: RiskParetoAltRiskParetoAltD |
柏拉圖 II(Lomax)lomax | RiskPareto2百分位數: RiskPareto2AltRiskPareto2AltD |
Pearson V(逆伽瑪)invgamma | RiskPearson5百分位數: RiskPearson5AltRiskPearson5AltD |
Pearson VI(beta prime)betaprime | RiskPearson6 |
PERTpert | RiskPert |
卜瓦松poiss | RiskPoisson |
瑞利rayleigh | RiskRayleigh百分位數: RiskRayleighAltRiskRayleighAltD |
倒數(對數均勻)loguniform | RiskReciprocal |
t 分配t | RiskStudent百分位數: RiskStudentAltRiskStudentAltD |
三角triang | RiskTriang |
由百分位數定義的三角trigen | RiskTrigen百分位數: RiskTriangAlt |
均勻unif | RiskUniform百分位數: RiskUniformAltRiskUniformAltD |
韋伯weibull_min | RiskWeibull百分位數: RiskWeibullAltRiskWeibullAltD |
分配可以單獨出現,也可以乘上一個正的乘數,再加或減至多一個偏移量,例如 RiskNormal(B1*1.1,B2)*C1+5;引數可以用數字、單一儲存格參照與算術運算,並保持連結到那些儲存格。屬性函數與標記如下:
| 函數 | 在 xellstorm 中轉換為 |
|---|---|
RiskTruncate | 截斷:truncate_min、truncate_max(在任何平移之前) |
RiskTruncate2 | 截斷:平移後數值的 truncate_min、truncate_max(再依平移量移回) |
RiskTruncateP | 截斷:truncate_pmin、truncate_pmax(分配的百分位數) |
RiskShift | 平移:shift |
RiskName | 名稱:輸入的名稱 |
RiskLock | 鎖定:固定值(RiskLock(v),或 RiskStatic 的值) |
RiskCorrmat | 相關性:同一矩陣內各輸入之間的等級相關 |
RiskDepC | 相關性:與同名配對的輸入之間的等級相關 |
RiskIndepC | 相關性:與同名配對的輸入之間的等級相關 |
RiskSimtable | 每次模擬一個值:基準執行中固定該儲存格,之後每次模擬各成一個情境 |
RiskOutput | 輸出:名稱沿用函數所給的名稱 |
@RISK 無法轉換的內容
- 沒有精確對應的函數。@RISK 的時間序列函數,例如
RiskAR1,以及RiskPertAlt與其他以兩個形狀參數指定的百分位數寫法。PERT 請改給最小、最可能與最大,或把百分位數交給可轉換的RiskTrigen;時間序列可以直接在 xellstorm 設定(隨機漫步、AR(1)、幾何布朗運動、均值回歸、跳躍擴散)。 - 匯入無法改寫的公式。同一個儲存格有多個分配、分配放在另一個函數內或分母中,以及需要改變運算順序的算術,例如
(RiskNormal(0,1)+5)*2。請拆成多個儲存格,每格一個分配。 - 部分複合分配。
RiskCompound可以轉換,但有自負額、幅度可能為負(除非已在 0 處截斷),或幅度放在另一個儲存格時不行。 - 亂數種子與統計量。
RiskSeed的亂數串流設定不會保留,抽樣由 xellstorm 自己的亂數種子決定。RiskMean與其他把結果回報到儲存格的函數,離開 @RISK 就派不上用場;同樣的統計量可在 xellstorm 的結果中看到。 - 模型以外的部分。VBA 巨集、自訂函數與連到其他檔案的連結:與 xellstorm 開啟的任何 Excel 檔案一樣,都不支援。
每個沒轉換的公式都會連同原因列出,相容性檢查也會在執行前指出 xellstorm 算不出來的每個儲存格。從增益集移轉模型會用完整的範例,說明每個剩下的公式該怎麼處理。
逐步移轉 @RISK 模型
- 開啟檔案。把 .xlsx 或 .xlsm 檔案拖放到 xellstorm;.xlsb 請先另存為 .xlsx。檔案在瀏覽器分頁內讀取與計算。
- 匯入 @RISK 函數。「分配」步驟的由檔案匯入會列出哪些成為輸入、輸出、相關性或情境,以及每個剩下的公式與原因。
- 檢查剩下的部分。相容性檢查會把公式與 Excel 儲存的值核對,並指出 xellstorm 算不出來的儲存格。先替換這些,再採用結果。
- 執行並比較。全部轉換完成、檢查也沒有問題後,平均值與百分位數和 @RISK 的差異就只來自抽樣雜訊。把設定存成專案檔,放在 Excel 檔案旁邊,之後就能重新執行。
常見問題
需要安裝 @RISK 或 Excel 嗎?
都不需要。xellstorm 直接從檔案讀取公式,用自己的計算引擎在瀏覽器中計算模型,Windows、macOS 與 Linux 都能用。
@RISK 模型能在 Mac 上執行嗎?
@RISK 本身在 Windows 版 Excel 中執行,所以 Mac 上得先有 Windows。xellstorm 在 macOS 的瀏覽器也能執行,開啟為 @RISK 建立的檔案不需要 Excel 或增益集;建議使用 Chrome 或 Edge。
結果會和 @RISK 一樣嗎?
模型相同,亂數不同。轉換後的分配保留原本的參數,相關性也保留原本的等級相關。全部轉換完成、相容性檢查也沒有問題後,平均值與百分位數和 @RISK 的差異來自抽樣雜訊,試驗次數愈多,雜訊愈小;輸入之間有相關性時,各工具配對抽樣值的方式不同,最好與最差那幾段結果的差異可能稍大。
同一個 Excel 檔案還能繼續用 @RISK 嗎?
可以。匯入只是把公式轉成 xellstorm 自己設定中的輸入,不會寫入檔案,所以檔案照樣能在 @RISK 中開啟與執行。
@RISK 是其所有人的商標。xellstorm 與它並無關聯;這裡提到函數名稱,只是說明 xellstorm 讀得懂哪些內容。
相關內容
- 指南
從 @RISK、ModelRisk 或 Analytic Solver 移轉模型
xellstorm 能讀取 @RISK、ModelRisk 與 Analytic Solver 的 164 個分配函數,並列出轉換了哪些、哪些公式沒轉換及原因。 - 指南
ModelRisk 替代方案:直接開啟現有的 ModelRisk 檔案
xellstorm 是 ModelRisk 的替代方案:不需增益集與 Excel,就能開啟 ModelRisk 檔案,轉換 62 個 Vose 分配函數、參數仍連結到儲存格,並在瀏覽器中執行模型。 - 指南
用於蒙地卡羅模擬的 Analytic Solver 替代方案
xellstorm 是 Analytic Solver 蒙地卡羅模擬的替代方案:不需增益集與 Excel,就能開啟為 Analytic Solver 模擬建立的檔案,轉換 49 個 Psi 分配函數、參數仍連結到儲存格,並在瀏覽器中執行模型。
xellstorm 是在瀏覽器中執行的 Excel 模型蒙地卡羅模擬工具:免裝增益集,Excel 檔案也不會離開您的電腦。