EXCEL中 如何让随机数满足两个条件

我晕啊我的意思是A1=随机数A2=A1/5B1=随机数B2=B1/5C1=随机数C2=C1/5但是又必须要A2+B2+C2=100=D1一般都是4舍5入所以照成D1有时候... 我晕啊 我的意思是
A1=随机数 A2=A1/5 B1=随机数 B2=B1/5 C1=随机数 C2=C1/5
但是又必须要 A2+B2+C2=100=D1
一般都是4舍5入 所以照成D1有时候是100.1而不是100 所以我需要的是在D1保证能够到100的情况下

产生随机数 现在应该明了了吧```虽然不是问题中的问题 但是也是我没说明白 不过还是谢谢你
展开
 我来答
huaniangme
2010-09-19 · TA获得超过859个赞
知道小有建树答主
回答量:631
采纳率:100%
帮助的人:559万
展开全部
例:你要0-1000的随机数
=RAND()*1000

如果你要211到239的随机数,则:
=211+RAND()*(239-211)

看了你的补充后,思路如下:
A1:C1 产生随机数
A2:C2 分别为A1:C1/5
D1=SUM(A2:C2)=100
即:SUM(A1:C1)=500

方法一:让A1:C1产生的随机数总和=500,且为5的倍数的整数,避免/5后产生小数位出现问题:
A1 =INT(RAND()*500/5)*5 产生一个0-500的随机数能被5整除
B1 =INT(RAND()*(500-A1)/5)*5 产生一个0-(500-A1)的随机数能被5整除
C1 =500-A1-B1 用前两个随机数得出第三个数
则:A2:C2,D1按你原公式不变

方法二:A1:C1都用RAND()产生一个随机数,在A2:C2计算出其总和与100的关系,判断A2:C2总和不等于100时C2舍或入,以全部取整为例:
A2 =IF(AND(COLUMN()=3,SUM(ROUND($A1/SUM($A1:$C1)*100,0),ROUND($B1/SUM($A1:$C1)*100,0),ROUND($C1/SUM($A1:$C1)*100,0))>100),ROUNDDOWN(A1/SUM($A1:$C1)*100,0),IF(AND(COLUMN()=3,SUM(ROUND($A1/SUM($A1:$C1)*100,0),ROUND($B1/SUM($A1:$C1)*100,0),ROUND($C1/SUM($A1:$C1)*100,0))<100),ROUNDUP(A1/SUM($A1:$C1)*100,0),ROUND(A1/SUM($A1:$C1)*100,0)))
公式可右拉到C2
如果要求出 A2:C2=A1:C2/5 时的A1:C1,则:
A3 =A2*5 公式右拉到C3,这三个数就是结果了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式