「この設備投資、本当にモトが取れるのかな?」
上司に投資の採算性を聞かれたとき、売上予測と初期費用を見比べるだけでは判断が難しいですよね。将来のお金は今のお金と価値が違うので、単純な足し算では正確な評価ができません。
スプレッドシートのNPV関数を使えば、将来のキャッシュフローを「今の価値」に換算できます。投資が利益を生むかどうかを数値で判断できますよ。
この記事では、NPV関数の基本から設備投資の採算判断、複数案件の比較まで、実務で使えるパターンをまとめて紹介します。
NPV関数とは? — スプレッドシートで正味現在価値を計算する関数
NPV関数(読み方: えぬぴーぶい)は、将来のキャッシュフローを割引率で現在価値に換算する関数です。投資の収益性を数値で評価できます。
名前は英語の「Net Present Value(正味現在価値)」の略です。
「この投資に100万円かけて、5年間で得られるリターンは今の価値に直すといくら?」という疑問に答えてくれます。
NPV関数にできることをまとめると、次のとおりです。
- 将来の不均等なキャッシュフローを現在価値に換算する
- 設備投資やプロジェクトの採算性を数値で判断する
- 複数の投資案件を同じ基準で比較する
- 年ごとに異なる収益見込みでも正確に評価できる
NOTE
NPV関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
NPV関数の書き方(構文と引数)
基本構文
=NPV(割引率, キャッシュフロー1, [キャッシュフロー2, ...])
カッコの中に割引率と、各期間のキャッシュフローを指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 割引率 | 必須 | 1期間あたりの割引率(年利なら年ごとのキャッシュフロー、月利なら月ごと) |
| キャッシュフロー1 | 必須 | 第1期のキャッシュフロー(収入ならプラス、支出ならマイナス) |
| キャッシュフロー2, … | 任意 | 第2期以降のキャッシュフロー。セル範囲でまとめて指定もできる |
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の結果に直接足します。初期投資は支出なのでマイナス値です。
セル範囲で指定する
キャッシュフローが多い場合は、セルに入力してから範囲で指定すると便利です。
| セル | 内容 | 金額 |
|---|---|---|
| B1 | 初期投資 | -1,000,000 |
| B2 | 1年目 | 300,000 |
| B3 | 2年目 | 400,000 |
| B4 | 3年目 | 500,000 |
=NPV(5%, B2:B4) + B1
結果は先ほどと同じ 約80,445 です。セル範囲を使えば、キャッシュフローの数が増えても数式を変える必要がありません。
NPVの結果の読み方
NPV関数の結果は、投資判断のシンプルな基準になります。
| NPVの値 | 意味 | 判断 |
|---|---|---|
| プラス | 投資額以上のリターンが得られる | 投資する価値あり |
| ゼロ | 投資額とリターンがちょうど同じ | 損も得もしない |
| マイナス | 投資額に見合うリターンが得られない | 投資を見送るか再検討 |
NPVがプラスなら「投資OK」、マイナスなら「見送り」が基本的な判断です。
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がどう変わるかを一覧にすると、判断材料が増えます。
初期投資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(プラス幅は縮小) |
割引率が上がるほどNPVは小さくなります。「NPVがちょうどゼロになる割引率」のことをIRR(内部収益率)と呼びます。
月次キャッシュフローで計算する
年次ではなく月次でキャッシュフローを管理しているケースもあります。月次の場合は割引率も月利に変換して指定します。
=NPV(8%/12, B2:B13) + B1
年利8%を12で割って月利に変換しています。B2:B13に1月目から12月目までのキャッシュフローが入っている想定です。
年利と月利の変換を忘れると結果が大きくずれるので注意してくださいね。
NPV関数とPV関数の違い
NPV関数とPV関数は名前が似ていますが、用途が異なります。
| 比較項目 | NPV関数 | PV関数 |
|---|---|---|
| 正式名称 | Net Present Value(正味現在価値) | Present Value(現在価値) |
| 用途 | 不均等なキャッシュフローの現在価値を合計する | 均等な定期支払いの現在価値を求める |
| キャッシュフロー | 各期ごとに異なる金額を指定できる | 毎期同じ金額(定期支払額)を指定する |
| 初期投資 | NPVの外で足す | 引数に含めない(別途計算) |
| 典型的な使い方 | 設備投資・プロジェクト評価 | ローン借入可能額・年金の現在価値 |
| 構文 | =NPV(割引率, CF1, CF2, ...) | =PV(利率, 期間数, 定期支払額) |
使い分けのポイント: 毎期のキャッシュフローが同じ金額ならPV関数、期ごとに異なる金額ならNPV関数を使いましょう。
たとえばローンの返済額計算にはPV関数、設備投資の採算判断にはNPV関数が向いています。
よくあるエラーと対処法
NPV関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| NPVが異常に大きい/小さい | 初期投資をNPVの中に含めている | 初期投資はNPVの外で足す(=NPV(...) + 初期投資) |
| 結果がずれる | 年利を月次キャッシュフローにそのまま使っている | 月次なら年利/12に変換する |
| #VALUE! エラーが出る | 引数に文字列やテキストが含まれている | 数値のみ指定する。空白セルは問題なし |
| #NUM! エラーが出る | 割引率に不正な値を指定している | 割引率は正の数(小数またはパーセント)で指定する |
| NPVが想定より小さい | キャッシュフローの範囲に初期投資(マイナス値)が含まれている | 初期投資のセルを範囲から除外し、NPVの外で足す |
| 結果が0に近い | キャッシュフローが全て0 | セル範囲の参照先に値が入っているか確認する |
TIP
最も多いミスは「初期投資をNPVの中に入れてしまう」ことです。NPV関数は第1期からのキャッシュフローを割引計算するため、第0期の初期投資を含めると1期分余計に割引されてしまいます。
=NPV(割引率, 第1期以降) + 初期投資の形を覚えておきましょう。
Excelとの違い
NPV関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =NPV(割引率, 値1, [値2, …]) | =NPV(割引率, キャッシュフロー1, [キャッシュフロー2, …]) |
| 動作 | 正味現在価値を返す | 正味現在価値を返す |
| 初期投資の扱い | NPVの外で足す | NPVの外で足す |
| セル範囲の指定 | 対応 | 対応 |
引数名の表記が若干異なるだけで、機能は完全に同じです。初期投資を外で足すルールも共通なので、ExcelとGoogleスプレッドシートのどちらでも同じ数式がそのまま使えます。
まとめ
NPV関数は、将来のキャッシュフローを「今の価値」に換算して投資判断を数値化する関数です。
ポイントを整理します。
- 構文は
=NPV(割引率, キャッシュフロー1, [キャッシュフロー2, ...]) - 初期投資はNPVの外で足す(
=NPV(...) + 初期投資)が最重要ルール - NPVがプラスなら「投資OK」、マイナスなら「見送り」が基本判断
- 各期のキャッシュフローが異なる金額でも正確に評価できる
- 複数の投資案件を同じ基準で比較できる
- 均等な定期支払いの現在価値にはPV関数を使う
- 割引率を変えたシミュレーション表を作ると判断がしやすくなる
まずは =NPV(5%, 300000, 400000, 500000) + (-1000000) で3年間のキャッシュフローの正味現在価値を試してみてください。
