excel设置一列数值在另一列数值的一定范围内随机出现

如图 我想在J列和M列设置随机的数值,这个数值在G列数值的1.05到1.15倍之间,应该用什么公式,结果保留两位小数。比如说G列数值是100,现在通过公式让J列和M列随机生成105.32,109.27这些符合要求的数值。

如果你能接受J列和M得到数字老是发生变化的话,就在已有7个回答中挑选一个能满足得到的数字在要求范围内的公式;而如果你希望J列和M列产生随机数后,数字固定下来,那么就得用点技巧。因为随机函数是易失性函数,得到的数字在工作表中有任何操作,如输入数据等,都会发生变化。一般情况这应该不能满足一个正规的工作表的要求。

要使随机函数得到数据固定下来,先要在选项的公式选项卡中,把“启用迭代计算”打上对勾后确定。如图

G2=IF($G2="","",IF(OR(J2={"",0}),ROUND((RAND()*(1.15-1.05)+1.05)*$G2,2),J2))

把公式复制到M2

如果G2中已有数据,M2和G2将会是相同数据,原因就是本公式把得到的随机数固定了。删除G2的数字,重新输入后,M2和G2得到数字一般就会不同了(相同的概率极低)。所以可先向下拖若干列,因为G列没有数字,J列和M列有公式的单元格都会显示为空。而当G列输入数字时,公式就会按要求的范围得到随机数字,并不再变化。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-15
在单元格中输入=round(rand()*(10-1)+1,0),然后自动填充就可以了,公式中的数值是可以换的,10表示数字范围的最大值,1表示范围的最小值,想要什么范围自己填就好了,round是四舍五入,最后的0是表示小数点后位数,如果改成1的话是就表示四舍五入到十分位,依次类推。希望能帮到你追问

G列的数值是变动的,从零点几到几十万随机变动的。不是1-10.

第2个回答  2019-03-15
F2输入公式:=(INT(RAND()*(15-5))+5)/100*(G2+1)追问

没懂什么意思,也并没有什么用

追答

F2输入上述公式并下拉就可以了。

第3个回答  2019-03-15

=RANDBETWEEN(G1*105,G1*115)/100

=G1*RANDBETWEEN(105,115)/100

第4个回答  2019-03-15
=RANDBETWEEN(G2*1.05,G2*1.15)追问

这个只能显示到整数,有可以显示到小数点后两位的公式吗

追答

用这个公式吧
=ROUND(RAND()*(G2*1.15-G2*1.05)+G2*1.05,2)

追问

666

相似回答