Financial.IRR(Double[], Double) 方法

定義

回報:指明一系列週期性現金流(付款與收款)的內部報酬率。

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

參數

ValueArray
Double[]

Required. 指定現金流數值的陣列 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次仍無法找到結果,則為失敗。

適用於

另請參閱