NPV 函數

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

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

語法

NPV (率、價值 () )

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

引數 描述
利率 必要。 Double 指定某段期間的貼現率,以小數表示。
價值觀 () 必要。 Double 陣列指定現金流量值。 陣列至少必須包含一個負值 (支出) 與一個正值 (收入)。

    

註解

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

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

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

淨現值計算是根據未來的現金流量。 若您的第一筆現金流發生在第一期開始時,第一個價值必須加到淨 回報的價值中,且不得包含在 ( ) 價值的現金流中。

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

範例

注意

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

此範例使用 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
' 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