根據一系列的定期現金流量 (支出和收入) 和貼現率,傳回 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, 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