VBAのIRR関数について解説しています。
IRR関数は、VBA関数の中で財務関数に分類される関数です。
IRR関数は、倍精度浮動小数点数型 (Double) の値を返します。一連の定期的なキャッシュ フロー (支払いと収益) に対する内部利益率を返します。
構文 | IRR(values()[, guess]) | |
---|---|---|
引数 | 省略 | 説明 |
values() | × | 一連のキャッシュ フローの値を倍精度浮動小数点数型 (Double) の配列で指定します。配列には、負の値 (支払額) と正の値 (収益額) が少なくとも 1 つずつ含まれている必要があります。 |
guess | ● | IRR 関数の計算結果に近いと思われる値をバリアント型 (Variant) で指定します。名前付き引数 guess を省略すると、0.1 (10%) を指定したものとみなされます。 |
内部利益率とは、一定の期間ごとに発生する支払いと収益からなる投資効率を表す利率のことです。
IRR 関数では、配列で指定した値の順序がキャッシュ フローの順序であるとみなされます。支払額と収益額を入力するときは、その順序に注意してください。各期間のキャッシュ フローが一定である必要はありません。
IRR 関数の計算には、反復計算の手法が用いられます。名前付き引数 guess の値を初期値とし、計算結果の誤差が 0.00001% 以内になるまで反復計算が実行されます。反復計算を 20 回行っても適切な解が見つからない場合は、エラーとなります。
次の例は、IRR 関数を使って、配列 Values() に指定した 5 つのキャッシュ フローに対する内部利益率を計算します。最初の配列要素は、事業の操業資金を表す負のキャッシュ フローです。他の 4 つの配列要素は、以後 4 年間の収益を表す正のキャッシュ フローです。Guess には、内部利益率の推定値を指定します。
Sub sample()
Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double ' 配列を定義します。
Guess = .1 ' 推定値を 10% と指定します。
Fmt = "#0.00" ' パーセンテージの形式を定義します。
Values(0) = -70000 ' 操業資金を指定します。
' 以後 4 年間の収益を表す正のキャッシュ フローです。
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
RetRate = IRR(Values(), Guess) * 100 ' 内部利益率を計算します。
Msg = "指定した 5 つのキャッシュ フローに対する内部利益率は"
Msg = Msg & Format(RetRate, Fmt) & " % です。"
MsgBox Msg ' 内部利益率を表示します。
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
関数名 | 内容 |
---|---|
DDB | 倍率法による指定した期間の資産原価償却額を算出します。 |
FV | 定額定利の定期支払いでの投資の将来価値を算出します。 |
IPmt | 定額定利の定期支払いで投資期間内の指定した期における金利を算出します。 |
IRR | 指定したキャッシュフローに対する内部利率を算出します。 |
MIRR | 指定したキャッシュフローに対する修正内部利率を算出します。 |
NPer | 定額定利の定期支払いで総額の支払いに必要な支払回数を算出します。 |
NPV | 投資の正味現在価値を算出します。 |
Pmt | 定額定利の定期支払いでの投資の将来価値を算出します。投資に必要な定期支払額を算出します。 |
PPmt | 定額定利の定期支払いでの特定の期間における元金を算出します。 |
PV | 定額定利の定期支払いでの投資の現在価値を算出します。 |
Rate | 定額定利の定期支払いで将来価値を得るための利率を算出します。 |
SLN | 定額法での減価償却費を算出します。 |
SYD | 定額逓減法で指定した期の減価償却費を算出します。 |
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。