🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

ExcelのNPV・IRR — 割引キャッシュフローと収益率

|

ExcelのNPV・IRR — 割引キャッシュフローと収益率

要点NPV は将来のキャッシュフローの系列を、与えた利率で今日まで割り引きます。 IRR は、その NPV をゼロにする利率——プロジェクトに内在する収益率——を求めます。 他のどんなミスよりも多くのモデルを沈める1つの間違い:Excel の NPV は、範囲の 最初の値が今日ではなく1期先に届くと仮定します。だから時点ゼロの投資は NPV の 呼び出しのに置かなければなりません:=initial_outlay + NPV(rate, future_flows)。 投資を中に入れると、どの答えも1期分だけ多く割り引かれます——エラーも出さず、こっそり と。実際のカレンダー日付上のキャッシュフローには、代わりに XNPVXIRR を使い ます。

=NPV(10%, C2:C6)               ' C2:C6の5つの将来キャッシュフローを10%で割り引いた現在価値
=-50000 + NPV(10%, C2:C6)      ' 正しいプロジェクトNPV:t=0の投資は外、将来の流れは中
=NPV(10%, -50000, C2:C6)       ' 誤り:t=0の投資を、あるべきでない1年分だけ割り引く
=IRR(C1:C6)                    ' NPV = 0となる利率;C1:C6はt=0の投資を含む
=XNPV(10%, C1:C6, B1:B6)       ' 同じ考え方だが、B1:B6の実際の日付を使う

「Excel 財務」のチュートリアルはほぼすべて、キャッシュフローの列まるごと——初期投資も 含めて——を関数の中に落とし込んで NPV を教えます。その習慣ひとつが間違いで、毎回 きっかり1期分ずれた評価を生みます。本記事はまずその修正から始めます。こっそり間違って いる割引キャッシュフローのモデルは、モデルが無いよりも悪いからです。

この記事で学べること

  • NPVIRR が存在する理由:PMT 一族では扱えない不規則なキャッシュフロー
  • 1期ずれの罠——Excel の NPV のタイミングの仮定と、その対策
  • IRR——NPV をゼロにする利率と、それが時々 #NUM! を返す理由
  • 複数 IRR の問題と、MIRR に手を伸ばすべきとき
  • XNPVXIRR——実際の日付で割り引く、アナリストが本当に使うもの

NPV と IRR が存在する理由

PMT/FV/PV 一族一定額の支払い——毎期同じ金額——を 前提とします。現実の投資はそうは動きません:最初に $50,000 を投じ、その後5年で ばらついた $8,000$12,000$18,000$20,000$15,000 を稼ぎます。NPVIRR は、まさにこうした不規則な系列のために作られています。

発想は割引です:来年の1ドルは今日の1ドルより価値が低いので、各将来キャッシュフローは、 何期先かに応じて (1 + rate) の累乗で割られます。NPV はそれら割引後の価値をすべて 足し合わせます。合計が正なら、そのプロジェクトはあなたの要求利回りを上回り、価値を 生みます。

1期ずれの罠

ここがどのチュートリアルも間違えるところです。Excel の NPV は、最初の値を「今日」と して扱いません。値1は1期、値2は2期先……と仮定します。それは本当に将来の流れなら 妥当です——しかしプロジェクトの初期投資は時点ゼロ、つまり今日起きるもので、まったく 割り引くべきではありません。

だから初期投資は NPVに、満額で足すのが正しい場所です:

' キャッシュフロー:C1 = -50000(今日)、C2:C6 = 将来の1〜5年目
=-50000 + NPV(10%, C2:C6)      ' 正しい -> 真のプロジェクトNPV
=NPV(10%, C1:C6)               ' 誤り -> -50000を1年目に起きたかのように扱う

誤った版は、すべてのキャッシュフロー——投資もリターンも——を1期分だけ多く割り引き、 NPV 全体を余分な (1 + rate) で割ります。投資の置き場所を誤るだけでなく、10%の利率 では評価全体をこっそり約9%縮めます。そして何も警告してくれません——どちらの数式も、 きれいな数字を返します。刻み込むべきルール:NPV は将来の流れ専用。時点ゼロの金額は 外で足す。

IRR — NPV をゼロにする利率

IRR は逆の問いに答えます。「10%でいくらの価値か」ではなく、「ちょうどゼロの価値に する利率は何か」を尋ねます。その利率が内部収益率——プロジェクト自身の損益分岐と なる割引率で、あなたの資本コストと比べます。

=IRR(C1:C6)                    ' C1:C6 = -50000, 8000, 12000, 18000, 20000, 15000 -> 約12.5%
=IRR(C1:C6, 10%)               ' 同じだが、収束を助ける初期推測つき

NPV と違う点が2つあります。1つ目、IRR は時点ゼロの値を含む全体のキャッシュ フロー範囲を取ります——ここに「関数の外」のトリックはありません。IRR は今日まで 割り引いているのではなく、系列全体にわたる利率を解いているからです。2つ目、IRR反復計算です:Excel は最大20回まで推測して精緻化します。収束できなければ #NUM! を返します——たいていは系列が符号を一度も変えない(少なくとも1つの負と1つの正の流れが 要ります)か、既定の推測が大きく外れているためです。guess 引数を与えて後押しします。

