Note: The other languages of the website are Google-translated. Back to English

如何在Excel中生成沒有重複的隨機數?

在許多情況下,您可能想在Excel中生成隨機數? 但是,使用將數字隨機化的通用公式,可能會有一些重複的值。 在這裡,我將告訴您一些技巧,以在Excel中生成沒有重複的隨機數。

使用公式生成唯一的隨機數

用Kutools為Excel的插入隨機數據生成唯一的隨機數(容易!) 好主意3


箭頭藍色右氣泡 使用公式生成唯一的隨機數

要在Excel中生成唯一的隨機數,您需要使用兩個公式。

1。 假設您需要生成不重複的隨機數到A列和B列中,現在選擇單元格E1,然後鍵入此公式 = RAND(),然後按 Enter 鍵,請參見屏幕截圖:
doc-randomize-no-repeat-1

2.然後選擇整個列E 按Ctrl + 宇宙 同時鍵,然後按 按Ctrl + D 應用公式的鍵 = RAND() 到整列E。請參見屏幕截圖:
doc-randomize-no-repeat-2

3.然後在單元格D1中,鍵入所需的隨機數的最大值。 在這種情況下,我想插入隨機數而不在1到50之間重複,因此我將在D50中鍵入1。
doc-randomize-no-repeat-3

4.現在轉到列A,選擇單元格A1,鍵入以下公式 =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))),然後將填充手柄拖至下一列B,然後將填充手柄向下拖至所需範圍。 看截圖:
doc-randomize-no-repeat-4

現在,在此範圍內,不再需要您的隨機數。

備註:

1.在上述長公式中,A1表示您使用長公式的單元格,D1表示隨機數的最大值,E1是您應用公式= RAND()的列的第一個單元格,而2則表示您要插入隨機數分為兩列。 您可以根據需要更改它們。

2.當所有唯一編號都生成到範圍中時,冗餘單元將顯示為空白。

3.使用此方法,您只能從1開始生成隨機數。但是,使用第二種方法,您可以輕鬆指定隨機數範圍。


箭頭藍色右氣泡 用Kutools為Excel的插入隨機數據生成唯一的隨機數

使用上述公式,會帶來很多不便。 但是隨著 Excel的Kutools插入隨機數據 功能,您可以根據需要快速輕鬆地插入唯一的隨機數,這將節省大量時間。

時間更少但生產率更高

包括 300 多種 Excel 2019-2003 專業工具
1.0年發布了第一個版本2011,現在是版本18.0
在幾秒鐘內解決大多數Excel日常複雜任務,節省您的時間
30-天免費試用,無任何限制

kte包裝盒

安裝後 Kutools for Excel,請執行以下操作:(立即免費下載Kutools for Excel!)

1.選擇生成隨機數所需的範圍,然後單擊 庫工具 > 插入 > 插入隨機數據。 看截圖:

2。 在裡面 插入隨機數據 對話框,轉到 整型 標籤,將所需的數字範圍輸入 文本框,並記得檢查 獨特價值 選項。 看截圖:

3。 點擊 Ok 生成隨機數並退出對話框。

備註:如果您選擇的單元格大於隨機數,則多餘的單元格將顯示為空白。

您還可以插入隨機唯一日期,隨機唯一時間 插入隨機數據。 如果您想免費試用 插入隨機數據, 請立即放貸!
插入隨機數據

小費。如果您想隨機選擇或排序數據,請嘗試使用Kutools for Excel的 隨機排序範圍 如以下屏幕截圖所示。 功能齊全,不受限制 30 天, 請下載並立即免費試用。

doc隨機選擇


箭頭藍色右氣泡 插入無重複的隨機數據




快速將多個複選框或按鈕插入工作表中的單元格區域

在Excel中,一次只能將一個複選框/按鈕插入到一個單元格中,如果需要同時插入多個複選框/按鈕,將很麻煩。 Excel的Kutools 具有強大的實用程序- 批量插入檢查 / 批量插入選項按鈕 一鍵即可將復選框/按鈕插入選定的單元格。  單擊以獲取功能齊全的免費試用版 30-天!
doc插入複選框選項按鈕
 
Kutools for Excel:擁有超過 300 個方便的 Excel 加載項,免費試用,不受限制 30 天。

最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (17)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
你好,根據 使用公式生成唯一的隨機數 , 如何指定一個隨機數的起點? 假設我想隨機“15 到 30”。
網站主持人對此評論進行了最小化
使用 RANDBETWEEN() 獲取位於兩個數字之間的隨機數。
網站主持人對此評論進行了最小化
經過大約三個小時的嘗試完全理解生成無重複隨機數的冗長複雜公式後,我想出了一個更簡單的公式,它具有相同的結果。 使用 RAND() 函數隨機生成一列中的數字後,可以簡化公式:=IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET( $E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,單元格 a1 中的 $D$1))) 到 =Rank(E1,$E$1:$E$50)。 然後,如果您想要 50 個隨機生成的“唯一數字”。 您只需將公式通過列 a 拖動到單元格 a50。 這要簡單得多。 感謝您回答我的問題,不管有多少不需要的公式。 如果你沒有這個網站。 我不認為我能夠解決我的問題。 #WAR 搖搖晃晃
網站主持人對此評論進行了最小化
實際上,如果您有兩個相等的值,則 rank 將為兩者賦予相同的值。 排名公式確實返回重複的排名值。
網站主持人對此評論進行了最小化
曼努埃爾·拉米雷斯。

