通过 Excel 模型运行多组假设

通过 Excel 模型运行多组假设

您好,提前感谢您的帮助!这个问题是关于 excel 的。

我创建了一个动态模型,输出预计的年利息收入,它取决于 5 个输入(平均期限长度、平均利率等)。

每个月都会有一批新的贷款发放,对于我的 5 个输入,它们的值略有不同(发放的第 1 个月的平均期限长度可能为 1.5 年,但发放的第 2 个月的平均期限长度可能为 2.5 年)。

我已经预测了未来 24 个月内每个月的 5 个输入变量情况(因此我有 24 组情景)。有没有办法让我的模型动态地接受这 24 个情景,并输出每个情景的预计年利息收入?

谢谢你!

答案1

好吧,这里有一个指示,可以让你按照我使用的方向前进。一旦模型开始工作,那么对 24 张纸进行此操作大约需要 10 分钟:

建立模型表

在工作表中创建模型。假设您的模型采用 5 个变量输入,并提供一些结果,例如 3。以这样的方式构建工作表,使顶部在 A1 到 I1 中看起来像这样:

S1

这是一个非常简短的场景名称,后面是 5 个单元格,用于输入,后面是我假设的 3 个单元格,用于显示结果。只需手动将值输入到这些单元格中,在构建模型时,让公式从 B1 到 F1 查找输入。模型完成后,在 G1 到 I1 中输入公式,将结果集中在一个易于访问的位置。

让模型完全按照您想要的方式工作。将此表命名为 S1。

构建中心

在另一张工作表中(使其成为书中的第一张工作表)创建一个表格:

设想 I1 I2 I3 I4 I5 R1 R2 R3
S1
S2
S3

您不必使用 I1 等,您可以根据列的名称来命名,例如销售量、增长率等。

将模型主控链接到集线器输入

回到模型工作表,您将使用 INDIRECT() 函数将 5 个输入值放入工作表中。B1 的公式为=VLOOKUP($A1,Hub!$A2:$I25,2,0)。C1 的公式为=VLOOKUP($A1,Hub!$A2:$I25,3,0)。对中心列 4、5、6 也按此方法操作。

将集线器链接到模型主控以检索输出

至少针对场景一填写您的输入值,并确保模型表正常工作并从集线器获取输入。

要获取 G、H、I 列中的结果:G2 中的公式将使用 INDIRECT() 从模型表中获取值。 =INDIRECT($A$1&"!G1") 在第一个表中,这将解析为=S1!G1S1 中的第一个结果。H2 将是=INDIRECT($A$1&"!H1"),对 I2 执行相同操作。将这些公式填入所有 24 行。S1 结果应该填充,S2-S24 还不应该,它们还不存在。

现在从 S1 复制 23 个额外的模型表,并将它们命名为 S2 至 S24。转到每个工作表中的单元格 A1,并为其指定工作表名称,即 S1 至 S24。这比使用公式“学习”本地工作表的工作表名称更容易。

现在测试一下

开始将输入填充到 S1 到 S24 中,看看是否获得预期结果。

相关内容