获取Excel中单元格值的正负10%范围内的随机值

时间:2019-09-09 09:39:23

标签: excel random excel-formula

我有一列带有正数,并希望为它们中的每一个计算一个随机值,但是该随机值位于10%的范围内,因此,计算出的值最大或小于原始值的10%。

第二个要求是-结果必须大于零。

我尝试了如下所示的公式-但似乎不对,因为与第二个要求不匹配,有时我得到的值小于零。

=IF(RAND()<0.5,(B2+(B2/100)*90)-(RANDBETWEEN(B2-0.1,B2+0.1)),(B2-(B2/100)*90)+(RANDBETWEEN(B2-0.1,B2+0.1)))

1 个答案:

答案 0 :(得分:4)

如果您只处理整数,并且值位于B2中,为什么不直接使用RANDBETWEEN(B2*0.9, B2*1.1)。如果B2为正,则不能返回负数,因为0.9 *正数仍将为正。

如果要使用浮点数,则可以使用RAND()生成一个介于0和1之间的随机数,然后减去0.5并除以5得到一个介于-0.1和0.1之间的数字。然后,您可以将1加到原始值上,以得到0.9到1.1倍的值:

=(1+(RAND()-0.5)/5)*B2