提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何在Excel中生成没有重复的随机数字?

在很多情况下,您可能想要在Excel中生成随机数字? 但是用通用公式来随机化数字,可能会有一些重复的值。 在这里,我会告诉你一些技巧,在Excel中生成没有重复的随机数字。

用公式生成唯一的随机数

使用Excel的插入随机数据(Easy!),用Kutools生成唯一的随机数 好idea3


轻松插入随机数据,而不需要在单元格范围内重复

如果你想在一系列单元格中插入随机且没有重复的整数,日期,时间或字符串,甚至是自定义列表,那么论坛可能很难记住。 但 Kutools Excel的Inser随机数据 可以尽快轻松地处理这些工作。 点击查看完整功能60天免费试用!
doc插入随机数据
Kutools for Excel:拥有超过300便利的Excel加载项,可以在60天免费试用,不受限制。

箭头蓝色右泡 用公式生成唯一的随机数


要在Excel中生成唯一的随机数,您需要使用两个公式。

1。 假设您需要生成没有重复的随机数到列A和列B中,现在选择单元格E1,然后键入此公式 = RAND(),然后按 输入 键,看截图:
DOC随机化,无重复,1

2。 按下并选择整个E列 按Ctrl + 太空 键同时按,然后按 按Ctrl + D 键应用公式 = RAND() 到整列E.见截图:
DOC随机化,无重复,2

3。 然后在单元格D1中输入所需的随机数的最大数量。 在这种情况下,我想在1和50之间插入随机数字而不重复,所以我将在D50中输入1。
DOC随机化,无重复,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随机化,无重复,4

现在,在这个范围内,您需要的随机数字不会重复。

请注意:

1。 在上面的长公式中,A1表示您使用长公式的单元格,D1表示随机数的最大数量,E1是您应用公式= RAND()的第一个单元格,2表示要插入随机数分成两列。 您可以根据需要更改它们。

2。 当所有唯一编号生成到该范围内时,冗余单元将显示为空白。

3。 使用这种方法,您可以从号码1开始生成随机数字。 但有了第二种方法,您可以轻松指定随机数范围。


箭头蓝色右泡 使用Kutools for Excel的插入随机数据生成唯一的随机数

有了上述配方,处理起来就有很多不便。 但是 Kutools for Excel插入随机数据 功能,您可以快速方便地插入独特的随机数字作为您的需要,这将节省大量的时间。

更少的时间,但更高的生产力

包括用于Excel 300-2019的2003 +专业工具
第一个版本1.0在2011中发布,现在是18.0版本
在几秒钟内解决大多数Excel日常复杂任务,节省您的时间
60天免费试用,没有任何限制

KTE包​​装盒

安装后 Kutools for Excel,请按照以下步骤操作:(免费下载Kutools for Excel!)

1。 选择生成随机数所需的范围,然后单击 Kutools > 插页 > 插入随机数据。 看截图:
doc radomize积极否定11

2。 在里面 插入随机数据 对话框,转到 整数 标签,输入您需要的数字范围 文本框,并记得检查 独特的价值 选项。 看截图:
doc随机化独特的2

3。 点击 Ok 生成随机数并退出对话框。
doc随机化独特的3

请注意:如果您选择的单元格大于随机数字,则冗余单元格显示为空白。

您也可以通过随机插入随机唯一日期,随机时间 插入随机数据。 如果你想免费试用 插入随机数据, 请立即下载!

doc随机化独特的4doc随机化独特的5

提示。如果您想随机选择或排序数据,请尝试使用Excel的Kutools 随机排序范围 如以下屏幕截图所示。 它在60天没有限制的全功能, 请立即下载并免费试用。

doc随机选择


箭头蓝色右泡 插入随机数据不重复




快速将多个复选框或按钮插入工作表中的一系列单元格中

在Excel中,一次只能将一个复选框/按钮插入单元格,如果需要同时插入多个单元格复选框/按钮,将会很麻烦。 Kutools for Excel 有一个强大的工具 - 批量插入检查 / 批量插入选项按钮 只需点击一下,即可将复选框/按钮插入选定单元格。 点击60天的全功能免费试用版!
doc插入复选框选项按钮
Kutools for Excel:拥有超过300便利的Excel加载项,可以在60天免费试用,不受限制。

