Excel中基于概率的随机数

Rya*_*yan 4 excel excel-formula

如何创建一个基于概率计算随机数的随机数生成器?

例如,我有以下数字,它们出现的概率从单元格 A1 和 B1 开始:

100 5%
75  10%
50  42%
30  30%
15  5%
0   8%
Run Code Online (Sandbox Code Playgroud)

因此,该公式将在所有时间的 5% 中“随机”返回数字“15”。

Den*_*ore 6

稍微减少开销:

制作您的值的参考图表,以及概率的运行总和:

C   D   E
100 5%  0
75  10% 5%
50  42% 15%
30  30% 57%
15  5%  87%
0   8%  92%
Run Code Online (Sandbox Code Playgroud)

然后在这个图表上查找一个 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% 
Run Code Online (Sandbox Code Playgroud)

或者你可以用两个单元格和一个长的 if 语句来完成: =RAND() =IF(A9<0.05,100,IF(A9<0.15,75, ... 0))...