如果你想用函数rand生成一个随机数,并且它不会随着单元格计算而改变,你可以输入"兰特()"在编辑字段中,保持编辑状态,然后按f9将公式永久更改为随机数。但是,这样一来,这个网格就一直是最初生成的数,而不再是随机数了。如果你想用函数rand生成一个随机数,并且它不会随着单元格计算而改变,你可以输入"兰特()"在编辑字段中,保持编辑状态,然后按f9将公式永久更改为随机数。
但是,这样一来,这个网格就一直是最初生成的数,而不再是随机数了。
要保持随机函数不变,可以不按[
当用公式求解时,必然会发生变化。功能和技术可以一起使用。方法如下:如果想在a1:a10中生成1到10的随机整数,在a1:a10中输入公式int(rand()*101)。如果想连续生成随机数并保存,可以复制a1:a10,然后选中要粘贴的区域,右键选择性粘贴,选择数值,然后确认。此时,b列中的数据不是公式。如果只是想在原区域实现。比较好的办法是用宏来处理,也就是用vba随机生成,这样一运行就可以生成一个批处理。
可以用公式来做。比如在a1里放535,在a2里输入。
round(a$1/9if(rand()0.5,1,-1)*rand()*10,)
使用自动填充柄将a2公式下拉到a9和a10进行输入。
a1-sum(a2:a9)
意思是a2到a9产生的数在535除以9加或减10的范围内波动,a10是a2:a9的和减去535,以保证a2:a10的和等于535。
继续按f9键,看看a10的结果是否合适。如果合适,可以复制a2:a10的结果,有选择地粘贴,在其他地方修复。
如果你想在平均值正负5之间波动,就换成。
round(a$1/9if(rand()0.5,1,-1)*rand()*5,)
设置范围越大,a10越有可能超出范围,你只能敲f9几次。如果要生成小数,比如两位小数,公式就改成round(a$1/9if(rand()0.5,1,-1)*rand()*10,2)。