excel问题:如何在指定区域内随机产生(2.8-3.2)范围内的任意数?还有(-0.5到0.3)范围的任意数

,麻烦说下原理,让我好取其它的数值

=ROUND(RAND()*a+b,c)
上式中a、b、c均为数值
RAND()是一个从0到1随机数生成的函数,*a就是为了限制随机数变化的区间;
+b是确定随机数起始值;ROUND()是个四舍五入的函数,RAND()*a+b就是要进行
四舍五入的数值,c是小数点后位数。
例如:随机产生(2.8-3.2)范围内的任意数(小数点后保留2位)公式为
=ROUND(RAND()*0.4+2.8,2)
另一个就是=ROUND(RAND()*0.8-0.5,2)
在指定区域的左上角输入上述公式,然后用鼠标拖到你想要的范围,就可以了!
注意每次拖拉后,随机数都会变化,拖拉一次,计算一次!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-06
(2.8-3.2)范围内的任意数
=LEFT((RAND()*0.4+2.8),3)*1
(-0.5到0.3)范围的任意数
=LEFT(RAND()*0.8,3)-0.5
取任意数值范围公式:=RAND()*(上限-下限)+下限
=LEFT((RAND()*0.4+2.8),3)*1就是取最小2.8,最大3.2,left是截取取得的任意数的前三位(保留一位小数),*1是由于截取到的数是文本格式,乘1后即转换为数字格式。
同理,后面的公式是取最小0,最大0.8的数,减0.5后得到最小-0.5,最大0.3
如果不要保留一位小数,可是任意位小数的话,公式前面的left函数就不要了。
第2个回答  2008-09-06
=int(rand()*5)/10+2.8

=int(rand()*9)/10-0.5

rand()用于产生0-1之间的随意数字
公式中的5或9为上限-下限+1
int函数,用于舍弃小数部分取整
/10,用于得到小数
2.8和-0.5为数据下限本回答被提问者采纳
第3个回答  2008-09-07
1、=RANDBETWEEN(28,32)/10
2、=RANDBETWEEN(-5,3)/10
第4个回答  2008-09-06
EXCEL自带了VB编程工具