「住宅ローンの月返済額は何円になるのか」「毎月いくら積み立てれば10年後に500万円貯まるのか」——このような計算は、Excelの財務関数を使えば数秒で答えが出ます。PMT・FV・PVはExcelを代表する3つの財務関数であり、ローン返済額の計算・積立目標の設定・将来価値の現在価値への換算という、実務に直結するシナリオをカバーします。
3関数は「利率(rate)」「期間(nper)」「現在価値(pv)」「将来価値(fv)」「支払期日(type)」という共通の引数体系を持っており、1つを習得すると残りが一気に理解しやすくなります。Excelで財務計算を扱う機会がある方、MOS Excel試験の「数式と関数」領域を対策している方に特に役立つ内容です。
本記事では、PMT・FV・PV各関数の基本構文・引数の意味・実務シナリオ別の活用パターン・返り値が負になる理由と符号の扱い方・よくあるエラーの対処法・NPER/RATE関数との連携・MOS Excel試験の出題ポイントを体系的に解説します。
PMT関数の基本構文
PMTはローン・リース・分割払いの定期支払額(月払い額・年払い額)を計算する関数です。
=PMT(利率, 期間, 現在価値, [将来価値], [支払期日])
| 引数 | 英名 | 説明 | 省略 |
|---|---|---|---|
| 利率 | rate | 1期間あたりの利率。年利を月払いで使う場合は「年利÷12」を指定する | 必須 |
| 期間 | nper | 返済回数(支払い総回数)。月払い36回・年払い5回のように入力する | 必須 |
| 現在価値 | pv | ローン元本(借入額)。現時点の価値を正の値で指定する | 必須 |
| 将来価値 | fv | 最終返済後に残す残高。省略または0で「完済」を意味する | 省略可(0) |
| 支払期日 | type | 0=期末払い(通常)、1=期初払い。省略すると0 | 省略可(0) |
基本例:年利3%、返済期間24か月(2年・月払い)、借入額100万円の月返済額を計算します。
=PMT(3%/12, 24, 1000000)
結果は約-43,056円(負の値)。PMT・FV・PV関数の返り値が負になる理由は後述しますが、実務ではABS()で絶対値を取るか、第3引数の現在価値を-1000000のように負にすることで正の値として扱います。
FV関数の基本構文
FVは定期的な積立・預金から生み出される将来の受取額(満期額)を計算する関数です。
=FV(利率, 期間, 定期支払額, [現在価値], [支払期日])
| 引数 | 説明 | 省略 |
|---|---|---|
| 利率 | 1期間あたりの利率(年利の場合は÷12して月利に変換) | 必須 |
| 期間 | 積立回数(支払い総回数) | 必須 |
| 定期支払額 | 毎回の積立額。支出なので負の値で入力するのが原則 | 必須 |
| 現在価値 | 初期投資額(期初一括投入額)。省略または0 | 省略可(0) |
| 支払期日 | 0=期末払い、1=期初払い。省略すると0 | 省略可(0) |
基本例:年利1%で毎月3万円を12か月積み立てた場合の受取額を計算します。
=FV(1%/12, 12, -30000)
定期支払額を-30000(負の値=支出)にすることで、結果が正の値(受取額)として返ります。定期支払額を正にすると結果が負になるため、符号のルールを意識することが重要です。
PV関数の基本構文
PVは将来の定期受取額または一括受取額が現時点でいくらに相当するか(現在価値)を求める関数です。投資判断・年金の評価・ローンの借入可能額の逆算などに使います。
=PV(利率, 期間, 定期支払額, [将来価値], [支払期日])
| 引数 | 説明 | 省略 |
|---|---|---|
| 利率 | 1期間あたりの割引率(年利の場合は÷12) | 必須 |
| 期間 | 受取回数または将来価値までの期間数 | 必須 |
| 定期支払額 | 毎回の受取額。受取は正の値で入力する(省略する場合は将来価値の指定が必要) | 省略可 |
| 将来価値 | 期間終了時に受け取る一括額(年金終期の残額など)。省略すると0 | 省略可(0) |
| 支払期日 | 0=期末受取、1=期初受取。省略すると0 | 省略可(0) |
基本例:年利5%で毎年10万円を5年間受け取れる場合、現時点での価値(現在価値)を計算します。
=PV(5%, 5, 100000)
結果は約-432,948円(負の値)。これは「年利5%の運用環境において、この年金受取権は現時点で約43万円の価値がある」という意味です。ABS関数で正に変換して使用します。
実務シナリオ別の活用パターン
シナリオ1:住宅ローンの月返済額をシミュレートする
借入額3,000万円、年利1.5%、35年返済(420か月払い)の住宅ローン月返済額を計算します。
=PMT(1.5%/12, 420, 30000000)
結果は約-91,855円/月。=ABS(PMT(1.5%/12, 420, 30000000))とすれば91,855円として表示できます。利率・期間・借入額をセル参照にしてセルに入力すると、「金利が2%になったら」「返済期間を30年にしたら」と条件を変えたシミュレーション表を簡単に作成できます。
シナリオ2:教育資金の積立満期額を計算する
年利0.5%の定期預金で毎月2万円を18年間(216か月)積み立てた場合の満期受取額を計算します。
=FV(0.5%/12, 216, -20000)
結果は約4,488,000円(正の値で返る)。「目標額500万円に足りない場合、毎月いくら積み立てれば良いか」という逆算は、PMT関数の第3引数(現在価値)を0、第4引数(将来価値)に目標額を負で指定して求められます。
=PMT(0.5%/12, 216, 0, -5000000) ' 目標500万円に到達するための月積立額
シナリオ3:総返済額と利息コストを算出する
PMT関数で月返済額を求めたあと、総返済額と総利息を計算するのは乗算一つで済みます。
' セルB2にPMTの結果(例:-91855)、B3に借入額(30000000)、B4に返済回数(420)が入っている場合
=ABS(B2)*B4 ' 総返済額(例:約38,578,800円)
=ABS(B2)*B4 - B3 ' 総利息(例:約8,578,800円)
シミュレーション表を作成し、借入額・年利・返済回数をセル入力で変えると、返済計画の比較が視覚的にわかりやすくなります。条件付き書式で総利息が一定額を超えた場合に赤表示すると、さらに実用的な判断ツールになります。
シナリオ4:PVで借入可能額を逆算する
「月々8万円しか返済できない場合、年利1.5%・35年返済では最大いくら借りられるか」をPV関数で計算します。
=PV(1.5%/12, 420, -80000)
定期支払額(月返済額)を-80000(支出=負)で入力すると、結果が正の値(借入可能額)として返ります。これは「返済月額8万円で35年間返済できる借入元本は約2,607万円」という意味です。住宅購入の予算策定に直接活用できます。
返り値が負になる理由と符号の扱い方
PMT・FV・PVの返り値が負になることに戸惑う方は多くいます。これは財務関数が「キャッシュフローの方向性」を符号で表しているためです。
| 符号 | 意味 | 例 |
|---|---|---|
| 正(+) | 受取(手元に入るお金) | 積立満期額・借入受領額 |
| 負(-) | 支払(手元から出るお金) | ローン月返済額・毎月の積立額 |
PMT関数で借入額(pv)を正の値で入力すると、借りた時点でお金が「入ってきた」状態なので、返済額は「出ていくお金」として負で返ります。
実務で正の値を表示するには2つの方法があります。① ABS(PMT(...))で絶対値を取る。② 現在価値引数(pv)を最初から負の値(-30000000など)で入力する。チームで数式を共有する場合はABSを使う方法の方が意図が明確です。
よくあるエラーと対処法
| 問題 | 原因 | 対処法 |
|---|---|---|
| #VALUE!エラー | 引数に数値以外の文字列が入っている(例:「3%」が文字列として保存されている) | セルの書式を「数値」または「パーセンテージ」に変更する |
| #NUM!エラー | 引数に矛盾がある(例:利率や期間に負の値を指定) | 利率・期間は正の値になっているか確認する |
| 月返済額が想定と大きく異なる | 年利をそのまま利率に指定している(月利に変換していない) | 利率引数に「年利÷12」を指定する(例:3%/12) |
| 積立計算の結果が合わない | 期間を年数のまま入力している(月払いなら月数にする) | 10年月払い→期間=120、利率=年利÷12 と統一する |
| 結果が負の値になる | 財務関数のキャッシュフロー符号の仕様 | ABS関数で絶対値を取るか、pv引数を負の値で入力する |
年利と月払いの変換ルール:月払い計算では必ず「利率=年利÷12」「期間=年数×12」と変換します。年払いで計算する場合は年利をそのまま、期間を年数で指定します。この変換を忘れることが最多の計算ミスの原因です。単位を統一するためにも「利率と期間は必ず同じ時間軸にそろえる」と覚えておきましょう。
NPER・RATE関数との組み合わせ
財務関数は5つの変数(利率・期間・定期支払額・現在価値・将来価値)のうち、4つが分かっているとき残り1つを求めます。PMT・FV・PVの他に、NPER(期間の逆算)とRATE(利率の逆算)も関連関数として覚えておくとシナリオが広がります。
| 関数 | 求めるもの | 典型シナリオ |
|---|---|---|
| PMT | 定期支払額 | ローン月返済額・積立月額の計算 |
| FV | 将来価値 | 積立満期額・投資の将来受取額 |
| PV | 現在価値 | 借入可能額・年金の現在価値 |
| NPER | 期間(回数) | 「月3万円積み立てて500万円貯まるまで何年かかるか」 |
| RATE | 利率 | 「月10万円返済で借入600万円を5年返済、実質金利は何%か」 |
NPER実用例:年利1%で毎月2万円積み立て、目標500万円に達するまでの月数を計算します。
=NPER(1%/12, -20000, 0, 5000000)
目標額(将来価値)を正の値5000000、定期支払額(積立額)を-20000(支出)として指定します。結果は約237か月(約19.8年)。この数値をINT(結果/12)で年数、MOD(結果,12)で残月数に分解すれば「○年○か月後に達成」と表示できます。
RATE実用例:借入600万円・月返済10万円・60か月払いの実質月利を求めます。
=RATE(60, -100000, 6000000)*12 ' 末尾に*12で年利に換算
RATE関数は内部で反復計算を行うため、引数の符号が不正だと収束せず#NUM!エラーになります。定期支払額(第2引数)と現在価値(第3引数)の符号が反対になっているか確認してください。
MOS Excel試験でのPMT・FV・PV出題ポイント
MOS Excel 365&2019の「数式と関数の使用」スキル項目では財務関数が出題されます。PMT・FV・PVは以下の点で頻出です。
- 引数の順序と役割:PMTは(利率, 期間, 現在価値)、FVは(利率, 期間, 定期支払額)、PVは(利率, 期間, 定期支払額)と、3つ目の引数が関数によって異なる点を正確に覚える
- 利率の変換:年利を月払い計算に使う場合は「年利÷12」を指定する。試験問題文に「月払い、年利○%」と書いてあれば必ず÷12が必要
- 期間の変換:月払い計算の期間引数は「年数×12」を入力する。「35年」をそのまま入力するのではなく420と換算する
- 符号の指定:定期支払額は支出なので負の値、受取額は正の値を指定する。問題文の指示を読んで符号を正確に入力する
- セル参照の活用:試験問題では利率・期間・元本がセルに入力されており、セル参照で引数に使う問題が多い。固定値で直接入力するより参照形式を優先する
MOS試験 財務関数チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| PMTで月返済額を計算する | =PMT(年利/12, 年数*12, 借入額)を正しく入力できる | ★★☆ |
| FVで積立満期額を計算する | =FV(利率, 期間, -定期積立額)を入力し正の値を返せる | ★★☆ |
| PVで現在価値を計算する | =PV(利率, 期間, 定期受取額)を入力できる | ★★☆ |
| 年利から月利への変換 | 利率引数に「年利÷12」を正しく指定できる | ★★☆ |
| 期間の月数換算 | 年数×12で月数を期間引数に指定できる | ★★☆ |
| ABS関数との組み合わせ | PMT・PVの負の結果を絶対値で表示する数式を作れる | ★★☆ |
| NPERで積立期間を逆算する | =NPER(利率, -定期積立額, 0, 目標額)を入力できる | ★★★ |
まとめ:3関数の使い分けと年利変換の徹底が鍵
本記事のポイントをまとめます。
- PMT関数:ローン・リースの定期支払額(月返済額)を求める。引数は(利率, 期間, 現在価値)
- FV関数:定期積立・投資の将来受取額(満期額)を求める。引数は(利率, 期間, 定期支払額)
- PV関数:将来の定期受取・一括受取の現在価値を求める。引数は(利率, 期間, 定期支払額)
- 利率は月払いなら÷12:年利を月利に変換しないまま使うのが最多の計算ミス。期間も月数(年数×12)に統一する
- 符号ルール:支払・支出は負(-)、受取・収入は正(+)。返り値が負になった場合はABS()で絶対値に変換する
- NPER・RATE関数との連携:利率・期間・定期支払・現在価値・将来価値の5変数から1つを求める関数群として体系的に覚える
- MOS試験対策:引数の順序・利率の変換・符号の指定・セル参照の活用を中心に反復練習する
PMT・FV・PVを習得すると、住宅ローンのシミュレーション・教育資金の積立計画・投資案件の価値評価など、生活と仕事の両方で役立つ計算がExcel上で完結します。MOS試験の財務関数問題は年利の変換と符号の扱いさえ身につければ正答率が大きく上がります。引数体系が共通なので、PMTを完全に理解してからFV・PV・NPER・RATEへと学習を広げていくのが効率的な習得ルートです。
