回答正确加200分. EXCEL中如何随机产生多组数据,要求每组数据之和等于1

来源:百度知道 编辑:UC知道 时间:2024/09/21 18:37:50
对于第一个答案 怎么保证前面14个数据之和小于1呢?

方法:
在第一个单元用rand()生成第一个随机数a1
生成第二个随机数a2,要求a1+a2相加后介于a1至1之间
生成第三个随机数a3,要求a1+a2+a3相加后介于a1+a2至1之间
...
以此类推,使到随机数ai无限接近于0,同时a1+a2+a3+...+ai无限接近于1
最后一个数是a(i+1),由1-sum(a1~ai)所得。

若要生成 a 与 b 之间的随机实数,使用RAND()*(b-a)+a

按照以上方法,公式如下,此例中数组中包含9个数:
=RAND()
=RAND()*(1-A1)
=RAND()*(1-A1-A2)
=RAND()*(1-A1-A2-A3)
=RAND()*(1-A1-A2-A3-A4)
=RAND()*(1-A1-A2-A3-A4-A5)
=RAND()*(1-A1-A2-A3-A4-A5-A6)
=RAND()*(1-A1-A2-A3-A4-A5-A6-A7)
=1-SUM(A1:A8)
=SUM(A1:A9)

得出类似如下结果:
0.727949828
0.159249145
0.0724419
0.034414165
0.002275967
0.000309885
0.002037286
0.001182939
0.000138886
以上合计为1

如需更多数可以按此公司添加下去。

记住200分呀!

假设你需要一组为15个数据,那么前14个采用rand()函数随机生成,第15个数据=1-sum(1,2,...14)