请教excel高手关于excel随机函数的问题

一共有245个币,分给70个人,用excel随机生成满足上述要求的,分别分到1个币,2个币,一直到10个币的人数及币值。我在a列单元格中分别输入币值数1,2,……10,b列随机产生人数,满足之和为70,而c列为对应币值与人数之积,满足之和为245。不知我说明白没,请教excel高手。
其实也可以这么看,这相当于求一个十元一次方程,但至少前九个未知数得先给出,最后一个未知数才能求出啊,所以这九个未知数得随机给出,最关键的就是这第十个未知数,反求出来后不能为负值。
从1相加到10最大的和是55,现在不是求1-10的和,而是另一数组就是随机生成的数组之和为70,而所生成的数组与1-10的数组对应乘积之和为245。

总思路:(按每人至少分得一个考虑)
1、在假设的70×1的单元格区域内生成184个(=254-70)单元格坐标(x_i),其中x_i=1,2,...70;i=1,2,...,184。
2、统计1-70这70个整数在x_i中出现的次数,代表每人分得的币数。实际数量需人均加1。
3、统计币数为1-10的人数。
4、验证总人数、总币数。

具体步骤:(设每人至少分得一个币)
1、选中A1:A184,在A1中输入如下公式后填充至其余单元格:
=int(70*rand()+1)或=randbetween(1,70)

2、在B1:B70生成整数序列1-70,代表人数的编号。

3、选中C1:C70,在C1中输入如下公式后填充至其余单元格:
=countif($A$1:$A$184,B1)+1

4、统计相同硬币数的人数:
(1)选中D1:D10,产生1-10的整数序列,代表可能分得的币数;
(2)选中E1:E10,在E2中输入如下公式后填充至其余单元格:
=countif($C$1:$C$70,D1)

5、执行验证:
(1)对总人数求和:在E11中输入公式:=sum(E1:E10),为10则有效;
(2)对总币数求和:在F11中输入公式:=sumproduct($D$1:$D$10,$E$1:$E$10),为254则有效。

注:可在任意空白单元格位置按Delete刷新数据,由于随机性可能使结果有偏差,多刷新几次就可以了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-31
可以用excel的VBA来编一个程序来解决这个数学问题,首先定义一个1 到 70 的数组arr。代表这70个人。然后做一个1到245的循环。在每次循环中随机产生一个1到70的数。假如产生55,那arr(55)就加上1.然后查看这个数组中,值为1有多少个。值为2有多少个。。。值为10有多少个。值为0有多少个。这就分别代表有多少人分到了1枚钱币,2枚钱币,0枚钱币。。。。以此类推。(这里包括了0枚钱币,如果每人至少分到一枚的话略有不同。只是在循环的的时候是1到245-70之间循环。最后在结果加上1就行了。。如果每人最多分到10枚钱币,也稍有改动。就是当arr(x)=10的时候随机数又产生了x的话就令他重新产生一个随机数。。。。不知道你要求具体是什么,所以没有直接做出来。把思路给你了。。。
第2个回答  2010-12-31
你这个有问题吧,从1相加到10最大值是45怎么得到70呢?,如果是求一组数字的某几个的和等于另外一个数,这个我可以给你一个vba的,就是1-19任意相加(非重复)得到70的就有5000多个,你说如此庞大怎么计算
第3个回答  2010-12-31
...说的很明白,你这个很像是一个求未知数的问题,不是求随机数的。。。

excel随机函数怎么用?
1、首先在excel表格的单元格内输入随机函数公式:=RAND()。2、点击回车即可生成一个随机数字,该数据的大小范围无法控制,需要将其设置在一定范围内。3、例如需要将其设置为数字5到数字15之间,可以输入随机函数:=RAND()*(15-5)+5。4、点击回车,即可将输入的公式生成计算结果,在下图中可以看到生成...

excel随机函数怎么用?
1、在excel表格的任意单元格中输入随机函数:=RAND()。2、点击回车,即可生成随机函数数据。3、需要将此随机数值固定下来,可以选中该单元格,按下“Ctrl+C”执行复制操作。4、然后在其他单元格点击鼠标右键,在弹出的选项汇总选择“粘贴数值”。5、即可将复制的随机数值粘贴到新的单元格中了,此时可以...

请教excel高手关于excel随机函数的问题
1、在假设的70×1的单元格区域内生成184个(=254-70)单元格坐标(x_i),其中x_i=1,2,...70;i=1,2,...,184。2、统计1-70这70个整数在x_i中出现的次数,代表每人分得的币数。实际数量需人均加1。3、统计币数为1-10的人数。4、验证总人数、总币数。具体步骤:(设每人至少分得一...

excel随机函数的使用方法
方法\/步骤1RAND()只能显示0-1之间的随机数,但是加入我们用RAND()*90,那么是不是就是0-90之间的随机数了呢,这个应该不难理解,同时我们在用RAND()*90+10是不是就是10-100之间的随机数了呢。2意思就是如果我们要取a-b之间的随机数,那么我们就只需要输入【=RAND()*(b-a)+a】就可以了。

Excel随机函数抽样问题
一个参考意见:假如50个名字写在一列里,新建一列,生成随机数,按随机数列排序,最大或最小的十个就算抽中了。

EXCEL不重复随机函数问题
1,在你要随机的数据前加两列辅助列 2,在第二列辅助列用rand函数来产生随机数 =rand()3,在第一列辅助列使用rank来排名 最后利用查找函数来求筛选。图片中的公式是是数组公式,得以ctrl+shift+回车 结束。也可以改成=VLOOKUP(ROW(A1),$A$1:$D$10,3,0)&" "&VLOOKUP(ROW(A1),$A$1:$D...

excel中的随机函数问题?
top参数不能小于bottom参数,否则RANDBETWEEN函数将返回错误值“#NUM!”。这是函数规则。=RANDBETWEEN(MIN(O6,Q6),MAX(O6,Q6))

excel随机函数rand怎么用
步骤如下:1.选择单元格,并输入=rand()2.就可以看到单元格出现随机数了 3.按F9可重新生产随机数

excel中随机函数问题
如果要生成a和b之间的随机实数,就用=RAND()*(b-a)+a,如果是要整数就用=INT(RAND()*(b-a))+a 你这个实例,应该是在9~11之间的数值吧 =RAND()*2+9

excel中的随机函数问题
C列公式为:=D2-A2*2-B2 A、B、D为随机函数,如下图:

相似回答
大家正在搜