本篇整理了各種 Excel 中常用的亂數產生公式,還有相關數學函數的用教學。
Excel 中有好幾種可以產生隨機亂數資料的函數,以下分別介紹各種不同的隨機數值資料產生方法,包含浮點數、整數或是固定位數的小數等。
這裡整理了 Excel 中常用的亂數產生方式,有各種不同的隨機分佈,方便大家快速查詢、直接複製使用。
Excel 會在每次開啟檔案時重新計算這些亂數,每次產生的數值都會不同,如果要手動讓 Excel 重新產生所有的亂數,可以按 F9
鍵。
均勻分布(uniform distribution)就是所有的亂數出現的機率都相同,以下是連續型與離散型的各種常用公式。
Excel 公式 | 資料型態 | 亂數範圍 |
---|---|---|
=RAND() |
浮點數 | 0 ≦ x < 1 |
=RAND()*100 |
浮點數 | 0 ≦ x < 100 |
=RAND()*100-50 |
浮點數 | -50 ≦ x < 50 |
=ROUNDDOWN(RAND(),2) |
小數點以下 2 位 | 0 ≦ x ≦ 0.99 |
=ROUNDDOWN(RAND()*10,2) |
小數點以下 2 位 | 0 ≦ x ≦ 9.99 |
=RANDBETWEEN(1,100) |
整數 | 1 ≦ x ≦ 100 |
=RANDBETWEEN(-1,1) |
整數 | -1 ≦ x ≦ 1 |
=RANDBETWEEN(0,10) |
整數 | 0 ≦ x ≦ 10 |
=RANDBETWEEN(1,100)/100 |
小數點以下 2 位 | 0.01 ≦ x ≦ 1 |
=RANDBETWEEN(-1000,1000)/100 |
小數點以下 2 位 | -10 ≦ x ≦ 10 |
這是在 Excel 中實際測試的情況,每次所產生的亂數都會不同,按 F9
可以重新產生亂數資料。
常態分布(normal distribution,又稱高斯分布)是一般資料分析上最常使用的分布之一,以下是在 Excel 中產生常態分布資料的公式。
Excel 公式 | 平均值 | 標準差 |
---|---|---|
=NORM.INV(RAND(),0,1) |
0 | 1 |
=NORM.INV(RAND(),3.1,8.6) |
3.1 | 8.6 |
=NORMINV(RAND(),0,1) 舊版 |
0 | 1 |
=NORMINV(RAND(),3.1,8.6) 舊版 |
3.1 | 8.6 |
這裡的 NORM.INV
與 NORMINV
兩個函數其作用是相同的,NORM.INV
是新版的函數,而 NORMINV
是舊版的,以下是 NORM.INV
函數在 Excel 中實際測試的情況。
以上是比較常用的幾種公式組合,接下來介紹的是這些函數的詳細說明與更進階的用法。
這裡簡單介紹上面有用到的幾個函數。
Excel 的 RAND 函數可以產生大於或等於 0 且小於 1 的均勻分布(uniform distribution)隨機實數。
若要產生介於 a
與 b
之間的隨機亂數,可使用這樣的公式:
=RAND()*(b-a)+a
這樣所產生的數值範圍就是 a ≦ x < b
。
當按下 F9
時,所有的 RAND
函數就會重新產生亂數資料。
Excel 的 RANDBETWEEN 函數會傳回指定區間的隨機整數,第一個參數是指定其傳回的最小的整數值,而第二個參數則是指定傳回的最大的整數值。例如產生 1
到 100
之間的亂數:
=RANDBETWEEN(1,100)
也可以產生負數,例如產生 -10
到 10
之間的亂數:
=RANDBETWEEN(-10,10)
當按下 F9
時,所有的 RANDBETWEEN
函數就會重新產生亂數資料。
Excel 的 NORM.INV 函數可傳回特定常態累積分布函數之反函數值,其第一個參數是常態分布的機率值,第二個與第三個參數是常態分布的平均值與標準差。
這個函數可跟 RAND
函數結合,產生常態分布的亂數,例如產生標準常態分布的亂數:
=NORM.INV(RAND(),0,1)
NORMINV 函數 是比較舊的版本,應盡量避免使用。
ROUNDDOWN 函數會以趨近於零的方式將小數點以下指定位數之後的值無條件捨去。例如將小數點之後的值都捨去:
=ROUNDDOWN(3.14159, 0)
這樣得到的結果會是 3
。若要保留小數點以下 2 位,而其餘捨去,可用:
=ROUNDDOWN(3.14159, 2)
這樣得到的結果會是 3.14
。