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

定義

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

C#
public static double NPV (double Rate, ref double[] ValueArray);

參數

Rate
Double

必要。 某段期間的貼現率,以十進位值表示。

ValueArray
Double[]

必要。 指定現金流量值的 Double 陣列; 這個陣列至少必須含有一項負值 (付款) 和一項正值 (收款)。

傳回

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

例外狀況

ValueArrayNothingValueArray<> 1 的陣序或 Rate = -1

範例

此範例會 NPV 使用 函式,針對數位中 values()包含的一系列現金流量傳回凈現值。 儲存在中的 FixedRetRate傳回值代表固定的內部傳回率。

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

適用於

產品 版本
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

另請參閱