在INDEX和RANDBETWEEN中添加范围

工作公式:

= 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

我想在INDEXRANDBETWEEN添加500 to 1500的范围。

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

这是一种方法。

在空栏中input你的号码249,1999,4999,9999,10000,19999,50000 。 我已经删除了749因为它落在500-1500的范围内。 接下来键入500, 501 ,然后将其拖到1500 。 假设您在Col A中有他们,您也可以在单独的工作表中执行此操作。

所以,如果你从A1开始,那么值将上升到1008行,如下图所示。

![在这里输入图片描述

现在使用这个公式

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

在1和可能的数字之间确定一个随机整数。 如果小于或等于序列范围500到1500中的数字,即1001,那么我们告诉我们然后使用(500,1500)之间的rand。 如果初始数字大于我们的范围,那么我们从我们提供的数字列表中拉出一个随机数。 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)))