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 型の配列。 配列には、負の値 (支払い額) と正の値 (受け取り額) が少なくとも 1 つずつ含まれている必要があります。

Guess
Double

省略可能。 IRR 関数によって返される推定値を示すオブジェクト。 省略した場合、Guess に 0.1 (10%) を指定したものと見なされます。

戻り値

一連の定期的なキャッシュ フロー (支払いと受け取り) の内部利益率です。

例外

配列引数の値が無効または Guess<= -1 です。

この例では、 関数は IRR 、配列 に含まれる一連の 5 つのキャッシュ フローの内部利益率を返します Values()。 最初の配列要素は、ビジネス スタートアップ コストを表す負のキャッシュ フローです。 残りの 4 つのキャッシュ フローは、その後の 4 年間のプラスのキャッシュ フローを表します。 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 はイテレーションによって計算されます。 の値GuessIRRから始めて、結果が 0.00001% 以内に正確になるまで計算を循環します。 20 回試行しても結果が見つからない場合 IRR は、失敗します。

適用対象

こちらもご覧ください