傳回 Double,指定一系列週期性現金流的內部報酬率, (付款與收入) 。
語法
IRR ( () [, guess] )
IRR 函數語法具有下列自變數:
引數 |
描述 |
values () |
必要。 Double 陣列指定現金流量值。 陣列至少必須包含一個負值 (支出) 與一個正值 (收入)。 |
guess |
選擇性。 指定您估計值的 Variant 將由 IRR 傳回。 如果省略, guess 為 0.1 (10%) 。 |
註解
內部報酬率是指包含定期付款和收入的投資所收到的利率。
IRR 函數會使用陣列內的值順序來解譯支出和收入的順序。 請務必依正確的順序輸入支出及收入的值。 每期的現金流量並不一定固定,就像年金一樣。
IRR 是依反覆運算計算。 從 guess 值開始, 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.