Excel一组选项中的随机数

在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) 

$A$7:$B$16就是你的清单所在的地方。 如果您确实需要隔离它,它可以位于不同的选项卡或单独的文件中。

你也可以创build一个自定义的VBA函数,但我认为这超出了你正在寻找的。

假设您已经在电子表格的G行填充了行1-5,并且要随机显示值。 您可以使用=INDIRECT("G"&RANDBETWEEN(1,5))随机显示其中任何一个。

`INDIRECT`可以让你使用一个string来引用一个单元格。
既然你想要单元格“G1” – “G5”,我们从“G”开始。
并将“G”与下一个函数的值组合在一起。
然后RANDBETWEEN函数会给我们一个我们提供的两个参数(在这个例子中是1到5)之间的一个数字。

让我知道如果这有助于:)

怎么样:

 =SMALL({array containing numbers},RANDBETWEEN(1,COUNT({array containing numbers}))) 

例如,如果你有一个包含你想在$B$2:$B$6使用的5个数字的数组$B$2:$B$6

 =SMALL($B$2:$B$6,RANDBETWEEN(1,COUNT($B$2:$B$6))) 

这将返回数字列表中的随机位置,数字的总频率是数组的定义大小。