
怎样用Excel随机生成一组数,这组数和刚好等于2000。
3个回答
展开全部
这组数的个数也是随机的吗?
对于固定数量的随机数,如果你希望这组数看起来更随机一些,及均态分布,可以先生成一组任意随机数,并求和,然后使用2000来乘以各个数在这个和中的比例。
A1输入 =rand()
B1输入 =ROUND(2000*A1/SUM($A:$A),0)
选中A1B1,然后向下填充到第几行就是几个数.B列则为需要生成的数据.
但是我们注意到,生成的B列有一定几率其和不等于2000,原因就是round函数导致的精度问题,解决方法是其中一个数人为调整一下,或者是选中B列,多次按F9重新计算,看看状态栏刚好等于2000时,取其值。
如果需要改进,那么A列不变,B1输入 =2000-sum(B2:B65536)
B2之后才输入=ROUND(2000*A2/SUM($A:$A),0)并填充。
如果数的个数也需要随机,那么需要VBA来实现了。
一楼的方法虽然也行,但是从随机数分布上不是很好。
2018-07-31 · 知道合伙人软件行家
关注

展开全部
第一个数A1=RANDBETWEEN(1,2000)
A2=RANDBETWEEN(1,2000-SUM($A$1:A1))
向下复制公式,最后一个数=2000-以上数之和
A2=RANDBETWEEN(1,2000-SUM($A$1:A1))
向下复制公式,最后一个数=2000-以上数之和
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你的这一组数要求是多少个数字组成?
举个例子,这一组数有5个单元格的数据组成
1.什么都不考虑
分别在其中的4个单元格中,输入公式=rand()*2000,
如果不想要小数,则输入=int(rand()*2000)
在剩一下一个单元格,输入=2000-sum(其他四个单元格),
但这样的话,不排除最后一个单元格是负数。
2.假设不能为负数
如果不想出现负数,则才其他4个单元格的*2000改成*400,
但这样会出现每个单元格的数据都不大于400了!
3.不为负数的任意整数型
假设5个单元格分别为A1,A2,A3,A4,A5
在A1中输入=int(rand()*2000)
在A2中输入=int(rand()*(2000-A1))
在A3中输入=int(rand()*(2000-A1-A2))
在A4中输入=int(rand()*(2000-A1-A2-A3))
在A5中输入=2000-A1-A2-A3-A4
总的结果都为2000。你看需要哪一种?
举个例子,这一组数有5个单元格的数据组成
1.什么都不考虑
分别在其中的4个单元格中,输入公式=rand()*2000,
如果不想要小数,则输入=int(rand()*2000)
在剩一下一个单元格,输入=2000-sum(其他四个单元格),
但这样的话,不排除最后一个单元格是负数。
2.假设不能为负数
如果不想出现负数,则才其他4个单元格的*2000改成*400,
但这样会出现每个单元格的数据都不大于400了!
3.不为负数的任意整数型
假设5个单元格分别为A1,A2,A3,A4,A5
在A1中输入=int(rand()*2000)
在A2中输入=int(rand()*(2000-A1))
在A3中输入=int(rand()*(2000-A1-A2))
在A4中输入=int(rand()*(2000-A1-A2-A3))
在A5中输入=2000-A1-A2-A3-A4
总的结果都为2000。你看需要哪一种?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询