「設備投資の採算試算をどう進めればよいか」「複数のプロジェクト案のうちどれが収益性で優れるかを数字で比べたい」「財務部の資料にNPV・IRRという言葉が登場したが、Excelでどう計算するかわからない」——そんな場面で活躍するのがNPV関数とIRR関数です。
NPV(正味現在価値)はキャッシュフローを現在価値に割り引いて合計した指標、IRR(内部収益率)はNPVがゼロになる割引率を逆算した指標です。2つを組み合わせることで、「投資に見合うリターンがあるか」「期待利回りは何パーセントか」を定量的に判断できます。本記事では2026年版として、NPV・IRR・XIRR関数の構文から実務の実装パターン、よくあるエラーの対処まで体系的に解説します。
「財務モデルをExcelで組みたい」「投資案件の採算計算を自動化したい」という方はぜひ最後までご覧ください。
NPV関数の基本構文と仕組み
NPV関数(Net Present Value:正味現在価値)は、将来発生する一連のキャッシュフローを、指定した割引率で現在価値に換算し合計する関数です。「この投資に対して、今の時点でいくら払うことが合理的か」を計算するのが主な用途です。
構文:=NPV(割引率, 値1, [値2], …)
| 引数 | 内容 | 備考 |
|---|---|---|
| 割引率(必須) | 1期間あたりの割引率 | 年利8%なら0.08。パーセントではなく小数で指定する |
| 値1(必須) | 1期目末のキャッシュフロー | 正値:収入 / 負値:支出 |
| 値2…(省略可) | 2期目以降のキャッシュフロー | 最大254項目。セル範囲でまとめて指定可能 |
初期投資はNPV関数の外に足す
NPV関数は引数に入れたキャッシュフローをすべて「期末」に発生するものと仮定します。初期投資(t=0時点)は関数内に含めると1期後に割り引かれてしまうため、NPV関数の計算結果に後から加算(または減算)する書き方が正しい実装です。
| 書き方 | 数式例 | 正誤 |
|---|---|---|
| 初期投資を関数の外に加算 | =NPV(割引率, C2:G2)+B2 | ○(正しい) |
| 初期投資を配列内の先頭に含める | =NPV(割引率, B2:G2) | ×(B2が1期後に割り引かれてしまう) |
上表でB2には初期投資(マイナス値)、C2:G2にはt=1~5の各期キャッシュフローが入力されているとします。NPVの計算結果が正(プラス)であれば投資価値あり、負(マイナス)であれば投資コストが現在価値ベースでリターンを上回ると判断します。
NPV関数のサンプル計算
設備投資5年計画の例(単位:万円):
| 期 | t=0(初期投資) | t=1 | t=2 | t=3 | t=4 | t=5 |
|---|---|---|---|---|---|---|
| キャッシュフロー(万円) | -1,000 | 250 | 300 | 350 | 300 | 200 |
初期投資をB2セル、t=1~5をC2:G2セルに配置し、割引率を8%とした数式:
=NPV(0.08, C2:G2)+B2
正味現在価値が正なら「この投資は8%の割引率でも元が取れる」と判断できます。割引率は通常、会社の資本コスト(WACC:加重平均資本コスト)や機会費用に合わせて設定します。
IRR関数の基本構文と仕組み
IRR関数(Internal Rate of Return:内部収益率)は、NPVがちょうどゼロになる割引率を逆算する関数です。「この投資が損益ゼロになるのはどの利率か」を自動で求め、その利率が資本コストを上回るかどうかで投資の合否を判断します。
構文:=IRR(値, [推定値])
| 引数 | 内容 | 備考 |
|---|---|---|
| 値(必須) | キャッシュフローの配列 | 先頭に初期投資(マイナス値)を含める。最低1個のマイナスと1個のプラスが必要 |
| 推定値(省略可) | 収束計算の初期推定値 | 省略すると0.1(10%)から開始。収束しない場合は別の値を試す |
NPV関数との引数構造の違い
NPV関数と異なり、IRR関数は初期投資も配列の中に含めるのが正しい書き方です。
| 関数 | 初期投資の扱い | 書き方の例 |
|---|---|---|
| NPV | 関数の外で加算する | =NPV(割引率, C2:G2)+B2 |
| IRR | 配列の先頭に含める | =IRR(B2:G2) |
IRRの計算結果が資本コスト(例:8%)を上回れば「採算合格」、下回れば「採算不合格」と判断します。
IRR関数のサンプル計算
上記の5年計画(B2=-1000, C2:G2=250,300,350,300,200)でIRRを計算する場合:
- 数式:
=IRR(B2:G2) - 計算結果が例えば22.8%であれば、この投資の内部収益率は約22.8%
- 資本コストが8%なら 22.8% > 8% なので採算合格と判断できます
IRR関数は反復計算(試行錯誤)でIRRを求めます。初期値から繰り返し修正を加え、NPV=0に近づく値を最大20回の試行で探します。推定値を省略すると0.1(10%)から開始します。
XIRR関数:不定期キャッシュフローへの対応
IRR関数は「各期間が等間隔(1年ごとなど)」を前提としています。しかし実際のビジネスでは「6月末に初期投資、翌年3月に最初の収益、さらに翌年11月に追加収益」のように、不均等な間隔でキャッシュフローが発生することがあります。この場合はXIRR関数を使います。
構文:=XIRR(値, 日付, [推定値])
| 引数 | 内容 | 備考 |
|---|---|---|
| 値(必須) | キャッシュフローの配列 | 初期投資はマイナス値で先頭に含める |
| 日付(必須) | 各キャッシュフローの発生日付 | 値と同じ要素数が必要。Excelの日付シリアル値として入力する |
| 推定値(省略可) | 初期推定値 | 省略すると0.1から計算を開始 |
XIRRの設定例(A列に日付、B列にキャッシュフロー):
| A列(日付) | B列(キャッシュフロー・万円) |
|---|---|
| 2025/6/30 | -2,000 |
| 2026/3/31 | 600 |
| 2026/9/30 | 800 |
| 2027/3/31 | 900 |
| 2027/12/31 | 700 |
- 数式:
=XIRR(B2:B6, A2:A6) - 各キャッシュフローの実際の発生日を使って年率換算のIRRを算出するため、等間隔でないプロジェクトでも正確な収益率が得られます
実務パターン1:設備投資の採算評価シート
NPVとIRRを一枚のシートで自動計算し、採算判定を表示する基本テンプレートの構成例です。割引率(資本コスト)をセルに格納しておくことで、前提条件を変更したときに自動で再計算されます。
| セル | 項目 | 入力内容・数式 |
|---|---|---|
| B2 | 初期投資(万円) | -2000(マイナス値で入力) |
| C2:G2 | t=1~5のキャッシュフロー(万円) | 各年度の純収益予測値を入力 |
| B4 | 割引率(資本コスト) | 0.08(8%) |
| B6 | NPV計算結果 | =NPV(B4, C2:G2)+B2 |
| B7 | IRR計算結果 | =IRR(B2:G2) |
| B8 | NPV採算判定 | =IF(B6>0,”採算合格(NPV正)”,”採算不合格(NPV負)”) |
| B9 | IRR採算判定 | =IF(B7>B4,”採算合格(IRR>資本コスト)”,”採算不合格(IRR<資本コスト)”) |
割引率(B4)を変更するだけでNPV・IRR両方の判定が自動更新されます。プロジェクト計画が変更になってキャッシュフロー予測を修正した場合も、シートに値を入力するだけで即時に再計算されます。
採算評価シートの条件付き書式設定
B8・B9セルに条件付き書式を設定すると、採算合格・不合格の判定が色でひと目でわかるようになります。
- B8セルを選択→「ホーム」タブ→「条件付き書式」→「新しいルール」
- 「数式を使用して、書式設定するセルを決定」を選択
- 数式に
=B6>0を入力し、塗りつぶし色を緑系に設定 - 同様の手順で
=B6<=0のルールを追加し、塗りつぶし色を赤系に設定
実務パターン2:複数プロジェクトの比較選択
複数の投資案を横並びにしてNPVとIRRを比較し、投資優先度を数値で一覧化する比較表の作成例です。経営会議の資料として活用できます。
| プロジェクト | 初期投資(万円) | NPV(万円) | IRR | NPV採算 | IRR採算 |
|---|---|---|---|---|---|
| プロジェクトA | -1,000 | =NPV(割引率, A期CF)+初期投資 | =IRR(A全CF) | =IF(NPV>0,…) | =IF(IRR>割引率,…) |
| プロジェクトB | -2,000 | =NPV(割引率, B期CF)+初期投資 | =IRR(B全CF) | =IF(NPV>0,…) | =IF(IRR>割引率,…) |
| プロジェクトC | -3,000 | =NPV(割引率, C期CF)+初期投資 | =IRR(C全CF) | =IF(NPV>0,…) | =IF(IRR>割引率,…) |
割引率セルを1か所に集約しておくことで、資本コストの前提を変更したときに全プロジェクトの評価が一括で更新されます。
NPVとIRRの優先順位が食い違うケース
複数案を比較する際にNPVとIRRで優先順位が逆転することがあります。投資規模が異なるプロジェクト同士では、小規模投資でも高いIRRが出やすく、絶対的なリターン額を見誤る危険があります。
| ケース | プロジェクトA | プロジェクトB |
|---|---|---|
| 初期投資 | -500万円 | -2,000万円 |
| NPV | 80万円 | 250万円 |
| IRR | 25% | 18% |
| IRR順位 | 1位 | 2位 |
| NPV順位 | 2位 | 1位 |
この例ではIRR基準ではAが優先されますが、NPV基準(付加価値の絶対額)ではBのほうが250万円と大きくなります。財務理論では規模の異なるプロジェクト同士はNPVを優先して比較するのが原則です。IRRは資本コストとの比較や単一案の採否判断に向いており、複数案の優先順位付けにはNPVを基本指標にするのが適切です。
実務パターン3:割引率感度分析(データテーブル活用)
割引率を変化させたときのNPVがどう変わるかを一覧で確認する感度分析は、投資判断の根拠を強化するうえで有効です。Excelのデータテーブル機能を使うと、割引率の一覧表でNPVの変化を自動計算できます。
NPV感度分析テーブルの作成手順
- D列に割引率の変化値を縦に並べる(例:D2=4%、D3=6%、D4=8%、D5=10%、D6=12%)
- E1セル(変化値の1行上かつ1列右)にNPV計算セルへの参照式を入力(例:
=B6) - D1:E6の範囲を選択し、「データ」タブ→「What-If分析」→「データテーブル」を開く
- 「列の代入セル」に割引率のセル(B4)を指定してOKをクリック
これで割引率ごとのNPV一覧が自動生成されます。「割引率が12%になってもNPVが正を保つか」「どの割引率でNPVがゼロになるか(これがIRRに対応)」を視覚的に確認できます。
| 割引率 | NPV(万円・例) | 判定 |
|---|---|---|
| 4% | 320 | 合格 |
| 6% | 230 | 合格 |
| 8% | 150 | 合格 |
| 10% | 75 | 合格 |
| 12% | 10 | 合格(ぎりぎり) |
| 14% | -55 | 不合格 |
上表のような結果が出た場合、「割引率が13%程度まではNPVが正を保つ(IRRが約13%)」と読み取れます。資本コストが8%であれば余裕のある投資案と判断できます。
よくあるエラーと対処法
#NUM! エラー
| 原因 | 対処法 |
|---|---|
| IRR・XIRRの収束計算が20回以内に解を見つけられない | 推定値引数を変えて再試行(例:0.1→0.3、または負値の-0.1など) |
| キャッシュフロー配列に符号変化がない(すべてプラスまたはすべてマイナス) | 初期投資のマイナス値が先頭要素に含まれているか確認する |
| 多重解問題(符号変化が2回以上ある非標準的なキャッシュフロー) | MIRR関数の使用を検討する(後述) |
#VALUE! エラー
| 原因 | 対処法 |
|---|---|
| XIRR関数で「値」と「日付」の配列サイズが異なる | 両方の配列要素数を確認して一致させる |
| 日付がシリアル値ではなく文字列として入力されている | セルの書式を「日付」に変更してExcelのシリアル値として認識させる |
| NPV・IRRの引数にテキストや空文字が含まれている | 数値のみの範囲に修正する。空白セルは0として扱われるため注意 |
多重解問題とMIRR関数による対処
プロジェクト途中に大規模な追加投資が発生するなど、キャッシュフローの符号が2回以上変化するケースでは、数学的にIRRが複数存在する可能性があります(例:12%と48%の2つのIRRが存在するなど)。Excelが返すIRRが「どちらの解か」を判断できないため、信頼性が下がります。
対策としてMIRR関数(修正内部収益率)を使う方法があります。MIRRは再投資利率と資金調達コストを別々に指定でき、多重解問題を回避できます。
構文:=MIRR(値, 資金調達率, 再投資利率)
| 引数 | 内容 |
|---|---|
| 値 | 初期投資(マイナス)を含むキャッシュフロー配列 |
| 資金調達率 | マイナスのキャッシュフロー(支出)に適用する利率(借入コストなど) |
| 再投資利率 | プラスのキャッシュフロー(収益)を再投資する際の想定利率 |
- 例:
=MIRR(B2:G2, 0.08, 0.05)(資金調達コスト8%、再投資利率5%) - 通常のIRRと比べてより保守的な結果が出やすく、非標準キャッシュフローにも対応できます
NPV・IRR・XIRRの使い分けまとめ
| 関数 | 主な用途 | 注意点 |
|---|---|---|
| NPV | 投資の現在価値合計。割引率を指定して絶対額で評価 | 初期投資は関数の外で加算する |
| IRR | 投資の内部収益率(年利)。資本コストと比較して採否を判断 | 等間隔期間が前提。多重解に注意 |
| XIRR | 不定期キャッシュフローの内部収益率。実際の日付を指定 | 値と日付の配列サイズを一致させる |
| MIRR | 多重解問題を回避した修正内部収益率 | 資金調達率と再投資利率の2つが必要 |
MOS試験との関係
NPV関数・IRR関数・XIRR関数は、MOS Excel 365試験の出題範囲に含まれます。分野別の出題数・配点は公表されていませんが、関数の構文(引数の役割・順序)と基本的な計算フローを理解していることが問われます。特にNPV関数での初期投資の扱い方(関数の外で加算する点)とIRR関数での配列構造(先頭にマイナス値を含める点)は頻出の知識です。
試験時間は50分、採点は1000点満点で、合格点は非公開で550点~850点が目安とされています。受験料については改定の実績があるため、最新の受験料は公式サイトの「受験料・価格」(https://mos.odyssey-com.co.jp/exam/examfee.html)でご確認ください。
試験対策のポイント
- NPV関数では「初期投資を関数の外に足す」という仕様を正確に覚える
- IRR関数では「初期投資(マイナス値)を配列の先頭に含める」という構造を押さえる
- #NUM!エラーの主な原因(収束失敗・符号変化なし)と推定値調整の方法を理解する
- XIRR関数で値と日付の配列要素数を一致させる必要があることを覚えておく
- NPVとIRRの判断基準の違い(正負の意味・資本コストとの比較方向)を区別する
学習時間の目安
| 学習者の状況 | 学習時間の目安 | 1日1時間のペース |
|---|---|---|
| 初学者 | 40~60時間 | 約2か月 |
| 業務でExcelを使っている方 | 20~30時間 | 3~4週間 |
よくある疑問(Q&A)
Q:NPVとIRRの結果が矛盾します。どちらを優先すればよいですか?
NPVとIRRが異なる採否判断を示す場合、財務理論ではNPVを優先するのが原則です。IRRは利率(パーセント)であるため規模を無視した評価になりますが、NPVは付加価値の絶対額を示すため、複数プロジェクトの比較では確実な基準になります。特に投資規模が異なる案の比較では、IRR単独での判断を避けてNPVと合わせて評価してください。
Q:割引率(資本コスト)はどうやって決めればよいですか?
企業の財務分析では通常、WACC(加重平均資本コスト)を使います。中小企業や個人事業での簡易試算では、借入利率や期待利回りをそのまま使用するケースもあります。Excelシートでは割引率を入力セルに分離し、前提を変えてNPVがどう変化するかを感度分析(データテーブル)で確認する方法が実用的です。
Q:XIRR関数とIRR関数の結果はなぜ異なりますか?
IRR関数は等間隔(1期=1年)を前提とした計算をします。XIRRは実際の日付から経過日数を計算して年率に換算するため、キャッシュフローが等間隔でないと両者の結果がずれます。実際のプロジェクトでは日付を正確に入力したXIRRのほうが精度が高くなります。日付が完全に等間隔(毎年末)であれば、IRRとXIRRの結果はほぼ一致します。
Q:IRRの計算で#NUM!エラーが出て困っています。推定値を変えても解決しません。
キャッシュフロー配列に符号変化が2回以上ある「非標準的なキャッシュフロー」では、数学的にIRRが複数存在する多重解問題が発生します。この場合は推定値を変えても収束しないことがあります。MIRR関数(修正内部収益率)に切り替えて資金調達率と再投資利率を指定する方法を検討してください。それでも対応が難しい場合は、NPVのみで採否を判断するアプローチが現実的です。
当サイトでは、Excel・Word・PowerPoint・AccessなどのOffice操作やMOS試験対策に関する情報を幅広く発信しています。ぜひ他の記事もご覧ください。
PR
NPV・IRR・XIRR関数を含むExcelの財務・集計・検索関数を図解中心で体系解説した定番書。Copilot連携の最新情報も収録しており、引数の役割と返り値のイメージをつかむのに最適な一冊です。
PR
改善Excel パフォーマンスを底上げする仕事改善・効率化テクニック
財務計算・採算シートを含む実務テンプレートを豊富に掲載。NPVやIRRを活用した投資評価モデルの組み方を実務視点から解説しており、本記事と合わせて読むことでシート設計の精度が高まります。
まとめ:NPV・IRR関数を使いこなすポイント
NPV関数は将来キャッシュフローを現在価値に割り引いた合計額を返し、IRR関数はNPVがゼロになる割引率を逆算します。2つを組み合わせることで、投資の採算性を多角的に評価できます。
- NPV関数は「初期投資を関数の外で加算する」のが正しい書き方
- IRR関数は「キャッシュフロー配列の先頭に初期投資(マイナス値)を含める」
- 不定期キャッシュフローにはXIRR関数を使い、値と日付の配列サイズを一致させる
- 複数プロジェクトの優先順位付けにはNPVを基本指標にする(IRR単独では規模の違いが無視される)
- #NUM!エラーは推定値調整または多重解問題への対処(MIRR関数)で解決する
- データテーブルと組み合わせた感度分析で割引率変化に対するNPVの安定性を確認する
- MOS試験では構文と引数の役割・NPV/IRRの判断基準の違いを理解しておく
