EXCEL中 如何让随机数满足两个条件
展开全部
例:你要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,这三个数就是结果了
随机数
=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,这三个数就是结果了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询