複数 IRR の罠

IRR にはもっと微妙な失敗があります。キャッシュフローの符号が2回以上反転すると ——たとえば出金、入金、そして最後に大きな後始末コスト——方程式は数学的に妥当な利率を 複数持ちうるので、Excel は推測が近づいたどれかを返します。もっともらしく見えるのに 無意味な IRR が出てくることがあります。

対策は MIRR です。財務の出金と再投資の入金に明示的な利率を仮定することで、この問題を 回避します:

=MIRR(C1:C6, 8%, 12%)          ' 財務利率8%、再投資利率12% -> 曖昧さのない単一の利率

MIRR は常に単一の答えを返し、その再投資の仮定は素の IRR(あらゆる入金を IRR その もので暗黙に再投資する)より現実的です。キャッシュフローが2回以上向きを変えるときは、 MIRR を選びましょう。

XNPV と XIRR — 実際の日付で割り引く

素の NPVIRR は、どのキャッシュフローもちょうど1期間隔だと仮定します。現実の キャッシュフローは実際の日付に着地します——3月3日に1件、11月20日にもう1件、 間隔はばらばら。XNPVXIRR は明示的な日付の列を取り、実際の日数(実日数/365)で 割り引きます:

=XNPV(10%, C1:C6, B1:B6)       ' 値はC、その日付はB -> 日付に正確なNPV
=XIRR(C1:C6, B1:B6)            ' 日付に正確なIRR
=XIRR(C1:C6, B1:B6, 15%)       ' 収束しないとき用の推測つき

これらをアナリストの標準にする利点が2つあります。1つ目、XNPV最初の日付を今日と して使うので——NPV と違って——時点ゼロの投資を範囲の中に含めてよく、1期ずれの罠が 消えます。2つ目、年次の NPVIRR では表現しようがない不規則なタイミングを扱えます。 キャッシュフローに実際の日付が付いているなら、まず XNPVXIRR に手を伸ばしましょう。

ExcelMaster の使いどころ

割引キャッシュフローのモデルは、静かで具体的な仕方で壊れます:NPV の中に埋もれた 初期投資、誤った根に収束した IRR、日付付きキャッシュフローに使われた年次関数。 ExcelMaster に「このプロジェクトを10%の割引率で評価して」と伝えれば、時点ゼロの 投資を NPV の外に置き、IRR を系列全体につなぎ、そして——流れに日付が付いていれば—— タイミングが正確になるよう XNPVXIRR に切り替えます。#NUM! を返す IRR を貼れば、 系列が符号を変えるかを確認し、推測を加えます。

よくある質問

Excel の NPV が間違うのはなぜ?

ほぼ必ず1期ずれの罠です:Excel の NPV最初の値が1期先に起きると仮定するので、 時点ゼロの投資を関数の中に含めると、割り引くべきでない1期分だけ割り引かれます。初期 投資をに置きます:=-50000 + NPV(rate, future_flows)。あるいは最初の日付を今日 として扱う XNPV を使います。

NPV と IRR の違いは?

NPV金額を返します——あなたが選んだ利率での、キャッシュフローの正味現在 価値です。IRR利率を返します——NPV がゼロに等しくなる割引率です。プロジェクト が要求利回りを上回るかの判断には NPV を、プロジェクトの収益率を単一のパーセンテージ で表すには IRR を使います。

IRR が #NUM! を返すのはなぜ?

IRR は反復計算で、20回試して諦めたのです。よくある原因は2つ——符号を一度も変えない キャッシュフロー(少なくとも1つの負と1つの正の値が要ります)と、答えから遠すぎる 出発点です。guess 引数を加え、例えば =IRR(range, 10%) とし、系列に出金と入金の 両方が本当にあるか確かめてください。

XNPV と XIRR はいつ使う?

きれいに等間隔ではなく、キャッシュフローが実際の日付に落ちるときはいつでもです。 XNPVXIRR は日付の列を取り、実際の日数で割り引き、XNPV は最初の日付を今日と して扱います——だから初期投資を範囲に含めても、1期ずれの罠を完全に避けられます。現実の 財務モデルの標準です。

IRR と MIRR の違いは?

IRR は、キャッシュフローの符号が2回以上変わると複数の妥当な答えを返すことがあり、 しかも入金は IRR そのもので再投資されると仮定します。MIRR は両方を直します:明示的な 財務利率と再投資利率を与え、常に単一の、より現実的な利率を返します。キャッシュフローが 2回以上向きを変えるときは MIRR を選びましょう。

検証環境

検証環境: Excel 365(Windows 11)— 最終確認 2026-07-23。

関連ガイド: ExcelのPMT · ExcelのFV・PV · 財務三表モデル · Excelでの銀行勘定調整 · ExcelのSUMPRODUCT関数