NPV 函数
应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016
返回一个 Double 类型的值,该值根据一系列定期现金流 (付款和收据) 和折扣率指定投资的净现值。
语法
NPV (速率、值 () )
NPV 函数语法具有以下参数:
| 参数 | 说明 |
|---|---|
| 率 | 必需。 指定期间内折扣率的双精度值,以小数表示。 |
| 值 () | 必需。 指定现金流值的 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