如何在Excel中将“频率”实现为随机数生成器?

假设我有三个项目,每个都有一个1-3的指定频率,其中1为“低”,3为“高”。

Item A - 1 Item B - 2 Item C - 3 

在重新计算表单时,我想要一个单元格随机显示这些项目中的一个,但根据它们的频率。

(即如果我计算6次,我会期望项目A出现一次,项目B出现两次,项目C出现三次。)

理想情况下,我也会强制每次使用随机数唯一的期望值(例如1-6中的每个数字只出现一次)。

一个可行的解决scheme,但是在将来的工作表中设置起来非常耗时,而且我几乎无法理解它是如何回顾代码的 – 任何人都可以想到一个简洁的方法来做到这一点?

(我的解决scheme包括总结频率以确定每个项目的边界(例如,项目C的边界将是4-6),然后将随机数字与该边界进行比较并search适当的项目)

在统计中,这被称为伯努利分布(参见Wikipedia http://en.wikipedia.org/wiki/Bernoulli_distribution )。 在Excel工作表中实现起来非常简单:从标准的统一分布(使用函数RAND)进行绘制,如果绘制小于1/6(对于项目A),则结果为1,否则结果为0.对于项目B和C,使用相同的逻辑,除了概率是2/6和3/6。 你可以testing结果重复这一点,所有的项目说1000倍,然后计算平均值。 结果应该非常接近你的预期概率。 用于给定项目的公式是:

 =IF(RAND()<=A$1;1;0) 

其中A1包含概率(例如对于项目A为1/6)