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[]

必要。 指定現金流量值的 Double 陣列; 這個陣列至少必須含有一項負值 (付款) 和一項正值 (收款)。

Guess
Double

選擇性。 指定您預估值的物件將會由 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 次嘗試之後找不到結果,則會失敗。

適用於

另請參閱