共用方式為


NPV 函數

會傳回 Double ,根據一系列定期現金流量指定投資的淨現值, (付款和收據) 和折扣率。

語法

NPV (速率、值 ( ) )

NPV 函式具有下列命名引數

部分 描述
rate 此為必要動作。 再次 指定期間長度的折扣率,以十進位表示。
( ) 此為必要動作。 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 支援與意見反應