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 支援與意見反應。