Financial.NPV(Double, Double[]) 方法

定義

回報一個價值,根據一系列週期性現金流(付款與收款)及折現率,指定投資的淨現值。

public:
 static double NPV(double Rate, cli::array <double> ^ % ValueArray);
public static double NPV(double Rate, ref double[] ValueArray);
static member NPV : double * Double[] -> double
Public Function NPV (Rate As Double, ByRef ValueArray As Double()) As Double

參數

Rate
Double

必須的。 折現率在整個期間內,以小數表示。

ValueArray
Double[]

必須的。 指定現金流數值的陣列 Double 。 陣列至少必須包含一個負值 (支出) 與一個正值 (收入)。

傳回

投資的淨現值是基於一系列週期性現金流(付款與收入)及貼現率。

例外狀況

ValueArrayNothing,階數為 ValueArray<> 1,或 Rate = -1

範例

此範例使用函 NPV 數回傳陣列 values()中一系列現金流的淨現值。 儲存在 FixedRetRate的回報值代表固定的內部報酬率。

' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"

Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000

' Use the NPV function to calculate the net present value.
' Set fixed internal rate.
Dim FixedRetRate As Double = 0.0625
' Calculate net present value.
Dim NetPVal As Double = NPV(FixedRetRate, values)
' Display net present value.
MsgBox("The net present value of these cash flows is " & 
    Format(NetPVal, MoneyFmt) & ".")

備註

投資的淨現值是指未來各期支出和收入的現值。

NPV 函式利用陣列中值的順序來解釋付款與收款的順序。 請務必依正確的順序輸入支出及收入的值。

投資從 NPV 第一個現金流值日期前一個期間開始,並以陣列中最後一個現金流值結束。

淨現值計算是根據未來的現金流量。 若您的第一筆現金流發生在第一期開始時,第一筆價值必須加到由 返回 NPV 的價值上,且不得包含在 的 ValueArray現金流值中。

NPV 功能與現值函數相似 PV ,但 PV 該函數允許現金流從期間結束或開始時開始。 與變動 NPV 現金流量不同, PV 現金流必須在整個投資過程中固定不變。

適用於

另請參閱