怎样用Excel随机生成一组数,这组数和刚好等于2000。

 我来答
feiyun
2011-08-05 · 知道合伙人教育行家
feiyun
知道合伙人教育行家
采纳数:2687 获赞数:7907
从事培训工作12年 中级经济师

向TA提问 私信TA
展开全部

这组数的个数也是随机的吗? 

对于固定数量的随机数,如果你希望这组数看起来更随机一些,及均态分布,可以先生成一组任意随机数,并求和,然后使用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来实现了。 

一楼的方法虽然也行,但是从随机数分布上不是很好。

xxqlong
2018-07-31 · 知道合伙人软件行家
xxqlong
知道合伙人软件行家
采纳数:1487 获赞数:7116
15年以上网络规划、设计。 熟悉办公软件,掌握高级应用。

向TA提问 私信TA
展开全部
第一个数A1=RANDBETWEEN(1,2000)
A2=RANDBETWEEN(1,2000-SUM($A$1:A1))
向下复制公式,最后一个数=2000-以上数之和
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gtmei88
2011-08-05 · TA获得超过2234个赞
知道小有建树答主
回答量:716
采纳率:0%
帮助的人:254万
展开全部
不知道你的这一组数要求是多少个数字组成?
举个例子,这一组数有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。你看需要哪一种?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式