我有一列带有正数,并希望为它们中的每一个计算一个随机值,但是该随机值位于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)))
答案 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