如何生成一个正整数的随机数据集,计算出excel中的固定和范围?

时间:2018-04-02 12:10:16

标签: excel excel-formula

基本上,我想随机列出正数,其总和等于特定范围。

例如:

生成10个随机正整数,其总和介于25和100之间。

提出excel的公式有点过头了。如果有人有任何建议会非常有用!

2 个答案:

答案 0 :(得分:2)

执行此操作的一种方法如下。我将使用您在示例中给出的数字,但该方法很容易推广到任意数字。

enter image description here

在B列中,我从指数分布生成数字。然后在C列中,我通过将每一个除以它们的总和来对它们进行标准化。这样,每个数字变成一个比例(即,它们总计达到100%)。最后,在DI列中取这个比例并乘以 25到100 之间的随机数(更好地考虑在更窄的范围内生成数字,以避免舍入错误 - 我使用的是27和95在我的例子中,也考虑了向上舍入的偏见),并将其四舍五入。总和在单元格D12中。

以下是截图示例:

enter image description here

以下是使用1,000次迭代时这些数字之和的分布:

enter image description here

解决舍入问题的另一个想法是仅在结果数为零时进行舍入:

ROUND(C2*$E$2,0)+(ROUND(C2*$E$2,0) = 0)

这引入了一个小偏差,因为获得1比获得其他数字的可能性略高 - 但最终总和的分布实际上是一致的。

我希望这会有所帮助。

免责声明:我使用this answer作为我的基础。统计理由是this problem is equivalent to generating numbers from a Dirichlet distribution

答案 1 :(得分:1)

A1 A9 中输入:

=RANDBETWEEN(2,10)

并在 A10 中输入:

=RANDBETWEEN(7,10)