Excel,把一个数分成多个随机的数字,随机数的总和等于总数。

比如:7个月的用水量是13吨,然后随机生成这7个月的单月用水量。保留两位小数

Excel 选项,公式 ,启用  迭代运算,最多迭代次数 设多一点

A1输入:  

=IF(AVERAGE($A$1:$A$7)=13,A1,RANDBETWEEN(1100,1500)/100)

结果 11-15之间2位小数  (1100-1500 之间 除以100),下拉公式至A7, 结果固定,  重新下拉 生成新的组合,

追问

这个生成的随机的数字之和得要等于13

追答

噢, 改成Sum 

=IF(SUM($A$1:$A$7)=13,A1,RANDBETWEEN(100,300)/100)

追问

是这个意思,不过 我用的2003,打复制这个公式以后生成的全是0啊,

追答

都2020年了 还用2003 ,

=IF(SUM($A$1:$A$7)=13,A1,1+ROUND(RAND()*2,2))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-29

如图:

1、在B2输入用水量13,

2、设有宿舍12间,数量由你确定,编号 在A4:A15;

3、在B4输入随机数函数=RAND(),下拉复制至B15;

4、在B16输入公式:=SUM(B4:B15)求和;

5、在C4输入公式 :=ROUND(B$1*B4/B$16,2),下拉复制到B14;

6、在C15输入公式:=B1-SUM(C4:C14),这样是为了保障随机数的总和等于总数;

7、在C16输入公式:=SUM(C4:C15)

本回答被网友采纳
第2个回答  2017-01-09
修改一下,还行。
假设,“一个数字”在A1。“分成25个随机数字”(就设置为整数吧):
B1输入
=ROUND(RAND()*(A$1-25)+1,0)回车;
B2输入
=ROUND(RAND()*(A$1-SUM(B$1:B1)+ROW(A1)-25)+1,0)
回车并向下填充至B24;
B25输入
=A1-SUM(B1:B24)回车。
公式采用随机函数,可按F2+Enter更新运算结果!
(随机数字之和等于总数:你可以在另一单元格输入=SUM(B1:B25)做检验)
第3个回答  2017-01-09

不知道份数是否固定,下例为把一个数随机分为4份:

相似回答