您好,提前感谢您的帮助!这个问题是关于 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!G1
S1 中的第一个结果。H2 将是=INDIRECT($A$1&"!H1")
,对 I2 执行相同操作。将这些公式填入所有 24 行。S1 结果应该填充,S2-S24 还不应该,它们还不存在。
现在从 S1 复制 23 个额外的模型表,并将它们命名为 S2 至 S24。转到每个工作表中的单元格 A1,并为其指定工作表名称,即 S1 至 S24。这比使用公式“学习”本地工作表的工作表名称更容易。
现在测试一下
开始将输入填充到 S1 到 S24 中,看看是否获得预期结果。