我正在處理Microsoft Excel Community上的問題,其中一個問題是在 Excel 中生成 1 到 10 之間的隨機數,其中沒有一個數字重複(即沒有重複)。
我的第一直覺是使用 RANDBETWEEN 函數。
我在 Excel 中對一些隨機數據進行了快速檢查,但它讓我失望了——結果中有重複。
這是我使用 RANDBETWEEN 函數時得到的結果:
所以,我不得不求助於 RAND 函數。
它在數字重複的概率可以忽略不計的情況下運行良好(我在超過 100,000 個單元格上對其進行了多次測試,並且沒有重複。
如果生成大量隨機數,可以測試一次)。
在 Excel 中生成一組唯一的隨機數
以下是如何使用 RAND 函數在 Excel 中生成一組唯一隨機數:
- 在列中,使用 =RAND() 公式生成一組介於 0 和 1 之間的隨機數。
- 生成隨機數後,將其轉換為值,這樣它就不會一次又一次地重新計算以使您的工作簿變慢。
- 在相鄰列中,使用以下 RANK 公式並複制/拖動其他單元格(這裡我僅將其用於 10 個數字,因此 A2:A11。您可以相應地調整範圍)。
=排名(A2,$A$2:$A$11) - 而已。您將有一個從 1 到 10 的隨機數列表,並且沒有一個數字會重複。
注意:請記住將具有 RAND 函數的單元格從公式轉換為值,否則每次您更改工作簿中的任何內容時,它都會重新計算並更改隨機數列表。
注意:雖然我檢查並沒有在 RAND 函數的結果中發現重複,但我仍然建議您在生成這些數字後檢查。您可以使用條件格式突出顯示重複項或使用刪除重複項選項來擺脫它。
您是否使用任何其他技術來生成沒有重複的隨機數?
在評論部分讓我知道。