Financial.IRR(Double[], Double) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回報:指明一系列週期性現金流(付款與收款)的內部報酬率。
public static double IRR(ref double[] ValueArray, double Guess = 0.1);
static member IRR : Double[] * double -> double
Public Function IRR (ByRef ValueArray As Double(), Optional Guess As Double = 0.1) As Double
參數
- Guess
- Double
Optional. 指定你估計值的物件會由 返回。IRR 若省略, Guess 則為0.1(10%)。
傳回
一系列週期性現金流(付款與收入)的內部報酬率。
例外狀況
陣列參數值無效或 Guess<= -1。
範例
在此範例中,函 IRR 數回傳包含於陣列 Values()中的五個現金流的內部報酬率。 第一個陣列元素是負現金流,代表企業啟動成本。 其餘四項現金流則代表接下來四年的正現金流。
Guess 是估計的內部報酬率。
' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"
Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000
' Use the IRR function to calculate the rate of return.
' Guess starts at 10 percent.
Dim Guess As Double = 0.1
' Calculate internal rate.
Dim CalcRetRate As Double = IRR(values, Guess) * 100
' Display internal return rate.
MsgBox("The internal rate of return for these cash flows is " &
Format(CalcRetRate, CStr(PercentFmt)) & " percent.")
備註
內部報酬率是指由定期支付與收入組成的投資所獲得的利率。
該 IRR 函式利用陣列中值的順序來解釋付款與收款的順序。 請務必依正確的順序輸入支出及收入的值。 每個期間的現金流不需要固定,就像年金那樣。
IRR 是透過迭代計算。 從 的 Guess值開始, IRR 會循環計算,直到結果準確度在 0.00001% 以內。 若 IRR 嘗試20次仍無法找到結果,則為失敗。