=NPV(E2,B3:B5)+B2は、1年目から3年目のキャッシュフローをE2の割引率で割り引き、B2の初期投資を足します。初期投資は今日発生するので割り引きません。=IRR(B2:B5)は、その正味現在価値がちょうど0になる割引率を返します。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Year | Cash flow | Measure | Value | |
| 2 | 0 | -$10,000 | Rate | 10% | |
| 3 | 1 | $3,000 | NPV | $1,307.29 | |
| 4 | 2 | $4,200 | IRR | 16.34% | |
| 5 | 3 | $6,800 |
10%ではプロジェクトの価値がコストを$1,307.29上回り、IRRは約16.34%です。E2の割引率を16%に変えるとNPVは約64に下がり、20%ではマイナスになります。これが2つの関係です。IRRはNPVが0をまたぐ率です。
NPV関数の構文: 最初のキャッシュフローは1期間後
=NPV(rate, value1, [value2], ...)
ExcelのNPVは、すべての値が期間の終わりにあり、今から1期間後に始まると仮定します。そのため範囲の最初の値は1回、2つ目は2回というように割り引かれます。今日(0年目)の投資を範囲に入れてはいけません。上の数式のように、NPVの後に足します。投資は出ていくお金なのでマイナスです。
それを範囲の中に入れるのはExcelのNPVでいちばんよくある間違いで、エラーは出ず、数が小さくなるだけです:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Year | Cash flow | Version | NPV at 10% | |
| 2 | 0 | -$10,000 | Rate | 10% | |
| 3 | 1 | $3,000 | Right | $1,307.29 | |
| 4 | 2 | $4,200 | Wrong | $1,188.44 | |
| 5 | 3 | $6,800 |
間違った版は$1,188.44になり、これは正しい答えを1.1で割った値です。投資も含めたすべてのキャッシュフローが1年後ろにずれています。最初のキャッシュフローが本当に1年目の終わりにある(機械の代金を1年後に払う)なら、範囲全体をNPVの中に入れます。
NPVの計算方法
NPVは、各キャッシュフローを(1 + 割引率)の年数乗で割り、その結果を足します。このシートは手で計算しているので、各年がいくら寄与しているかがわかります。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Year | Cash flow | Present value | Rate | |
| 2 | 0 | -$10,000.00 | -$10,000.00 | 10% | |
| 3 | 1 | $3,000.00 | $2,727.27 | ||
| 4 | 2 | $4,200.00 | $3,471.07 | ||
| 5 | 3 | $6,800.00 | $5,108.94 | ||
| 6 | Total | $1,307.29 |
3年目の6,800は、10%では今日の$5,108.94の価値しかありません。C6の合計はNPVと同じ$1,307.29です。0年目は(1.1)^0、つまり1で割るので、そのままです。
IRR関数の構文と読み方
=IRR(values, [guess])
values(範囲)には、マイナスの投資を先頭に、すべてのキャッシュフローを時間の順に入れます。等間隔(毎年、または毎月)である必要があります。guess(推定値)はExcelの探索の出発点で省略でき、既定は10%です。IRRが#NUM!を返したときだけ指定します。
プロジェクトは、IRRが資金のコストやほかで得られる率(ハードルレート)より高ければ実行する価値があります。資本コスト10%に対してIRR 16.34%なら実行で、プラスのNPVとも一致します。
キャッシュフローが毎月なら、IRRは月利を返します。年率に変換するには12を掛けるのではなく=(1+IRR(B2:B13))^12-1を使います。
すべての値が同じ符号である(取り戻すべき投資がない)ときや、20回の試行で率が見つからないとき、IRRは#NUM!を返します。符号が2回以上変わる系列(投資、回収、再投資)には正しいIRRが2つあることがあり、Excelがどちらを返すかは推定値しだいです。その場合はNPVのほうを信頼する理由になります。
実際の日付にはXNPVとXIRR
キャッシュフローが規則的な日付に来ないときは、XNPVとXIRRを使います。各値の日付を受け取り、1年を365日として正確な日数で割り引きます。NPVと違って、XNPVはすべての値を最初の日付まで割り引き、最初の値は割り引かないので、投資を範囲の中に入れます。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Date | Cash flow | Measure | Value | |
| 2 | 2026-01-15 | -$10,000 | XNPV at 10% | $1,609.73 | |
| 3 | 2026-09-01 | $3,000 | XIRR | 19.08% | |
| 4 | 2027-06-30 | $4,200 | |||
| 5 | 2028-12-31 | $6,800 |
XNPVが年単位のNPVより高くなるのは、どのキャッシュフローも整数の年数より早く入るからです。最初の3,000は7か月半後に、最後の6,800は3年目の終わりの2週間前に入ります。最後の日付を1年後ろにずらすと、両方の結果が下がります。同じお金でも、入るのが遅いほど今日の価値は小さくなります。XIRRは、ばらばらの日に入金がある投資口座の利回りにも適した関数です。
やってみよう: NPVとIRR
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Year | Cash flow | Measure | Value | |
| 2 | 0 | -$24,000 | Rate | 8% | |
| 3 | 1 | $7,000 | NPV | ||
| 4 | 2 | $7,500 | |||
| 5 | 3 | $8,000 | |||
| 6 | 4 | $8,500 |
やってみよう: バンは今日B2の費用がかかり、1年目から4年目の終わりにB3:B6の金額を節約できます。E3に、E2の割引率での正味現在価値を計算してください。
ヒント: 0年目はNPVの外に置きます。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Year | Cash flow | Measure | Value | |
| 2 | 0 | -$50,000 | IRR | ||
| 3 | 1 | $9,000 | |||
| 4 | 2 | $9,500 | |||
| 5 | 3 | $10,000 | |||
| 6 | 4 | $10,500 | |||
| 7 | 5 | $25,000 |
やってみよう: E2に、B2:B7のキャッシュフローの内部収益率を計算してください。
NPVとIRR: どちらを信頼するか
| 問い | 使うもの | 理由 |
|---|---|---|
| このプロジェクトは自社の資本コストで見合うか? | NPV | プラスのNPVは、今日のお金でそれだけの価値を加えます。 |
| このプロジェクトの利回りは? | IRR | 1つの割合で、ハードルレートと比べやすい。 |
| 規模の違う2つのプロジェクトのどちらか? | NPV | IRRは小さいプロジェクトに有利です。1,000に対する50%は、100,000に対する20%より少ないお金です。 |
| 符号が2回以上変わるキャッシュフロー | NPV | IRRは答えが2つあるか、1つもないことがあります。 |
| 不規則な日付の支払い | XNPV / XIRR | NPVとIRRは期間が等しいと仮定します。 |
途中に何もなく、開始値と終了値の間の1つの成長率なら、IRRよりCAGRのほうが簡単です。ローンの返済額にはPMTを使います。
よくある質問
ExcelでNPVを計算するには?
=NPV(rate, 将来のキャッシュフロー) + 初期投資を使います。たとえばB2の投資をマイナスの数で入れて=NPV(10%,B3:B5)+B2です。NPVは最初の値を1期間後に入るものとして扱うので、今日使うお金はその外に置く必要があります。
ExcelのNPVが電卓と違う答えになるのはなぜですか?
たいていは初期投資を範囲の中に入れたからです。=NPV(10%,B2:B5)は0年目の金額まで1年分割り引いてしまいます。ExcelのNPVは最初のキャッシュフローの1期間前の現在価値で、時点0の値を含む教科書どおりのNPVではありません。
ExcelでIRRを計算するには?
マイナスの初期投資を含むすべてのキャッシュフローを1つの範囲に置き、=IRR(B2:B5)を使います。キャッシュフローは等間隔である必要があります。実際の日付なら=XIRR(values, dates)を使います。
ExcelでIRRが#NUM!を返すのはなぜですか?
すべてのキャッシュフローが同じ符号である(打ち消し合う率がない)か、Excelが20回の試行で率を見つけられなかったかのどちらかです。投資がマイナスになっているかを確かめ、2つ目の引数に推定値を指定します:=IRR(B2:B5,0.1)。
NPVとXNPVの違いは何ですか?
NPVはキャッシュフローの間隔が等しく、最初のものが1期間後に来ると仮定します。XNPVは各キャッシュフローの日付を受け取って正確な日数で割り引き、すべてを最初の日付まで割り引くので、投資を範囲の中に入れます。