NPV 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

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

语法

NPV (率、值 () )

NPV 函数语法具有以下参数:

参数 说明
rate 必需。 double 指定期间内的贴现率,用小数表示。
() 必需。 指定现金流量值的 Double 数组。 数组必须至少包含一个负值 (付款) 和一个正值 (收据) 。

    

备注

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

NPV 函数使用数组内的值顺序来解释付款和收据的顺序。 请务必按正确的顺序输入付款和收据值。

NPV 投资从第一个现金流量值日期之前的一个时期开始,到数组中的最后一个现金流量值结束。

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

NPV 函数类似于现值) (PV 函数,不同之处在于 PV 函数允许现金流在期末或期初开始。 与可变 NPV 现金流值不同, PV 现金流必须在整个投资过程中保持固定。

示例

注意

下面的示例演示了在Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个术语。

此示例使用 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
' Calculate net present value.
NetPVal = NPV(RetRate, Values())
Msg = "The net present value " & _
      "of these cash flows is "
Msg = Msg & Format(NetPVal, Fmt) & "."
' Display net present value.
MsgBox Msg