Skip to content

NPV

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

语法:NPV( rate, values() )

rate
必需 Double,指定整个期间内的贴现率,以小数表示。
values()
必需 Double数组,指定现金流值。该数组必须至少包含一个负值(付款)和一个正值(收入)。

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

NPV函数使用数组中值的顺序来解释付款和收入的顺序。付款和收入值必须按正确的顺序排列。

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

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

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

示例

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

vb
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.

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有