「この投資、利回りは何パーセントなの?」
設備投資やプロジェクトの提案で、上司や経営層に聞かれることがありますよね。売上予測と初期費用を並べるだけでは「結局もうかるの?」がピンときません。
スプレッドシートのIRR関数を使えば、投資の利回りをパーセントで算出できます。「年利8.9%相当のリターンが見込める」と言えれば、判断がグッとしやすくなりますよ。
この記事では、IRR関数の基本から投資案件の比較、NPV関数との使い分けまでまとめて紹介します。
IRR関数とは? — スプレッドシートで内部収益率を求める関数
IRR関数(読み方: あい あーる あーる)は、キャッシュフローの正味現在価値(NPV)がゼロになる割引率を求める関数です。
名前は英語の「Internal Rate of Return(内部収益率)」の略です。
もう少しかみ砕くと、「この投資は年利何パーセント相当のリターンがあるか?」を計算してくれる関数です。銀行預金の利率のように、投資の収益性をパーセントで表せます。
IRR関数にできることをまとめると、次のとおりです。
- 投資案件の利回り(年利換算)をパーセントで算出する
- 複数の投資案件を利回りベースで比較する
- 投資が自社の目標利回りを超えるかどうか判断する
- 不均等なキャッシュフローでも正確に利回りを求められる
NOTE
IRR関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
IRR関数の書き方(構文と引数)
基本構文
=IRR(キャッシュフロー範囲, [推定値])
カッコの中に、初期投資と各期のキャッシュフローが入った範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| キャッシュフロー範囲 | 必須 | 初期投資(マイナス)と各期の収入(プラス)を含むセル範囲 |
| 推定値 | 任意 | IRRの推定値(省略時は0.1 = 10%)。計算が収束しない場合に調整する |
キャッシュフロー範囲には必ずプラスとマイナスの値が混在している必要があります。すべてプラスやすべてマイナスだとエラーになります。
TIP
NPV関数では初期投資を外で足しましたが、IRR関数では初期投資も範囲の中に含めます。ここがNPVとの大きな違いです。
IRR関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。
3年間の投資案件のIRRを求める
設備投資100万円をして、1年目に30万円、2年目に40万円、3年目に50万円のリターンが見込めるケースです。
| セル | 内容 | 金額 |
|---|---|---|
| B1 | 初期投資 | -1,000,000 |
| B2 | 1年目 | 300,000 |
| B3 | 2年目 | 400,000 |
| B4 | 3年目 | 500,000 |
=IRR(B1:B4)
結果は 約8.9% です。この投資は年利8.9%相当のリターンが見込めると判断できます。
ここで大事なポイントが1つあります。初期投資もセル範囲に含めるという点です。NPV関数では初期投資を外で足しましたが、IRR関数では最初のセル(B1)に初期投資のマイナス値を入れます。
IRRの結果の読み方
IRR関数の結果は、投資判断のシンプルな基準になります。
| IRRの値 | 意味 | 判断 |
|---|---|---|
| 目標利回りより高い | 目標を超えるリターンが得られる | 投資する価値あり |
| 目標利回りと同じ | リターンが目標どおり | 損も得もしない |
| 目標利回りより低い | 目標に届かないリターン | 投資を見送るか再検討 |
たとえば自社の目標利回りが5%なら、IRRが8.9%の案件は「目標を上回るので投資OK」と判断できます。
推定値を指定する
通常は推定値を省略すれば問題ありません。ただし、#NUM! エラーが出る場合は推定値を変えてみてください。
=IRR(B1:B4, 0.05)
推定値に0.05(5%)を指定しています。IRR関数は内部で繰り返し計算(反復法)を行っており、推定値はその出発点になります。
IRR関数の実践的な使い方・応用例
複数の投資案件を比較する
2つの投資案件をIRRで比較してみましょう。NPV関数の記事で紹介した案件と同じデータを使います。
案件A(初期投資300万円・3年回収)
| 年 | キャッシュフロー |
|---|---|
| 0年目(初期投資) | -3,000,000 |
| 1年目 | 1,200,000 |
| 2年目 | 1,200,000 |
| 3年目 | 1,200,000 |
案件B(初期投資500万円・3年回収)
| 年 | キャッシュフロー |
|---|---|
| 0年目(初期投資) | -5,000,000 |
| 1年目 | 1,500,000 |
| 2年目 | 2,000,000 |
| 3年目 | 2,500,000 |
案件A: =IRR(B1:B4) → 約9.7%
案件B: =IRR(B1:B4) → 約8.9%
案件AのほうがIRRは高くなります。つまり投資効率は案件Aのほうが良いということです。
面白いことに、NPVで比較すると案件B(約40万円)のほうが案件A(約27万円)より大きくなります。IRRとNPVで順位が逆転するケースです。
これが起きる理由: IRRは「投資額あたりの効率」を見る指標で、NPVは「絶対的な利益額」を見る指標だからです。投資効率を重視するならIRR、利益額を重視するならNPVで判断しましょう。
5年間の設備投資を評価する
新しい機械を500万円で導入し、5年間のリターンが見込めるケースです。
| 年 | キャッシュフロー |
|---|---|
| 0年目(初期投資) | -5,000,000 |
| 1年目 | 800,000 |
| 2年目 | 1,200,000 |
| 3年目 | 1,500,000 |
| 4年目 | 1,500,000 |
| 5年目 | 1,200,000 |
=IRR(B1:B6)
結果は 約7.1% です。自社の目標利回りが8%なら、この投資は目標に届かないため再検討が必要です。目標が5%なら投資OKという判断になります。
月次キャッシュフローでIRRを計算する
月ごとのキャッシュフローでIRRを求める場合、結果は「月利」になります。年利に換算するには12を掛けてください。
=IRR(B1:B13) * 12
B1に初期投資、B2:B13に1月目から12月目のキャッシュフローが入っている想定です。
TIP
厳密には
=(1+IRR(B1:B13))^12-1で複利換算するほうが正確です。ただし概算で十分な場面では単純に12倍でも問題ありません。
IRR関数とNPV関数の使い分け
IRR関数とNPV関数は、どちらも投資判断に使う財務関数です。表す内容が違うので、場面に応じて使い分けましょう。
| 比較項目 | IRR関数 | NPV関数 |
|---|---|---|
| 結果の単位 | パーセント(利回り) | 金額(現在価値) |
| 何がわかるか | 投資の効率(年利換算) | 投資の絶対的な利益額 |
| 判断基準 | IRR > 目標利回りなら投資OK | NPV > 0 なら投資OK |
| 初期投資の扱い | セル範囲に含める | NPVの外で足す |
| 割引率の指定 | 不要(自動計算される) | 引数で指定が必要 |
| 典型的な使い方 | 「この投資は年利何%?」 | 「この投資で利益はいくら?」 |
使い分けのポイント: 「利回りが何%か知りたい」ならIRR、「利益が何円か知りたい」ならNPVです。
実務では両方を組み合わせるのがベストです。IRRで効率を見て、NPVで絶対額を見れば、投資判断がより確かになりますよ。
たとえば先ほどの案件比較では、IRRは案件Aが有利(9.7% > 8.9%)ですが、NPVは案件Bが有利(約40万 > 約27万)でした。初期投資に余裕があるなら利益額の大きい案件B、資金効率を優先するなら案件Aという判断ができます。
よくあるエラーと対処法
IRR関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #NUM! エラーが出る | キャッシュフローにプラスとマイナスが混在していない | 初期投資(マイナス)を範囲に含めているか確認する |
| #NUM! エラーが出る | 計算が収束しない | 推定値を変えてみる(例: 0.05, -0.1, 0.5) |
| #VALUE! エラーが出る | 範囲に文字列が含まれている | 数値のみ指定する。空白セルは0として扱われる |
| 結果が異常に大きい | 初期投資に対してリターンが非常に大きい | 入力データが正しいか確認する |
| 結果がマイナスになる | 投資が元本割れしている | 入力データが正しければ、その投資は損失を出す計算 |
| 月次なのに年利が出る | 期間の単位とIRRの対応を誤解している | 月次CFのIRRは月利。年利にするには12倍する |
TIP
#NUM! エラーで最も多い原因は「初期投資のマイナス値を範囲に含め忘れている」ことです。IRR関数にはプラスとマイナスの両方が必要なので、初期投資のセルも範囲に入れましょう。
Excelとの違い
IRR関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =IRR(範囲, [推定値]) | =IRR(キャッシュフロー範囲, [推定値]) |
| 動作 | 内部収益率を返す | 内部収益率を返す |
| 推定値の省略時 | 0.1(10%) | 0.1(10%) |
| 反復計算の上限 | 20回 | 同様 |
引数名の表記が若干異なるだけで、機能は完全に同じです。ExcelとGoogleスプレッドシートのどちらでも同じ数式がそのまま使えます。
Excelにある XIRR関数(日付ベースのIRR計算)もGoogleスプレッドシートで利用できます。キャッシュフローの発生日が不均等な場合はXIRR関数を検討してみてください。
まとめ
IRR関数は、投資の利回りをパーセントで算出する関数です。
ポイントを整理します。
- 構文は
=IRR(キャッシュフロー範囲, [推定値]) - 初期投資(マイナス値)もセル範囲に含めるのがNPV関数との違い
- 結果は利回り(パーセント)で返される
- IRRが目標利回りを上回れば「投資OK」が基本判断
- 投資効率(IRR)と利益額(NPV)は両方見るのがベスト
- 月次データのIRRは月利なので、年利換算には12倍する
- #NUM! エラーはプラス・マイナス混在の確認か推定値の調整で解消できる
まずは =IRR({-1000000, 300000, 400000, 500000}) で3年間のキャッシュフローの利回りを試してみてください。
