我正在处理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 函数的结果中发现重复,但我仍然建议您在生成这些数字后检查。您可以使用条件格式突出显示重复项或使用删除重复项选项来摆脱它。
您是否使用任何其他技术来生成没有重复的随机数?
在评论部分让我知道。