=NPV(D2,B3:B & C2(
我在单元格 B2 中有一个 NPV 公式。利率在D2。我希望公式使用的范围随 C2 中的任何值而变化。即如果 C2 = 362 中的值,公式应该是 =NPV(D2,B3:B362( 我试图如上所述连接,但这是错误的。如何改变净现值公式中的范围?
最好使用偏移量来完成此操作,它允许您定义一系列单元格:
offset(base_cell, row_offset, col_offset, height, width)
在您的情况下,您应该使用:
npv(d2, offset(b3, 0, 0, C2 - 3, 1))
注意:您应该使用 Ctrl-Shift-Enter 输入此函数,以便 Excel 知道它是一个数组函数。
第二种可能但不建议在您的情况下使用的方法是使用间接方法。这会将字符串更改为单元格引用。
npv(d2, indirect("b3:b"&c2))
同样,您需要将其作为数组公式输入。这种方法可能看起来更好,但它更难维护,并且可能效率较低,因此您应该习惯于偏移。
使用 INDIRECT 函数根据字符串选择单元格。 https://support.office.com/en-us/article/indirect-function-474b3a3a-8a26-4f44-b491-92b6306fa261
=NPV(D2, B3:INDIRECT("B"&C2))
OFFSET
和INDIRECT
都是volatile functions
的,因此应尽可能避免使用。因此,我更愿意:
=NPV(D2,B3:INDEX(B:B,C2))
问候