下面以“要求生成25个随机数,使它们总和为2600”为例,详细展示 Excel 表格中如何使随机数相加成一个固定值的操作步骤。
1、首先得确定第一个随机数A1的值(注:A1的值=总和÷个数),本例中A1=2600÷25=104,但实际操作过程中往往取较大的数,并且取好一点的数值才会满足要求,本例中A1取值108;
2、在A2中输入:=INT($A$1*(0.9+0.1*RAND()));
3、把A2单元格右下角下拉至A24;【即将A2的公式复制到倒数第二个单元格】
4、在最后一个单元格输入:=总和-SUM(A1:A??)【注:“A??”表示倒数第二个单元格】,在本例中A25:=2600-SUM(A1:A24);
5、如产生的结果不满意,按快捷键“F9”刷新数据,直到满意数据为止。
最后说明一下所用到相关函数的功能,本例中用到的函数有--INT()、RAND()、SUM():
①INT():取整用的,有的时候数据要求结果是整数,就需要用到。当然,有的时候要求保留2位小数之类的,那么就需要结合ROUND()函数一起使用;
②RAND() :rand()函数可生成 0-1 之间(不包含 1)的随机小数,rand()变化成其他形式会有更多的随机数产生;【注:本例中用“0.9+0.1*RAND()”形式,意指要产生0.90~0.99之间的数,这样控制是为了能让最后结果差不多】
③SUM():求总和公式。
1、生成第一个随机数。在E2单元格内输入公式“=ROUNDUP(RAND()*2*(100-SUM($E$1:E1))/(11-ROW(E1)),1)”生成第一个随机数。
2、调整有效数字位数。下图红框中的数字控制着随机数有效数字位数,如果想保留三位有效数字,将其改成3即可。
3、拉伸填充E2到E10。点击E2右下角的黑点,鼠标变成十字形,拖往E10单元格,这样就填充了E2到E10单元格。
4、生成最后一个随机数。在E11单元格内输入公式“=100-SUM(A2:A10)”,生成最后一个随机数。
可以利用迭代计算来解决这个问题,本文以用公式生成10个和值为1000,且范围在80-120之间的随机整数为例,说明Excel中用迭代计算的解决方法。
1.启用迭代计算。在Excel2013中,单击“文件→选项→公式”,勾选“启用迭代计算”,根据实际需要调整“最多迭代次数”数量,本例为默认的“100”,将“误差”设为“0”。
2.在A2单元格输入公式: =RANDBETWEEN(80,120)
3.在A3单元格输入公式:=IF(SUM(A$2:A$11)=1000,A3,RANDBETWEEN(80,120))
4.然后拖动填充柄填充公式到A11单元格。这时即可得到10个和值为“1000”,且范围在80-120之间的随机整数。