Excel中无重复的随机数发生器(9种方法)

  • Share This
Hugh West

出于特定的目的(如电话号码、彩票、统计抽样),我们必须生成无重复的随机数。 然而,如果你使用一般的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之旅。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.