公式 RAND() 有數千億種可能性,但即使如此,您也可以使用條件不重複數字:
A1 = 排名(E1,$E$1:$E$50)
A2 = IF(COUNTIFS($E$1:E1;E1)>1;A1+1;Rank(E2,$E$1:$E$50)
網站主持人對此評論進行了最小化
我需要創建 5000 個隨機數 1-90 沒有重複 30 列 I 並使用公式 =RAND() 和 =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(偏移($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E $1000,$D$1))) 有沒有辦法改變公式來提取 5000 個數字
網站主持人對此評論進行了最小化
對不起,我不知道,你可以把這個問題放到我們的論壇 https://www.extendoffice.com/forum.html,也許有人可以幫助你。
網站主持人對此評論進行了最小化
如何使用自定義列表做同樣的事情? 不是數字?
網站主持人對此評論進行了最小化
您的自定義列表位於 A 列中。假設它有 100 個值,位於 A1:A100

B 列是一個計數器:
B1 為 1,B1 為 (B1+2):B100

C列是一個隨機列表:
C1:C100 的 RAND()

D列是基於隨機列表的隨機排名:
排名.EQ(C1;$C$1:$C$100)

E 列是您的輸出:
INDEX($A$1:$A$100;MATCH(D1;$B$1:$B$100;0))

注意:幾乎不可能在 C 列上生成重複值,因為 RAND() 有數十億種可能性。 但是,如果您真的想消除這種機會,您可以在 D2:D100 列輸入以下公式
IF(COUNTIFS($C$2:C2;C2)>0;D1+1;RANK.EQ(C2;$C$1:$C$100))
網站主持人對此評論進行了最小化
幫助任何人:-) 這個我想不通。 在我們學校,我們經常將學生分成小組 - 2 人和 2 人一起進行一些工作會議。 9 在這種情況下。 班上有 18 名學生(不同)。 我所追求的是一個公式,它給了我一個隨機的結果,即誰應該在 9 個工作會議中一起工作,而不會讓學生見面兩次。 所以我需要 Excel 給我一個分佈在 18 個工作會話中的 9 個學生的結果,並且任何學生都不能與另一個學生匹配兩次。 我該如何解決這個問題? 我到處尋找靈感,但沒有運氣。 任何輸入表示讚賞:-)
網站主持人對此評論進行了最小化
嗨,安德斯,您需要在 A 列中列出所有名稱,然後在 B 列中,應用公式 =rand(),然後在單元格 F2 中指定 2 作為大小,現在應用此公式 =ROUNDUP(RANK(B3,$B$3 :$B$19)/$F$2,0) 在 C 列中,如下圖所示
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
你好。 感謝您的回复。
我理解你的建議,但是我如何實現一個設置,將所有學生分配到最多數量的研討會,其中 2 名學生被隨機分配到第一個研討會,然後是第二個研討會,然後是第三個研討會等等等等。並採取這個更進一步,不得將學生與他/她已經合作過的其他學生匹配。 因此,當有 18 名學生時,我需要“系統”將所有學生分配到(在這種情況下)9 個研討會(例如每週一個研討會),並且沒有學生應該是他們已經合作過的學生。
網站主持人對此評論進行了最小化
或者您可以使用數獨設置。
網站主持人對此評論進行了最小化
您好,請問您有解決這個問題的方法嗎,我也遇到了同樣的問題。 任何幫助,將不勝感激。
網站主持人對此評論進行了最小化
你好。 我剛剛找到這個網站,並試圖找出將新代碼分配給人們的最佳方法。 我想分配一個隨機代碼供人們在 1000 到 65000 之間使用,這不等於已經分配的任何代碼。 我也希望它被格式化為 5 個數字(00000),但如果它不考慮這一點,那也沒什麼大不了的。 關於如何使這項工作的任何想法? TIA :-)
網站主持人對此評論進行了最小化
嗨,Janel,您為什麼不嘗試 Excel 中的數據驗證? 它只能允許在單元格範圍內輸入 1000 到 65000 之間的整數。
查看附件 (1 / 5)
網站主持人對此評論進行了最小化
En la parte Genere números aleatorios únicos con fórmulas como hago para ampliar el numero de columnas pasar de 2 a 5 sin repetir los numeros segun la formula que ud puso: =IF(ROW()-ROW(A$1)+1>$D $1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1 :INDEX($E$1:$E$1000,$D$1)))
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護