「この設備投資、本当にモトが取れるのかな?」
上司に投資の採算性を聞かれたとき、売上予測と初期費用を見比べるだけでは判断が難しいですよね。将来のお金は今のお金と価値が違うので、単純な足し算では正確な評価ができません。1年後の100万円は、利息分だけ今の100万円より価値が低い、という考え方です。
スプレッドシートのNPV関数を使えば、将来のキャッシュフローを「今の価値」に換算できます。投資が利益を生むかどうかを数値で判断できますよ。
この記事では、NPV関数の基本構文から設備投資の採算判断、複数案件の比較、月次キャッシュフローの扱い、感度分析の組み立て方まで、実務で使えるパターンをまとめて紹介します。経理・経営企画の現場でそのまま転用できる数式と表設計をセットで載せていますので、上司やクライアントに数値で説明したい場面で参考にしてください。
NPV関数とは? — スプレッドシートで正味現在価値を計算する関数
NPV関数(読み方: えぬぴーぶい)は、将来のキャッシュフローを割引率で現在価値に換算する関数です。投資の収益性を数値で評価できます。
名前は英語の「Net Present Value(正味現在価値)」の略です。日本語では「正味現在価値」「正味割引現在価値」と呼ばれ、企業の投資判断やM&A評価で広く使われている指標です。
「この投資に100万円かけて、5年間で得られるリターンは今の価値に直すといくら?」という疑問に答えてくれます。
NPV関数にできることをまとめると、次のとおりです。
- 将来の不均等なキャッシュフローを現在価値に換算する
- 設備投資やプロジェクトの採算性を数値で判断する
- 複数の投資案件を同じ基準で比較する
- 年ごとに異なる収益見込みでも正確に評価できる
- 割引率を変えたシミュレーション表を組んで感度分析ができる
NPVの考え方(時間価値の概念)
NPVを理解するには「お金の時間価値」を押さえる必要があります。たとえば年利5%で運用できる環境なら、今の100万円は1年後には105万円になります。逆に言えば、1年後の100万円は今の価値で約95.2万円です(100 ÷ 1.05)。
この「将来の金額を今の価値に戻す」操作を割引(ディスカウント)と呼び、使う利率が割引率です。NPV関数は、各期の将来キャッシュフローを割引率で現在価値に戻し、合計してくれます。
NOTE
NPV関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。同じ数式がそのまま動きます。
NPV関数の書き方(構文と引数)
基本構文
=NPV(割引率, キャッシュフロー1, [キャッシュフロー2, ...])
カッコの中に割引率と、各期間のキャッシュフローを指定します。最大254個までキャッシュフローを並べられますが、実務ではセル範囲で指定するほうが圧倒的に便利です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 割引率 | 必須 | 1期間あたりの割引率(年利なら年ごとのキャッシュフロー、月利なら月ごと) |
| キャッシュフロー1 | 必須 | 第1期のキャッシュフロー(収入ならプラス、支出ならマイナス) |
| キャッシュフロー2, … | 任意 | 第2期以降のキャッシュフロー。セル範囲でまとめて指定もできる |
割引率に何を入れるか
実務でよく使われる割引率の例です。
| 割引率の種類 | 目安 | 使う場面 |
|---|---|---|
| 安全資産利回り(国債利回り) | 0.5〜2% | 確実性の高いプロジェクト |
| 自社の借入金利 | 1〜3% | 金融機関から資金調達する案件 |
| 加重平均資本コスト(WACC) | 5〜10% | 企業の標準的な投資評価 |
| ハードルレート(社内基準収益率) | 8〜15% | 戦略投資・リスクの高い案件 |
割引率が高いほどNPVは小さくなり、評価が厳しくなります。リスクの高い案件には高めの割引率を使うのが基本です。
TIP
NPV関数のキャッシュフローは「第1期」から始まります。初期投資(第0期)はNPVの外で足す必要があります。これが最大の注意点です。詳しくは次のセクションで説明します。
NPV関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。
初期投資を含めた正味現在価値の計算
設備投資100万円をして、1年目に30万円、2年目に40万円、3年目に50万円のリターンが見込める案件を評価します。割引率は5%とします。
=NPV(5%, 300000, 400000, 500000) + (-1000000)
結果は 約80,445 です。プラスなので、この投資は5%の割引率で見ても利益が出ると判断できます。
ここで大事なポイントが1つあります。
初期投資はNPVの外で足すという点です。NPV関数は第1期からのキャッシュフローしか受け取れません。第0期(今すぐの支出)である初期投資は、NPVの結果に直接足します。初期投資は支出なのでマイナス値です。
なぜこのルールがあるかというと、NPV関数の内部計算では「第1引数のキャッシュフローを1期分割引する」処理が走るためです。今すぐ発生する初期投資を引数に入れてしまうと、1期分余計に割引されてしまいます。
セル範囲で指定する
キャッシュフローが多い場合は、セルに入力してから範囲で指定すると便利です。
| セル | 内容 | 金額 |
|---|---|---|
| B1 | 初期投資 | -1,000,000 |
| B2 | 1年目 | 300,000 |
| B3 | 2年目 | 400,000 |
| B4 | 3年目 | 500,000 |
=NPV(5%, B2:B4) + B1
結果は先ほどと同じ 約80,445 です。セル範囲を使えば、キャッシュフローの数が増えても数式を変える必要がありません。期間を5年から10年に伸ばすときも、範囲を B2:B11 に書き換えるだけで済みます。
NPVの結果の読み方
NPV関数の結果は、投資判断のシンプルな基準になります。
| NPVの値 | 意味 | 判断 |
|---|---|---|
| プラス | 投資額以上のリターンが得られる | 投資する価値あり |
| ゼロ | 投資額とリターンがちょうど同じ | 損も得もしない |
| マイナス | 投資額に見合うリターンが得られない | 投資を見送るか再検討 |
NPVがプラスなら「投資OK」、マイナスなら「見送り」が基本的な判断です。さらに、複数案件を比べるときはNPVの絶対額が大きい案件のほうが収益性が高いと評価します。
NPV関数の実践的な使い方・応用例
設備投資の採算判断
新しい機械を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 |
割引率を8%として計算します。
=NPV(8%, B2:B6) + B1
結果は 約-120,460 です。マイナスなので、割引率8%で評価するとこの設備投資は採算が合わない計算になります。
ただし、割引率を5%に下げると結果が変わります。
=NPV(5%, B2:B6) + B1
結果は 約320,382 です。プラスに転じました。割引率の設定によって判断が変わるので、自社の資本コストに合った割引率を使うことが大切です。
複数プロジェクトの比較
2つの投資案件を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 |
割引率5%で比較します。
案件A: =NPV(5%, 1200000, 1200000, 1200000) + (-3000000) → 約267,898
案件B: =NPV(5%, 1500000, 2000000, 2500000) + (-5000000) → 約402,224
案件BのほうがNPVが大きいため、収益性が高いと判断できます。
NPVは金額の絶対値で比較できるので、初期投資額が違う案件同士でも同じ土俵で評価できるのが便利ですよ。
ただし注意点として、NPVは絶対額での比較です。投資効率(投下資本あたりのリターン)を見たい場合は、NPV ÷ 初期投資 で収益性指数(PI: Profitability Index)を出すと比較しやすくなります。案件Aは 267,898 ÷ 3,000,000 = 約0.089、案件Bは 402,224 ÷ 5,000,000 = 約0.080 となり、効率では案件Aが上です。資金が限られている場合は効率も併せて見るといいですよ。
割引率を変えたシミュレーション表(感度分析)
割引率によってNPVがどう変わるかを一覧にすると、判断材料が増えます。
初期投資200万円、1年目50万円、2年目70万円、3年目90万円、4年目80万円のケースです。
| 割引率 | NPV | 判断 |
|---|---|---|
| 3% | 約679,671 | 余裕あり |
| 5% | 約546,727 | 投資OK |
| 8% | 約365,573 | 投資OK |
| 10% | 約255,652 | 投資OK(プラス幅は縮小) |
| 15% | 約25,143 | ぎりぎりOK |
| 16% | 約-15,879 | 採算割れ |
割引率が上がるほどNPVは小さくなります。「NPVがちょうどゼロになる割引率」のことをIRR(内部収益率)と呼びます。この案件のIRRは15〜16%の間にあると読み取れます。
感度分析の数式パターンは次のように組むと便利です。
| セル | 内容 |
|---|---|
| A2:A8 | 割引率(3%, 5%, 8%, 10%, 12%, 15%, 18%) |
| B2 | =NPV(A2, $C$2:$C$5) + $C$1 |
| B3〜B8 | 同様に下方向にコピー |
割引率セル A2 を相対参照、キャッシュフロー範囲 $C$2:$C$5 を絶対参照にすることで、コピーしたときに割引率だけが変わります。
月次キャッシュフローで計算する
年次ではなく月次でキャッシュフローを管理しているケースもあります。月次の場合は割引率も月利に変換して指定します。
=NPV(8%/12, B2:B13) + B1
年利8%を12で割って月利に変換しています。B2:B13に1月目から12月目までのキャッシュフローが入っている想定です。
年利と月利の変換を忘れると結果が大きくずれるので注意してくださいね。たとえば年利8%をそのまま月利に使うと、12ヶ月後のNPVが極端に小さく出てしまいます。
不定期キャッシュフローの場合(XNPV関数)
NPV関数は「期間の長さが等しい」キャッシュフローしか扱えません。たとえば「1月に支払、4月に入金、9月に追加支払」のように日付がバラバラな場合は、XNPV関数 を使います。
=XNPV(割引率, キャッシュフロー範囲, 日付範囲)
XNPVは日付ベースで日次の割引計算をするため、不定期な現金収支も正確に評価できます。設備投資のように年単位で区切れる案件にはNPV、不定期な案件にはXNPVと覚えておきましょう。
NPV関数とPV関数の違い
NPV関数とPV関数は名前が似ていますが、用途が異なります。
| 比較項目 | NPV関数 | PV関数 |
|---|---|---|
| 正式名称 | Net Present Value(正味現在価値) | Present Value(現在価値) |
| 用途 | 不均等なキャッシュフローの現在価値を合計する | 均等な定期支払いの現在価値を求める |
| キャッシュフロー | 各期ごとに異なる金額を指定できる | 毎期同じ金額(定期支払額)を指定する |
| 初期投資 | NPVの外で足す | 引数に含めない(別途計算) |
| 典型的な使い方 | 設備投資・プロジェクト評価 | ローン借入可能額・年金の現在価値 |
| 構文 | =NPV(割引率, CF1, CF2, …) | =PV(利率, 期間数, 定期支払額) |
使い分けのポイント: 毎期のキャッシュフローが同じ金額ならスプレッドシートのPV関数の使い方|将来のお金を「今の価値」に換算する、期ごとに異なる金額ならNPV関数を使いましょう。
たとえばローンの返済額計算にはPV関数、設備投資の採算判断にはNPV関数が向いています。
NPV関数とIRR関数の違い
IRR関数(内部収益率)はNPV関数とセットで使われることが多い関数です。違いを整理しましょう。
| 比較項目 | NPV関数 | IRR関数 |
|---|---|---|
| 求めるもの | 現在価値の金額 | 採算の取れる利回り |
| 単位 | 金額(円) | パーセント(%) |
| 割引率の入力 | 必要 | 不要(IRRが自分で求める) |
| 判断基準 | プラスなら投資OK | ハードルレート以上なら投資OK |
| 比較のしやすさ | 金額の絶対値で比較 | 利回りで比較(規模に関係なく評価可能) |
どちらも同じ案件を別の角度から評価する指標です。NPVは「いくら儲かるか」、IRRは「何%の利回りか」を教えてくれます。実務では両方を出して、上司や決裁者に提示するケースが一般的です。
よくあるエラーと対処法
NPV関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| NPVが異常に大きい/小さい | 初期投資をNPVの中に含めている | 初期投資はNPVの外で足す(=NPV(…) + 初期投資) |
| 結果がずれる | 年利を月次キャッシュフローにそのまま使っている | 月次なら年利/12に変換する |
| #VALUE! エラーが出る | 引数に文字列やテキストが含まれている | 数値のみ指定する。空白セルは問題なし |
| #NUM! エラーが出る | 割引率に不正な値を指定している | 割引率は正の数(小数またはパーセント)で指定する |
| NPVが想定より小さい | キャッシュフローの範囲に初期投資(マイナス値)が含まれている | 初期投資のセルを範囲から除外し、NPVの外で足す |
| 結果が0に近い | キャッシュフローが全て0 | セル範囲の参照先に値が入っているか確認する |
| 結果が常に同じ符号 | 全期間プラスまたは全期間マイナス | 投資(マイナス)と回収(プラス)の両方が含まれているか確認 |
TIP
最も多いミスは「初期投資をNPVの中に入れてしまう」ことです。NPV関数は第1期からのキャッシュフローを割引計算するため、第0期の初期投資を含めると1期分余計に割引されてしまいます。=NPV(割引率, 第1期以降) + 初期投資 の形を覚えておきましょう。
デバッグのコツ
NPVの結果が直感に合わないときは、各期の現在価値を1つずつ計算して合計してみると原因がわかりやすいです。
| 年 | キャッシュフロー | 割引係数 | 現在価値 |
|---|---|---|---|
| 1年目 | 300,000 | 1/(1+5%)^1 = 0.9524 | 285,714 |
| 2年目 | 400,000 | 1/(1+5%)^2 = 0.9070 | 362,812 |
| 3年目 | 500,000 | 1/(1+5%)^3 = 0.8638 | 431,919 |
| 合計 | 1,080,445 |
これに初期投資 -1,000,000 を足して 80,445 が正味現在価値となります。NPV関数の結果と一致することが確認できますね。
Excelとの違い
NPV関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =NPV(割引率, 値1, [値2, …]) | =NPV(割引率, キャッシュフロー1, [キャッシュフロー2, …]) |
| 動作 | 正味現在価値を返す | 正味現在価値を返す |
| 初期投資の扱い | NPVの外で足す | NPVの外で足す |
| セル範囲の指定 | 対応 | 対応 |
| 引数の最大数 | 254個 | 254個(実用上は十分) |
引数名の表記が若干異なるだけで、機能は完全に同じです。初期投資を外で足すルールも共通なので、ExcelとGoogleスプレッドシートのどちらでも同じ数式がそのまま使えます。Excelで作ったファイルをスプレッドシートにアップロードしても再計算は問題なく行われます。
よくある質問(FAQ)
Q. 初期投資が複数年に分かれる場合はどう計算しますか?
たとえば1年目と2年目に分けて初期投資を行うケースでは、マイナスのキャッシュフローも普通に範囲に含めて計算できます。「今すぐ発生する」第0期分だけNPVの外で足し、残りは範囲内に入れればOKです。
=NPV(5%, B2:B6) + B1
(B1: 第0期の初期投資 -3,000,000、B2: 第1期 -2,000,000、B3〜B6: 各期の収益)
Q. 割引率は何%にすればいいですか?
業種・案件のリスクで変わりますが、目安として中小企業の標準的な投資判断では5〜10%を使うケースが多いです。自社の借入金利や期待収益率を参考に、社内で統一基準を決めておくと案件比較がしやすくなります。
Q. NPVがマイナスでも投資すべき場合はありますか?
純粋な金銭評価ではマイナス案件は見送りですが、戦略的な意義(市場シェア確保、ブランド構築、技術習得、法令対応など)がある場合は経営判断で実施することもあります。NPVはあくまで「金銭面の指標」として捉えてください。
Q. キャッシュフローの予測が外れるのが怖いです
NPV分析は予測の精度に依存します。リスクに備える方法として、ベース・楽観・悲観の3シナリオでNPVをそれぞれ計算しておくと安心です。最悪シナリオでもNPVがマイナスにならない案件は、相対的に安全な投資といえます。
Q. NPVとIRRはどちらを優先すべきですか?
一般的にはNPVを優先します。理由は、IRRは複数のキャッシュフローパターンで複数の解を持つことがあり、結果の解釈が難しい場合があるためです。NPVは金額で出るので、社内説明にも使いやすいですよ。
Q. インフレ率は割引率に含めるべきですか?
実務では含めるのが一般的です。割引率を「名目割引率」として、インフレ率込みで設定します。例: 実質割引率5% + 期待インフレ率2% = 名目割引率7%。キャッシュフローの予測も同じ前提(名目値)で揃える必要があります。
まとめ
NPV関数は、将来のキャッシュフローを「今の価値」に換算して投資判断を数値化する関数です。
ポイントを整理します。
- 構文は
=NPV(割引率, キャッシュフロー1, [キャッシュフロー2, ...]) - 初期投資はNPVの外で足す(
=NPV(...) + 初期投資)が最重要ルール - NPVがプラスなら「投資OK」、マイナスなら「見送り」が基本判断
- 各期のキャッシュフローが異なる金額でも正確に評価できる
- 複数の投資案件を同じ基準で比較できる
- 月次の場合は割引率も月利に変換する
- 不定期キャッシュフローには
XNPV関数を使う - 均等な定期支払いの現在価値にはスプレッドシートのPV関数の使い方|将来のお金を「今の価値」に換算するを使う
- 割引率を変えたシミュレーション表(感度分析)を作ると判断がしやすくなる
- IRR関数と組み合わせて使うと、金額面と利回り面の両方から評価できる
まずは =NPV(5%, 300000, 400000, 500000) + (-1000000) で3年間のキャッシュフローの正味現在価値を試してみてください。実数値での動きを確認してから、自社の案件に当てはめて判断材料にしてみるといいですよ。
