应用题:某工厂产品需要进行质量检验。总共有100件产品需要检验。整批产品(100件)合格率必须控制在90%以上,否则整批产品为不合格。
每件产品得分必须大于10且小于20,超出这个范围的为不合格产品。
EXCEL应用:
如果在单元格内输入=INT(RAND()*(20-10)+10),EXCEL就会在这个单元格内随机产生一个大于10,并且小于20的数。
如果我在100个单元格内都填入相同的函数,那么这100个单元格都会随机产生一个在10-20范围内的数。
现在,我需要在这100个单元格内,随机抽取10个以下1个以上的单元格,让这10个以下1个以上的单元格内随机产生一个数。新产生的这个随机数,必须小于10大于5,或大于20小于25。
返回应用题:
也就是说,整批产品不可能100%合格,最高也只能99%。但是,合格率不能低于90%,如果过低,那么整批产品就不合格了。所以才有了“10个以下1个以上的单元格”这段话。
就合格产品而言,单件产品的得分很好办,控制在10-20以内就可以了。
就不合格产品而言,看起来似乎也很好办,只要超出10-20这个范围就可以了。事实上,25超出了这个范围,2500000也超出了这个范围,而后者得分却显得太离谱了。
也就是说,不合格产品必须超出10-20这个范围,并控制在5-25以内,以免得分太过离谱。所以才有“小于10大于5,或大于20小于25”这段话。
请问,这该怎么办?用函数如何解决?
每件产品得分必须大于10且小于20,超出这个范围的为不合格产品。
EXCEL应用:
如果在单元格内输入=INT(RAND()*(20-10)+10),EXCEL就会在这个单元格内随机产生一个大于10,并且小于20的数。
如果我在100个单元格内都填入相同的函数,那么这100个单元格都会随机产生一个在10-20范围内的数。
现在,我需要在这100个单元格内,随机抽取10个以下1个以上的单元格,让这10个以下1个以上的单元格内随机产生一个数。新产生的这个随机数,必须小于10大于5,或大于20小于25。
返回应用题:
也就是说,整批产品不可能100%合格,最高也只能99%。但是,合格率不能低于90%,如果过低,那么整批产品就不合格了。所以才有了“10个以下1个以上的单元格”这段话。
就合格产品而言,单件产品的得分很好办,控制在10-20以内就可以了。
就不合格产品而言,看起来似乎也很好办,只要超出10-20这个范围就可以了。事实上,25超出了这个范围,2500000也超出了这个范围,而后者得分却显得太离谱了。
也就是说,不合格产品必须超出10-20这个范围,并控制在5-25以内,以免得分太过离谱。所以才有“小于10大于5,或大于20小于25”这段话。
请问,这该怎么办?用函数如何解决?
给你一个我自己也不太满意的公式,但可以将就一下。结果尚可以,但感觉上有欠缺。
因你的问题涉及双重随机,三种情况的分数的随机没问题,但不合格控制在1-10个不太好把握。是一个波动的区间,没固定,随机函数在理论上是成立的,但实际中因为是随机的,什么都有可能,所以公式就不可能是100%的正确了。
我设定的不合格比例占2%,即>0.99和<0.01部分,而不是1%1-10%。下面的0.01,0.99,你可以调整,
我经过测试,虽然只定了2%,但因是随机的,少时没有,多时仍有8个,故,若框定到5%,如调整为0.025,0.975,超出10个的概率就大了。
=IF(RAND()<0.01,INT(RAND()*5+5),IF(RAND()<0.99,INT(RAND()*10+10),INT(RAND()*5+20)))
这样是否可以:
=IF(ROW()<=10,IF(RAND()<0.34,INT(RAND()*5+5),IF(RAND()<0.66,INT(RAND()*10+10),INT(RAND()*5+20))),INT(RAND()*10+10))
反正是随机的,就让前10个三种情况机会均等,后90个一定分布在10-20。
你可以调整0.34与0.66。
结果感觉太集中不太好的话,再用一个辅助列的随机函数排序就打乱了。
因你的问题涉及双重随机,三种情况的分数的随机没问题,但不合格控制在1-10个不太好把握。是一个波动的区间,没固定,随机函数在理论上是成立的,但实际中因为是随机的,什么都有可能,所以公式就不可能是100%的正确了。
我设定的不合格比例占2%,即>0.99和<0.01部分,而不是1%1-10%。下面的0.01,0.99,你可以调整,
我经过测试,虽然只定了2%,但因是随机的,少时没有,多时仍有8个,故,若框定到5%,如调整为0.025,0.975,超出10个的概率就大了。
=IF(RAND()<0.01,INT(RAND()*5+5),IF(RAND()<0.99,INT(RAND()*10+10),INT(RAND()*5+20)))
这样是否可以:
=IF(ROW()<=10,IF(RAND()<0.34,INT(RAND()*5+5),IF(RAND()<0.66,INT(RAND()*10+10),INT(RAND()*5+20))),INT(RAND()*10+10))
反正是随机的,就让前10个三种情况机会均等,后90个一定分布在10-20。
你可以调整0.34与0.66。
结果感觉太集中不太好的话,再用一个辅助列的随机函数排序就打乱了。
回答:
2007-10-27 04:19
修改: 2007-10-27 10:56
修改: 2007-10-27 10:56
提问者对答案的评价:



感谢两位朋友的解答。你们提供的答案都不完全正确,但都很接近我的要求,但很可以我只能选择一个正确答案。
你们的思路我都看了一下,觉得各有特点。我又想到:根本不需要用函数来规定不合格品得分的最小、最大值,只需要用“单位元格式”控制在两位数就可以了。
不过两位的解答还是给我以启发。
你们的思路我都看了一下,觉得各有特点。我又想到:根本不需要用函数来规定不合格品得分的最小、最大值,只需要用“单位元格式”控制在两位数就可以了。
不过两位的解答还是给我以启发。
本文介绍了如何在Excel中利用概率设定,自动填充符合特定分布的随机数。这对于产品测试、模拟运算等场景非常实用,可以高效地生成各种随机数据进行分析。
最佳答案


1091

被折叠的 条评论
为什么被折叠?



