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 支持和反馈,获取有关如何接收支持和提供反馈的指南。