Skip to content

Npv (方法)

通过使用贴现率以及一系列未来支出(负值)和收入(正值),计算一项投资的净现值。

说明

  • Value1, value2, ... 在时间上必须具有相等间隔,并且都发生在期末。
  • NPV 使用 value1, value2, ... 的顺序来解释现金流的顺序。所以务必保证支出和收入的数额按正确的顺序输入。
  • 如果参数为数值、空白单元格、逻辑值或数字的文本表达式,则都会计算在内;如果参数是错误值或不能转化为数值的文本,则被忽略。
  • 如果参数是一个数组或引用,则只计算其中的数字。数组或引用中的空白单元格、逻辑值、文本或错误值将被忽略。
  • 函数 NPV 假定投资开始于 value1 现金流所在日期的前一期,并结束于列表中最后一笔现金流的当期。函数 NPV 依据未来的现金流来进行计算。如果第一笔现金流发生在第一个周期的期初,则第一笔现金必须添加到函数 NPV 的结果中,而不应包含在 values 参数中。有关详细信息,请参阅下面的示例。
  • 函数 NPV 与函数 PV(现值)相似。PV 与 NPV 之间的主要差别在于:函数 PV 允许现金流在期初或期末开始。与可变的 NPV 的现金流数值不同,PV 的每一笔现金流在整个投资中必须是固定的。有关年金与财务函数的详细信息,请参阅函数 PV。
  • 函数 NPV 与函数 IRR(内部收益率)也有关,函数 IRR 是使 NPV 等于零的比率:NPV(IRR(...), ...) = 0。

参数

属性数据类型必填说明
Arg1double必填Rate - 某一期间的贴现率。
Arg2any必填Arg30 - Value1, value2, ... - 代表支出及收入的 1 到 29 个参数。

返回值

Double

示例

javascript
/*本示例使用 Npv 方法计算一项投资的净现值,并分别赋值给B2和B3单元格。*/
function test() {
    Range("B2").Value2 = WorksheetFunction.Npv(0.235, 300.36, 600, -253, -68)
    Range("B3").Value2 = WorksheetFunction.Npv(0.36, 2000.36, -168)
}
javascript
/*本示例为A1等单元格分别赋值,使用 Npv 方法计算一项投资的净现值。*/
function test() {
    Range("A1").Value2 = 0.125
    Range("A2").Value2 = 90000
    Range("A3").Value2 = -325.03
    console.log(WorksheetFunction.Npv(Range("A1").Value2, Range("A2").Value2, Range("A3").Value2))
}