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) 

可能有更好的方法来做到这一点,但我试了这个,似乎工作。