Kutools for Excel - 最佳办公生产力工具提高80%的生产力

  • 重用: 快速插入 复杂的公式,图表 以及你以前用过的任何东西; 加密单元格 密码; 创建邮件列表 并发送电子邮件...
  • 超级方程式酒吧 (轻松编辑多行文字和公式); 阅读布局 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不丢失数据; 分裂细胞含量; 组合重复的行/列...防止重复的细胞; 比较范围...
  • 选择复制或唯一 行; 选择空行 (所有细胞都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择......
  • 精确复制 多个单元格而不更改公式参考; 自动创建参考 多张表; 插入项目符号,复选框等等......
  • 提取文本,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级过滤器 (将过滤方案保存并应用到其他工作表); 高级排序 按月/周/日,频率等; 特殊过滤器 用粗体,斜体......
  • 结合工作簿和工作表; 根据键列合并表; 将数据拆分为多个表格; 批量转换xls,xlsx和PDF...
  • 超过300强大的功能。 支持Office / Excel 2007-2019和365。 支持所有语言。 在您的企业或组织中轻松部署。 全功能60天免费试用。
kte tab 201905

Office选项卡为Office提供选项卡式界面,使您的工作更轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,Publisher,Access,Visio和Project。
  • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
  • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Anders · 1 months ago
    Help anyone :-) This one I cannot figure out. At our school we often put together students in groups - 2 and 2 together for a number of working sessions. 9 in this case. There are 18 students (vary) in the class. What I am chasing is a formula that gives me a random result of who should work together in the 9 working sessions without having students meeting each other twice. So I need Excel to give me a result of 18 students spread across 9 working sessions and any student must not be match with another student twice. How the xxxx do I fix that? I have search all over the place for inspiration without luck. Any input is appreciated :-)
    • To post as a guest, your comment is unpublished.
      Sunny · 23 days ago
      Hi, Anders, you need to list all names in column A, then in column B, apply formula =rand(), then specify 2 as the size in cell F2, now apply this formula =ROUNDUP(RANK(B3,$B$3:$B$19)/$F$2,0) in column C as below screenshot shown
      • To post as a guest, your comment is unpublished.
        Anders · 19 days ago
        Hi. Thanks for your reply.
        I understand you suggestions, but how do I achieve a setup where all students are assigned to maksimum number of workshops where 2 students are randomly assigned to first one workshop, then the second workshop, then the third workshop etc. etc. and to take this even further a student must not be matched with another student that he/she already have worked with. So when having 18 students I need "the system" to allocate all student to (in this case) 9 workshop (e.g. one workshop per week) and no student should be a student they have already worked with.
  • To post as a guest, your comment is unpublished.
    Michel · 9 months ago
    How can I do the same thing with a custom list? Not numbers?
    • To post as a guest, your comment is unpublished.
      Paulo Lira · 8 months ago
      Your custom list is in Column A. Lets say it has 100 values and it is located in A1:A100

      Column B is a counter:
      1 for B1 and (B1+1) for B2:B100

      Column C is a random list:
      RAND() for C1:C100

      Column D is a random rank based on the random list:
      RANK.EQ(C1;$C$1:$C$100)

      Column E is your output:
      INDEX($A$1:$A$100;MATCH(D1;$B$1:$B$100;0))

      Note: There is virtually no chance of generating a duplicate value on column C since RAND() have billions of possibilities. But, if you really want to erase that chance you can type the following formula at column D2:D100
      IF(COUNTIFS($C$2:C2;C2)>0;D1+1;RANK.EQ(C2;$C$1:$C$100))
  • To post as a guest, your comment is unpublished.
    Kevin · 1 years ago
    I need to create 5000 random numbers 1-90 no duplicates 30 columes I and using the formula =RAND() and =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))) is there way that i could change the formula to extract the 5000 numbers
  • To post as a guest, your comment is unpublished.
    JIGGLY BALLS · 2 years ago
    After about three hours of trying to completely understand the long complicated formula to generate random numbers without duplicates, I figured out a far simpler formula that has the same results. After you randomly generate the numbers in a column using the RAND() function, You can simplify the formula:=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))) in cell a1 to =Rank(E1,$E$1:$E$50). Then if you would like 50 random generated "unique numbers." you simply drag the formula through column a to cell a50. It is a lot simpler. Thank you for answering my question regardless of the huge unneeded formula. If you did not have this website. I don't think I would have been able to solve my problem.

    #WAR
    Jiggly
    • To post as a guest, your comment is unpublished.
      Manuel Ramirez · 10 months ago
      Actually, if you have two equal values, rank will give the same value to both. Rank formula does return repeated rank values.
      • To post as a guest, your comment is unpublished.
        Paulo Lira · 8 months ago
        Manuel Ramirez.

        The formula RAND() has hundreds of billions of possibilities, but even so you can use a conditional to not repeat the numbers:
        A1 = Rank(E1,$E$1:$E$50)
        A2 = IF(COUNTIFS($E$1:E1;E1)>1;A1+1;Rank(E2,$E$1:$E$50)
  • To post as a guest, your comment is unpublished.
    Bernz · 2 years ago
    Hi, Base on [b]Generate unique random numbers with formulas [/b], How can I specify the starting point of a random number? Let's say I want to random "15 to 30".
    • To post as a guest, your comment is unpublished.
      RK Mohanty · 2 years ago
      Use RANDBETWEEN() to get random numbers lies between two numbers.