求助 随机数累计和=指定值的问题
excel吧
全部回复
仅看楼主
level 9
梁州倦客 楼主
单元格中随机产生n个数(如15),要求其和等于m(如365),每个数不可以重复,产生的最大数不大于平均数的150%,最小数不小于平均数的35%。求教EXCEL 高手。
2011年12月02日 13点12分 1
level 10
公式解有困难,须要辅助列,及多次按f9碰出准确结果。
vba则易办。
2011年12月02日 14点12分 2
level 9
梁州倦客 楼主
VBA不太会,用公式和函数配合辅助列能解决吗?
2011年12月03日 06点12分 3
level 10
理论上可以。
可是你提出的例子条件多,机率非常低,我做了个公式解,按了F9(模拟搅珠)几百次都没碰出来。
或者先试试放弃上下限,如何?
2011年12月03日 14点12分 4
level 10
以下公式解法只限:
笔数正确
总和正确
不重复
(不处理上下限)
A1 输入个数:16
A2 输入总和:365
A4 输入检查用公式
=IF(AND(SUMPRODUCT(1/COUNTIF(OFFSET(B1,,,A1,),OFFSET(B1,,,A1,)))=A1,SUM(B:B)=A2),"不重复,总和正确","X")
B1
=IF(ROW()>A$1,"",1+ROUND(IF(ROW()>A$1,"",SMALL(D:D,ROW())/SUM(D:D)*(A$2-A$1)),))
下拉至B30
D1
=IF(ROW()>A$1,"",RAND())
下拉至D30
输入完成后,可随时更改A1,A2。
多次按 F9 (模拟搅珠),直至A4出现 "不重复,总和正确" 为止。

2011年12月03日 14点12分 5
level 9
梁州倦客 楼主
虽没完全解决问题,但已是不错了。
非常感谢,受教了。
2011年12月04日 05点12分 6
1