Table of contents
虽然在Excel中没有合适的或单一的函数可以从列表中提取随机数,但有许多方法可以在不同函数的帮助下手动构建公式,从给定的数据列表中生成随机数。 在这篇文章中,你会通过适当的图示了解所有可用的方法,从一系列的单元格中提取随机数。
下载实践工作手册
你可以下载我们用来准备这篇文章的Excel工作簿。
从列表中获取随机数.xlsx在Excel中从列表中生成随机数的4种合适方法
1.使用INDEX和RANDBETWEEN函数从列表中获得一个随机数
ǞǞǞ 索引 函数返回一个给定范围内特定行和列的交叉点的单元格的值或引用。 RANDBETWEEN 函数返回两个指定数字之间的随机数。 通过使用RANDBETWEEN函数作为第二个参数 (行号) 的INDEX函数,我们可以从一个列表中抽出一个随机值或数字。
在下面的图片中。 B栏 有十个按顺序排列的整数值。 在 细胞D5 ,我们将从列表中提取一个随机数。
输出中的所需公式 细胞D5 将是。
=index($b$5:$b$14, randbetween(1, 10))
在按下 进入 ,该公式将返回列表中的任何数字。 B栏 .
现在,如果你想获得更多的随机数,可以使用 填充手柄 选项,以填补从 细胞D5 你会得到更多的随机数,在 D栏 但如果你不希望看到重复的数值是随机的,那么你可以转到方法4,其中的公式已经被定义为不显示任何数值超过一次。
阅读更多。 Excel中的随机数生成器
2.使用INDEX、RANDBETWEEN和ROWS函数从Excel的列表中获取随机数
在第一种方法中,我们定义了上限和下限的 RANDBETWEEN 在这一节中,我们将借助RANDBETWEEN函数的 润泽 这里,ROWS函数将计算单元格范围内存在的行数。 B5:B14 并将计数的值分配给RANDBETWEEN函数的上限。
因此,所需的公式在 细胞D5 应该是。
=index($b$5:$b$14,randbetween(1,rows(b5:b14))
在按下 进入 和自动填充下的几个单元格 D5 ,你会看到如下图所示的输出。
在这个公式中,你可以使用 COUNTA 函数,而不是 润泽 这两个函数都会计算单元格范围内的行数。 B5:B14 用COUNTA函数代替ROWS函数,公式会是这样的。
=index($b$5:$b$14,randbetween(1,counta(b5:b14))
而结果将类似于本节中的图片所示。
阅读更多。 Excel中无重复的随机数发生器
3.使用CHOOSE和RANDBETWEEN函数从列表中提取随机数
你也可以结合 选择 和 RANDBETWEEN CHOOSE函数根据指定的序列号从列表中返回数值。 但CHOOSE函数的一个问题是,你不能在函数中插入任何单元格范围或数组。 相反,你必须在函数中手动输入所有数据或单元格引用,这将需要时间。
在 细胞D5 ,在CHOOSE和RANDBETWEN函数的帮助下,从一个列表中提取随机数所需的公式将是。
=choose(randbetween(1,10),$b$5,$b$6,$b$7,$b$8,$b$9,$b$10,$b$11,$b$12,$b$13,$b$14)
在按下 进入 并填入其他一些单元格,你会得到如下截图所示的随机数字。
4.用Excel中的INDEX和RANK.EQ函数从列表中生成一个随机数
前面三种方法在从列表中提取随机值时,有时负责显示重复的值。 但是,借助于 索引 和 RANK.EQ 函数,现在我们将能够从列表中提取并显示一个数字,只需一次。
但在开始使用这个组合公式之前,我们必须先准备一个辅助列,在 C列 与 RAND RAND函数将返回0到1之间的随机十进制值。 RANK.EQ 除非你指定顺序,否则函数将按降序排列这些小数值。
现在根据这些排名,所有的值从第一个开始,在 细胞C5 ,INDEX函数将从单元格的范围内提取数字。 B5:B14 .
因此,输出中所要求的公式是 细胞E5 将是。
=index($b$5:$b$14,rank.eq($c5,$c$5:$c$14))
新闻 进入 ,自动填充其他一些单元格下的 E5 而你将从以下方面获得随机值 B栏 你将能够填满单元格,直到 E14 并在没有任何重复的情况下找到随机值,也没有看到任何错误。 但如果你的步幅超过了 E14, 的细胞,从 E15 将显示 #N/A 错误。
结论性的话语
我希望,上面提到的这四种方法现在能帮助你在Excel表格中应用它们,同时从列表中生成一些随机数。 如果你有任何问题或反馈,请在评论区告诉我。 或者你可以在本网站上查看我们与Excel函数有关的其他文章。