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 陣列; 這個陣列至少必須含有一項負值 (付款) 和一項正值 (收款)。

傳回

根據一系列定期現金流量 (付款及收款) 及貼現率所得的投資淨現值。

例外狀況

ValueArrayNothingValueArray<> 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 現金流量必須在整個投資中固定。

適用於

另請參閱