RAND 函數的功能是產生一個介於 0 到 1 之間的隨機小數(大於等於 0 且小於 1)。它不需要輸入任何參數,只要在儲存格輸入 =RAND() 即可獲得隨機數值。
Excel RAND 函數語法
=RAND()回傳:大於等於 0 且小於 1 的隨機小數
適用版本:所有 Excel 版本皆支援。
RAND 函數範例
範例 1:產生基本的隨機小數
需要產生隨機機率或測試用的小數資料。
| 項目 | 隨機數值 |
|---|---|
| 測試A | |
| 測試B |
在 B2 輸入公式:
=RAND()結果:依每次計算的亂數而定。在儲存格輸入 =RAND(),不需要填寫任何參數,Excel 就會自動產生一個大於等於 0 且小於 1 的隨機小數。
範例 2:產生指定範圍的隨機小數
產生 0 到 50 之間的隨機小數,用於模擬特定範圍的測驗分數。
| 測試項目 | 隨機分數 (0-50) |
|---|---|
| 項目一 | |
| 項目二 |
在 B2 輸入公式:
=RAND()*50結果:依每次計算的亂數而定。將 RAND 函數產生的結果乘上 50,即可將原本 0 到 1 的隨機範圍,擴大成大於等於 0 且小於 50 的隨機小數。
範例 3:建立隨機排序用的輔助欄位
需要將人員名單隨機打亂,用於分組或抽籤。
| 姓名 | 隨機排序用亂數 |
|---|---|
| 王小明 | |
| 陳怡君 | |
| 林志明 | |
| 張雅婷 |
在 B2 輸入公式:
=RAND()結果:依每次計算的亂數而定。在名單旁的輔助欄位輸入 RAND 函數產生亂數。接著選取資料範圍,並對該輔助欄位進行遞增或遞減排序,就能達到將名單隨機打亂的效果。
使用 RAND 的技巧與注意事項
- RAND 是易失性函數,只要工作表有任何變更或重新計算(例如按下 F9 鍵),所有的 RAND 數值都會自動更新。
- 如果想保留產生的隨機數值不再變動,可以複製該儲存格,並使用「選擇性貼上」中的「值」來覆蓋原公式。
- 若需要產生指定範圍內的隨機整數,建議改用 RANDBETWEEN 函數會更為方便。
RAND 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| #NAME? | 函數名稱拼字錯誤,例如不小心打成 =RND()。 | 確認函數名稱正確拼寫為 RAND。 |
| #VALUE! | 在括號內輸入了多餘的參數或數值,例如 =RAND(10)。 | RAND 函數不需要且不接受任何參數,請將括號內的內容清空,保持 =RAND() 即可。 |
Google 試算表可以用 RAND 嗎?
Google 試算表完全支援 RAND 函數,用法與 Excel 相同,同樣會在工作表變更時重新計算。
下載 RAND 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:RAND 範例.xlsx(範例公式都在試算表軟體實際計算過;隨日期或亂數變動的結果以實際開啟時為準)。
常見問題
如何產生 1 到 10 之間的隨機小數?
可以使用公式 =RAND()*9+1 來計算。若要產生大於等於 a 且小於 b 的隨機小數,通用的公式寫法為 =RAND()*(b-a)+a。
為什麼我沒有修改該儲存格,RAND 的數字卻一直變?
因為 RAND 屬於易失性函數。只要在同一個活頁簿中進行任何編輯、輸入資料或重新計算,Excel 都會自動更新並產生新的亂數。
可以讓 RAND 函數產生的數字固定不要變動嗎?
函數本身無法設定停止變動。最簡單的做法是選取產生亂數的儲存格,複製後在原處按滑鼠右鍵,選擇「選擇性貼上」並貼上為「值」即可固定。
這篇收錄在「Excel 函數字典」。




