根據一系列的定期現金流量 (支出和收入) 和貼現率,傳回 Double 來指定投資的淨現值。

語法

NPV( rate, values ())

NPV 函數語法具有下列引數:

引數

描述

rate

必要。 Double 指定某段期間的貼現率,以小數表示。

values ()

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

註解

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

NPV 函數會使用陣列中的數值順序來解譯支出和收入的順序。 請務必依正確的順序輸入支出及收入的值。

NPV 投資開始於第一個現金流量日期的前一期,並結束於陣列中最後一個現金流量值的當期。

淨現值計算是根據未來的現金流量。 如果第一次現金流量發生在第一期開頭,必須將第一個值加入到 NPV 所傳回的值,且不能將其包含在 values( ) 的現金流量值中。

NPV 函數類似於 PV 函數 (現值),其間的差異在於 PV 函數可讓現金流量發生在期末或期初。 而與 NPV 變數的現金流量值不同的是,PV 現金流量在整個投資期間必須固定。

範例

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

此範例使用 NPV 函數來傳回陣列 Values() 中所包含的一系列現金流量的淨現值。 RetRate 代表固定的內部報酬率。

Dim Fmt, Guess, RetRate, NetPVal, MsgStatic 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) = 25000Values(3) = 28000 : Values(4) = 31000' Calculate net present value.NetPVal = NPV(RetRate, Values())Msg = "The net present value " & _      "of these cash flows is "Msg = Msg & Format(NetPVal, Fmt) & "."' Display net present value.MsgBox Msg 

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。