Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel中基于概率的随机数_Excel_Excel Formula - Fatal编程技术网

Excel中基于概率的随机数

Excel中基于概率的随机数,excel,excel-formula,Excel,Excel Formula,如何创建一个随机数生成器,根据概率计算随机数 例如,我有以下数字,它们从单元格A1和B1开始出现的概率: 100 5% 75 10% 50 42% 30 30% 15 5% 0 8% 因此,公式将在所有时间内“随机”返回数字“15”5%。您可以使用vlookup和randbetween 你会想使用randbetween vlookup: 用1-100之间的连续数字填充一列。 用5 100、10 75、42 50等填充另一列 现在 =VLOOKUP(RANDBETWEEN(1,100

如何创建一个随机数生成器,根据概率计算随机数

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

100 5%
75  10%
50  42%
30  30%
15  5%
0   8%

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

您可以使用vlookup和randbetween

你会想使用randbetween

vlookup:

用1-100之间的连续数字填充一列。 用5 100、10 75、42 50等填充另一列

现在

=VLOOKUP(RANDBETWEEN(1,100),A1:B100,2)

也许有更好的方法可以做到这一点,但我尝试了这一点,它似乎起了作用。

稍微减少开销:

制作一张价值观参考图表,并列出总概率:

C   D   E
100 5%  0
75  10% 5%
50  42% 15%
30  30% 57%
15  5%  87%
0   8%  92%
然后在此图表上查找0-1随机数<代码>=查找(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此功能作为分析工具包加载项的一部分提供。您可以在Excel选项->加载项->管理加载项中找到此功能

您需要生成随机数,然后选择“离散”分布。这是您在帖子中提供的表

“离散的 以值和相关概率范围为特征。范围 必须包含两列:左列包含值,右列包含值 列包含与该行中的值关联的概率 概率之和必须为1。”


jsarma的建议也是很好的….

是否应该对概率进行插值?例如,随机数生成器是否可以产生值“80”?“80.5”?仅限整数?最大值/最小值?生成器应仅生成整数0,15,30,50,75100注意:如果您尝试将rand组合到if语句中,那么您将得到不同的概率曲线,而不是将它们作为两个单独的公式,只计算rand一次。如果您必须多次执行此操作,则可能值得进行一次测试这是一个宏,而不是一个公式。这部分起作用,但在100次试验中,“0”永远不会返回,我确实得到了5次“#N/a”。我发现了上述问题。Excel声明“如果查找函数找不到精确匹配,它会在查找范围中选择小于或等于该值的最大值。”。因此,我认为E列应该是“0%、5%、15%、57%、87%、92%”还是“0%、6%、16%、58%、88%、93%”?此解决方案不适用于我,因为概率可能会根据另一个选项卡中的另一个函数而变化