Table of contents
出于特定的目的(如电话号码、彩票、统计抽样),我们必须生成无重复的随机数。 然而,如果你使用一般的Excel公式,你可能会得到重复的随机数。 在这篇文章中,我将讨论作为Excel中无重复的随机数生成器的9种方法,以及正确的解释。
下载实践工作手册
没有重复的随机数生成器.xlsx
在Excel中实现无重复的随机数发生器的9种方法
在前4种方法中,你会看到使用Excel 365中新发布的数组函数来生成无重复的随机数。 然而,其余的方法适用于所有Excel版本,特别是那些使用早期版本的Excel。 总而言之,你可以将这9种方法作为一个 Excel中的随机数发生器 没有重复的。
让我们来了解一下这些方法。
1.使用RANDARRAY函数
首先,我们将看到使用 RANDARRAY 函数来生成随机数。
ǞǞǞ RANDARRAY 而我们可以用这个函数来获得没有重复值的随机数。
例如,我想产生20个从1到200的无重复的随机数。
在这种条件下,公式如下
=RANDARRAY(10,2,1,200,TRUE)
在这里。 10 是行数。 2 是列的数量。 1 是最小值。 200 是最高值,最后是。 为真 是针对整数的。
然而,如果你想从一个大范围的数字中获得几个数字(例如从1到200/500中生成10/20个数字),这种方法将是富有成效的。 否则,它会产生重复的值。
阅读更多。 用Excel公式生成随机数(5个例子)
2.使用UNIQUE & RANDARRAY函数
其次,我们将利用应用的 獨特的 函数,以及 RANDARRAY 功能。
ǞǞǞ 獨特的 函数,在Excel 365、Excel 2021版本中可用,它从给定的数据集或单元格区域返回一个唯一的值列表。 因此,我们可以利用两个函数来产生不重复的随机数。
合并后的公式将是--
=unique(randarray(10,2,1,100,true))
在这里。 10 是行数。 2 是列的数量。 1 是最小值。 200 是最高值,最后是。 为真 是针对整数的。
⧬ 在上述公式中,我使用了 randarray(10,2,1,100,true) 作为一个数组,生成20个1到100之间的随机数。 后来,在 獨特的 函数将从生成的随机数中返回唯一的值。
3.应用SORTBY & SEQUENCE函数来生成无重复的随机数
第三,我们可以利用一些动态阵列函数的组合。
ǞǞǞ 序列 函数,仅适用于Excel 365 & Excel 2021版本,产生一个连续数字的列表(数组)。
假设,你想得到1到10的数字列表,你需要使用以下公式。
=SEQUENCE(10)
在这里。 10 是行数。
接下来是 绍特比 函数根据另一个数组的值以升序或降序排序。 因此,我们可以在使用该函数的同时使用 序列 &。 RANDARRAY 函数来创建10个没有重复的随机数。
=sortby(sequence(10),randarray(10))
⧬ 在解释公式的同时,我们可以说 RANDARRAY(10) 产生一个10个随机数的列表。 SEQUENCE(10) 语法生成一个10个数字的列表(连续的)。 而 SEQUENCE(10) 和 RANDARRAY(10) 被用作 阵列 争论和 by_array 中的参数。 绍特比 因为我们想按随机顺序对连续的数字列表进行排序。
阅读更多。 如何用Excel VBA生成随机数(4个例子)
4.利用INDEX函数作为无重复的随机数发生器
如果我们想产生一个没有重复的随机数列表,那么 索引 功能,以及之前讨论过的 RANDARRAY , 序列 &。 獨特的 同时,我们可以产生4种类型的随机数。
4.1. 产生随机整数
当你需要生成10个1到100之间的随机整数而不重复时,只需使用以下公式。
=index(unique(randarray(10, 1, 1, 100, true)), sequence(10))
⧬ 在解释公式的同时,我们可以说 SEQUENCE(10) 创建10个连续的数字。 randarray(10, 1, 1, 100, true) 产生10个1到100之间的随机整数。 因为 为真 用来生成整数。 后来,在 獨特的 函数将重复的值从生成的数字中删除。 最后,将 索引 函数返回10个随机整数,这些数字是由 序列 在这种情况下,输出 獨特的 函数作为一个数组使用。
4.2.产生随机十进制数字
如果你想生成10个不重复的随机十进制数字,你可以使用以下公式。
=index(unique(randarray(10, 1, 1, 100, false)), sequence(10))
在这里。 10 是行数。 2 是列的数量。 1 是最小值。 100 是最高值,最后是。 失败 是用于生成十进制数字。
4.3.产生一个整数的范围
同样,你可以使用以下公式生成一系列的随机整数。
=index(unique(randarray(20, 1, 1, 200, true)), sequence(10,2))
在这里。 20 是行数。 1 是列的数量。 1 是最小值。 200 是最高值,最后是。 为真 是用来生成整数的。
4.4.产生一个随机的十进制数字范围
对于生成1到100之间的随机十进制数字范围,请使用以下公式。
=index(unique(randarray(20, 1, 1, 100)), sequence(10, 2))
在这里。 20 是行数。 1 是列的数量。 1 是最小值。 200 是最高值,最后是。 失败 是用于生成十进制数字。
阅读更多。 在Excel中生成带小数的随机数(3种方法)
5.生成随机数的RAND & RANDBETWEEN函数
ǞǞǞ RAND 函数产生一个介于0到1之间的数字。 幸运的是,在使用该函数时,产生重复值的可能性很小。 RAND 如果你超过100000次的使用量,你可能会得到重复的值。
因此,如果你想生成唯一的小数,请使用该公式
=RAND()
此外,在 RANDBETWEEN 返回两个给定数字之间的整数。
例如,如果你想得到1到100之间的整数,你可以使用下面的公式。
=andbetween(1,100)
在这里。 1 是指 底部 争论和 100 是指 顶部 争论。
遗憾的是,在使用 "我是谁 "的时候,有很大可能会出现重复的数值。 RANDBETWEEN 在这种情况下,你可以使用 删除重复的内容 选项,从 数据 中的选项卡。 数据工具 选择单元格范围后,在色带中选择。
阅读更多。 如何在Excel中生成无重复的随机数(7种方法)
类似读物
- 在Excel中生成0和1之间的随机数(2种方法)
- 在Excel中随机生成5位数的数字(7个例子)。
- 在Excel中随机生成4位数的数字(8个例子)。
- 在Excel中从列表中生成随机数(4种方法)
- Excel中的随机数生成器(8个例子)
6.应用RAND & RANK函数作为随机数发生器
此外,你可以使用 排名 函数,该函数根据给定的数字列表返回一个数字的相对大小。 在这之前,利用以下方法创建一个随机十进制数字列表 RAND 功能。
=rank(b5,$b$5:$b$15)
在这里。 B5 是十进制数字的起始单元,而 B5:B15 是十进制数字的单元格范围。
阅读更多。 Excel VBA:无重复的随机数发生器(4例)
7.利用RANK.EQ & COUNTIF函数的组合
假设你想生成从10到50的无重复的随机数。
在这种情况下,你可以使用以下组合 RANK.EQ &。 COUNTIF 函数来生成无重复的随机数。 在这样做之前,用以下方法创建一个10到50之间的数字列表 RANDBETWEEN 功能。
现在,使用下面的公式-
=9+rank.eq(b5, $b$5:$b$15) + countif($b$5:b5, b5) - 1
在这里。 B5 是随机数的起始单元,而 B5:B15 是十进制数字的单元格范围。
⧬ 在解释公式的同时,我们可以说 COUNTIF 函数正在计算列表中可用的每个随机数。 而 RANK.EQ 返回每个随机数的相对位置(排名),最后,我们需要添加 9 因为我们想从10开始生成数字。
8.LARGE & MATCH函数作为Excel中的随机数发生器
此外,我们还可以使用组合的方式产生不重复的随机整数。 大的 和 匹配 职能。 大的 函数返回给定单元格范围或数据集中的第k个最大值。
=large($b$5:$b$15,row(b1))
在这里。 B$5:$B$15 是随机十进制数字的单元格范围,这些数字是用 RAND 功能。 ROW(B1) 指的是第1行。
接下来,我们要用以下公式找到创建的最大值的位置。
=match(c5,$b$5:$b$15,0)
在这里。 C5 是最大数字的起始单元。 5美元:15美元 是随机十进制数字的单元格范围,最后。 0 是为了获得完全匹配。
9.分析工具箱作为Excel中的随机数发生器
最后,如果你需要生成没有重复的随机数,而不是使用Excel公式,你可以使用以下方法 附加元件 的Excel。
对于使用 附加元件 请按照以下步骤操作。
⇰ 转到 文件 > 选择 .
⇰ 点击 附加元件 并选择 Excel插件 从下拉列表中选择选项 进展 .
⇰ 然后你会看到下面的对话框,并勾选在 分析工具包 并按 认可 .
⇰ 现在,选择 数据分析 选项,从 数据 中的选项卡。 分析报告 丝带。
⇰ 接下来,选择选项 随机数生成 并按 认可 .
⇰ 随即,你会看到以下对话框。
⇰ 然后根据你所需的输出选择选项。
⇰ 例如,我选择了 变量的数量 和 随机数的数量 作为 4 &。 10 分别生成具有以下特征的数字列表 10 行和 4 列。
更重要的是,我们必须选择 分布情况 作为 统一的 因为我们要避免重复的价值。
⇰以后。 10之间 和 30 意味着我想在这个范围内找到这个数字。
⇰ 最后,你需要选择 输出范围
做完所有的任务后,你会得到以下输出。
阅读更多。 带有数据分析工具和Excel函数的随机数发生器
一些常见的错误
然而,在Excel中使用上述公式作为无重复的随机数发生器时,你可能会面临以下错误。
错误的名称 | 何时发生 |
---|---|
#CALC! | 如果 獨特的 函数不能提取唯一值。 |
#SPILL! | 如果在溢出范围内有任何数值,其中 獨特的 函数将返回该列表。 |
#VALUE! | ǞǞǞ RANDARRAY 当最小值大于最大值时,函数就会发生。 |
总结
这就是你如何在Excel中使用上述方法作为随机数生成器,并且不重复。 现在,请根据你的喜好选择任何方法。 我希望这篇文章能减轻你的Excel之旅。