次の方法で共有


IRR 関数

一連の定期的なキャッシュ フロー (支払いと受け取り) の内部収益率を指定する倍精度浮動小数点型 (Double) の値を返します。

構文

IRR(values(), [ guess ])

IRR 関数には、次の名前付き引数があります。

パーツ 説明
values() 必須です。 キャッシュ フロー値を指定する Double配列です。 配列には、少なくとも 1 つの負の値 (支払い) と正の値 (受け取り) が含まれる必要があります。
guess オプション。 推定する値を指定するバリアント型 (Variant)、IRR によって返されます。 guess を省略すると、0.1 (10%) が指定されたと見なされます。

注釈

内部利益率とは、定期的に発生する支払いと受け取りで構成される投資効率を表す利率のことです。

IRR 関数では、配列内の値の順序が、支払いと受け取りの順序であると見なされます。 支払い額と受け取り額を入力する際は、その順序に注意してください。 各期間のキャッシュ フローは、年金のキャッシュ フローのように、固定されている必要はありません。

IRR の計算には反復計算の手法が使用されます。 IRR は、 guess を初期値とし、計算結果の誤差が 0.00001% 以下になるまで、利益率の値を変えて反復計算を行います。 反復計算を 20 回行っても解が見つからない場合、IRR は失敗します。

この例では、 IRR 関数は、配列 に含まれる一連の 5 つのキャッシュ フローの内部収益率を返します Values()。 最初の配列要素は負のキャッシュ フローで、ビジネスの準備コストを表しています。 残りの 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
RetRate = IRR(Values(), Guess) * 100    ' Calculate internal rate.
Msg = "The internal rate of return for these five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg    ' Display internal return rate.

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。