在 MS Excel 中,如何从一组 5 个选项中随机计算一个数字?
例如,在单元格 B1 中,我希望有一个随机数,即 15、30、50、75 或 100。
我想在单元格 B1:B100 中完全随机输出这 5 个数字。
我在想我可以使用 rand 在单元格 A1 中生成一个随机数,然后使用一系列 > 或 < IF 语句仅输出上面这些数字中的一个。
在 MS Excel 中,如何从一组 5 个选项中随机计算一个数字?
例如,在单元格 B1 中,我希望有一个随机数,即 15、30、50、75 或 100。
我想在单元格 B1:B100 中完全随机输出这 5 个数字。
我在想我可以使用 rand 在单元格 A1 中生成一个随机数,然后使用一系列 > 或 < IF 语句仅输出上面这些数字中的一个。
这个公式可以做到:
=CHOOSE(RANDBETWEEN(1,5),15,30,50,75,100)
如果要使用一系列单元格:
=INDEX($B$2:$B$6,RANDBETWEEN(1,5))
一种快速简便的方法是首先制作一个这样的查找列表:
然后在您的列中执行如下公式:
=VLOOKUP(ROUND(RAND()*10,0),$A$7:$B$16,1,FALSE)
where$A$7:$B$16
是您的列表所在的位置。如果您确实需要隔离它,它可以位于不同的选项卡或单独的文件中。
您也可以创建自定义 VBA 函数,但我认为这超出了您的要求。
假设您已使用要随机显示的值填充了电子表格 G 行中的第 1-5 行。您可以使用=INDIRECT("G"&RANDBETWEEN(1,5))
随机显示其中的任何一个。
`INDIRECT` 允许您使用字符串引用单元格。
由于您想要单元格“G1”-“G5”,我们从“G”开始。
& 将“G”与下一个函数的值结合起来。
然后 RANDBETWEEN 函数将为我们提供一个介于我们提供的两个参数之间的数字(在本例中为 1 到 5)。
让我知道这是否有帮助:)
怎么样:
=SMALL({array containing numbers},RANDBETWEEN(1,COUNT({array containing numbers})))
例如,如果您有一个包含要使用的 5 个数字的数组$B$2:$B$6
=SMALL($B$2:$B$6,RANDBETWEEN(1,COUNT($B$2:$B$6)))
这将返回数字列表中的随机位置,数字的总频率被定义为数组的大小。