Excel中基于概率的随机数
我怎样才能build立一个随机数发生器,根据概率计算一个随机数?
例如,我有以下数字,他们将发生在单元格A1和B1中的概率:
100 5% 75 10% 50 42% 30 30% 15 5% 0 8%
因此,该公式将“随机”返回总数为“15”的5%。
开销略less:
制作一个你的价值观的参考图表,以及一个运行总概率:
CDE 100 5% 0 75 10% 5% 50 42% 15% 30 30% 57% 15 5% 87% 0 8% 92%
然后在这个图表上查找一个0-1的随机数字。 =LOOKUP(RAND(),$E$2:$E$7,$C$2:$C$7)
我生成了5224个数字,并生成了这个结果的数据透视表。 刷新导致百分比在目标周围摇摆不定,但所有的尝试看起来都不错。
Row Labels Count Percentage Target 0 421 8.06% 8% 15 262 5.02% 5% 30 1608 30.78% 30% 50 2160 41.35% 42% 75 490 9.38% 10% 100 283 5.42% 5% Grand Total 5224 100.00%
或者你可以用两个单元格和一个长的if语句来实现: =RAND()
=IF(A9<0.05,100,IF(A9<0.15,75, ... 0))...
该function作为分析工具包的一部分添加。您可以在Excel选项 – >添加 – >pipe理添加插件中find此function。
你想要随机数生成,然后select“离散”分布。 input到这是您在您的文章中提供的表格。
“离散性由值和相关概率范围表征,范围必须包含两列:左列包含值,右列包含与该行中的值相关的概率,概率之和必须为1。
jsarma的build议也是一个好的….
你可以使用vlookup和randbetween。
你会想使用randbetween。 http://office.microsoft.com/en-us/excel-help/randbetween-HP005209230.aspx
vlookup: http : //office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx
填写一个连续的数字1-100列。 用5 100,10 75,42 50等填充另一栏
现在…
=VLOOKUP(RANDBETWEEN(1,100),A1:B100,2)
可能有更好的方法来做到这一点,但我试了这个,似乎工作。