在INDEX和RANDBETWEEN中添加范围

时间:2016-08-03 08:29:39

标签: excel excel-formula

工作公式:

  

= INDEX({249,749,1999,4999,9999,10000,19999,50000},RANDBETWEEN(1,COUNTA(249,749,1999,4999,9999,10000,19999,50000)))

需要修改

249,749,1999,4999,9999,10000,19999,50000已修复INDEX,可轻松RANDBETWEEN

我想在500 to 1500INDEX中添加一系列RANDBETWEEN

有没有办法在此公式中包含500 to 1500的范围?如果没有,那么根据我的需要创建公式的正确方法是什么。

2 个答案:

答案 0 :(得分:3)

这是一种方式。

在空列中,输入您的号码249,1999,4999,9999,10000,19999,50000。我已移除749,因为它位于500-1500范围内。接下来输入500, 501,然后将其向下拖动到1500。假设您在Col A中有它们。您也可以在单独的工作表中执行此操作。

因此,如果您从A1开始,则值将上升到行1008,如下图所示。

![enter image description here

现在使用此公式

=INDEX(A1:A1008,RANDBETWEEN(1,1008))

答案 1 :(得分:2)

=IF(Randbetween(1,1009)<=1001,randbetween(500,1500),INDEX({249,749,1999,4999,9999,10000,19999,50000},randbetween(1,8)))

在1和可能数量之间确定随机整数。如果它小于或等于500到1500的连续范围内的数字,即1001,那么我们告诉我们使用randbetween(500,1500)。如果初始数字大于我们的范围,那么我们从我们提供的数字列表中提取一个随机数。 8是静态数组中提供的数字的数量。

现在,如果我没记错的话,randbetween是一个易变的函数。因此,随着工作簿中的某些内容发生变化,此公式将重新计算并提供新的数字。

更新:

由于您希望将500-1500范围限制为35%的时间,请尝试使用以下任一公式:

=IF(Randbetween(1,100)<=35,randbetween(500,1500),INDEX({249,749,1999,4999,9999,10000,19999,50000},randbetween(1,8)))

=IF(Rand()<=0.35,randbetween(500,1500),INDEX({249,749,1999,4999,9999,10000,19999,50000},randbetween(1,8)))