执行 n 次计算并求和结果(无需 VBA)

执行 n 次计算并求和结果(无需 VBA)

我正在寻找一种方法来对执行给定、任意次数的计算的结果进行求和。

假设我有 15,000 名客户,每个客户将花费 100 至 200 美元,我想计算总收入。

所以我想计算 Int(Randbetween(100,200)) 15,000 次并求和。

由于各种原因,我不想这样做: - 在 15,000 个单元格中重复公式 - 使用循环引用和 Excel 的内置迭代 - 使用 VBA 代码 - 使用蒙特卡罗插件

我预感到有一个简单而优雅的解决方案,但我一直没找到。

答案1

为了使此计算在一个单元格中起作用,随机填充的数组必须在每一行中填充不同的数字。据我所知,Excel 不是这样工作的。RANDBETWEEN() 公式在数组的每一行中使用相同的数字。

例如:

我在空白工作表的一个单元格中输入了以下公式。

=RANDBETWEEN(100,200)&A1:A10

我突出显示了整个公式,然后按 F9 在公式栏中进行计算。Excel 返回:

{"180";"180";"180";"180";"180";"180";"180";"180";"180";"180";"180"}

如果有一个公式可以强制 Excel 每行都生成一个新数字,则可以使用该公式。

答案2

假设列A您的工作表不包含任何数据,您可以使用以下公式计算 100 到 200 之间的 15,000 个随机数的总和。

将此公式放入单元格中B1

=SUMPRODUCT(($A1:$A15000="")*RANDBETWEEN(100,200))

如果您使用列A,我建议隐藏它,因为所选列中的所有行都需要保持空白。因此,我可能会倾向于使用类似Z Z或最后一个可用列。

添加:

或者,从操纵变量的角度来看,这可能是一个更好的解决方案:

SUMPRODUCT((OFFSET($A$1,,,15000)="")*RANDBETWEEN(100,200))

相关内容