傳回 Double,指定一系列定期現金流量 (付款和收) 的內部報酬率。
語法
IRR (值 () [, guess ] )
IRR 函數語法具有下列引數:
| 引數 | 描述 |
|---|---|
| 值 () | 必要。 Double 陣列指定現金流量值。 陣列至少必須包含一個負值 (支出) 與一個正值 (收入)。 |
| 猜測 | 可省略。 指定您估計值的變體將由 IRR 傳回。 如果省略,則猜 測 為 0.1 (10%) 。 |
註解
內部回報率是投資收到的利率,包括定期發生的付款和收據。
IRR 函數使用陣列內值的順序來解譯付款和收據的順序。 請務必依正確的順序輸入支出及收入的值。 每個時期的現金流不必像年金那樣固定。
IRR 是透過反覆運算來計算。 IRR 從猜測值開始,循環計算直到結果準確到 0.00001% 以內。 如果 IRR 在嘗試 20 次後找不到結果,則會失敗。
範例
注意
下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。
在此範例中, IRR 函數會傳回陣列 Values()中所包含一系列 5 個現金流的內部報酬率。 第一個陣列元素是代表企業啟動成本的負現金流。 其餘4個現金流代表其後4年的正現金流。
Guess 是預估的內部報酬率。
Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double ' Set up array.
Guess = .1 ' Guess starts at 10 percent.
Fmt = "#0.00" ' Define percentage format.
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 internal rate.
RetRate = IRR(Values(), Guess) * 100
Msg = "The internal rate of return for these " & _
"five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg ' Display internal return rate.