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(),然后按 输入 键,请参见屏幕截图:
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的插入随机数据生成唯一的随机数

使用上述公式,有太多的不便要处理。 但是随着 Kutools for Excel插入随机数据 功能,您可以根据需要快速轻松地插入唯一的随机数,这将节省大量时间。

时间更少,但生产率更高

包括适用于Excel 300-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中,一次只能将一个复选框/按钮插入到一个单元格中,如果需要同时插入多个复选框/按钮,将很麻烦。 Kutools for Excel 具有强大的实用程序- 批量插入检查 / 批量插入选项按钮 一键即可将复选框/按钮插入选定的单元格。  单击以获取全功能免费试用 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保护