迭代计算以找到所需的数字

Iterative calculation to find desired number

我正在尝试使用带有迭代计算的循环引用来查找特定数字,但是我的文件不会显示该数字。我转向迭代计算,但即使有明确的答案,它也会剧烈波动。我已经包含了我的示例的图像。

通常,循环引用是公式中结构不正确的结果。启用迭代计算不是解决此问题的方法。它们仅适用于重复执行计算将导致稳定结果的情况。

(一个有用的迭代计算的例子是场分析。你可以在任何形状的场的边缘周围定义值。在内部,每个点的值是它周围所有点的平均值。之后几千次迭代,一切都会稳定到一个均匀分布的场。)

在您的情况下,迭代计算不会导致稳定的结果。当Ending Cash为-300时,Cash Deposit设置为300。但是Ending Cash为0,所以Cash Deposit设置为0。但是End Cash为-300,所以Cash Deposit设置为300,无限。

计算需要多少Cash Deposit才能保证End Cash大于等于0,不能根据End Cash或Total Deposit,因为它会一直自相矛盾不需要现金存款。

相反,计算需要多少现金存款必须考虑除自身以外的所有其他存款,并将其与提款总额进行比较。 (由于未提及总存款或期末现金,因此没有循环参考)。可以设置为:

=IF(B2+B5<B14,B14-(B2+B5),0)

它将所有其他存款加在一起 ​​ 不包括 本身,并将其与总提款进行比较以确定是否需要任何额外存款。如果需要额外的存款,它会从总提款中减去所有其他存款以确定需要多少。

编写此类公式的更优雅的方式是:

=MAX(B14-B5-B2,0)

这只是从总提款中减去所有存款,如果为正(更多提款),则returns差额,如果不需要,则returns0差异为负(更多存款)。