NPV 函数

返回一个 Double,它基于一系列定期现金流(付款和收款)和贴现率指定投资的净现值。

语法

NPV (速率 ( ) )

NPV 函数包含以下命名参数

Part 说明
必填。 指定以小数表示的期间内的贴现率的 Double
( ) 必填。 用于指定现金流值的双精度数组。 该数组必须包含至少一个负值(付款)和一个正值(收款)。

备注

投资的净现值是未来一系列付款和收款的当前值。

NPV 函数使用数组中的值的顺序来解释付款和收款的顺序。 确保按正确的顺序输入付款和收款值。

NPV 投资在第一个现金流值的日期之前的一个期间开始,并以数组中的最后一个现金流值结束。

净现值计算基于未来现金流。 如果第一个现金流发生在第一个周期开始时,则第一个值必须添加到 NPV 返回的值中,并且不能 包含在值 ( ) 的现金流值中。

NPV 函数类似于 PV 函数 (当前值) ,只是 PV 函数允许现金流在期末或期初开始。 与可变的 NPV 现金流值不同,PV 现金流在投资期间必须是固定的。

示例

此示例使用 NPV 函数返回数组 Values() 中包含的一系列现金流的净现值。 RetRate 表示固定的内部报酬率。

Dim Fmt, Guess, RetRate, NetPVal, Msg
Static Values(5) As Double    ' Set up array.
Fmt = "###,##0.00"    ' Define money format.
Guess = .1    ' Guess starts at 10 percent.
RetRate = .0625    ' Set fixed internal rate.
Values(0) = -70000    ' Business start-up costs.
' Positive cash flows reflecting income for four successive years.
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
NetPVal = NPV(RetRate, Values())    ' Calculate net present value.
Msg = "The net present value of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
MsgBox Msg    ' Display net present value.

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。