「住宅ローンの月々の返済額、いくらになるんだろう?」
銀行のサイトでシミュレーションするのもいいですが、金利や期間を変えて何パターンも比較したいときは手間がかかりますよね。
スプレッドシートのPMT関数を使えば、金利・返済期間・借入額を入力するだけで月々の返済額が一発で出せます。
この記事では、PMT関数の基本から住宅ローン・自動車ローン・積立計算まで、実務で使えるパターンをまとめて紹介します。
PMT関数とは? — スプレッドシートで定期支払額を計算する関数
PMT関数(読み方: ぴーえむてぃー)は、ローンの月々の返済額や積立の毎月の支払額を計算する関数です。
名前は英語の「Payment(支払い)」の略です。
一定の利率で定期的に返済(または積立)する場合に、1回あたりの支払額を求められます。
PMT関数にできることをまとめると、次のとおりです。
- 住宅ローンや自動車ローンの月々の返済額を計算する
- 積立預金の毎月の積立額を計算する
- 金利や返済期間を変えたシミュレーションを作る
- ボーナス払いを含めた返済プランの比較に使う
NOTE
PMT関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
PMT関数の書き方(構文と引数)
基本構文
=PMT(利率, 期間数, 現在価値, [将来価値], [期首期末])
カッコの中に利率・期間数・現在価値の3つを指定します。将来価値と期首期末は省略できます。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 利率 | 必須 | 1期間あたりの利率。年利を月利に変換して指定する(年利/12) |
| 期間数 | 必須 | 支払い回数の合計。年数を月数に変換して指定する(年数*12) |
| 現在価値 | 必須 | 借入額(ローンの場合)や現在の残高。正の数で指定する |
| 将来価値 | 任意 | 支払い完了後の残高。省略すると0(完済)として扱われる |
| 期首期末 | 任意 | 0=各期の末に支払い(期末払い)、1=各期の初めに支払い(期首払い)。省略すると0 |
TIP
最もよくあるミスは「年利をそのまま入れてしまう」ことです。月々の返済額を求めるなら、年利を12で割って月利に変換してください。同様に、期間数も年数ではなく月数(年数 x 12)を指定します。
PMT関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。
月々の返済額を求める
100万円を年利5%で3年間(36回払い)で返済する場合の月々の返済額を計算します。
=PMT(5%/12, 3*12, 1000000)
結果は -29,971 です。
結果がマイナスになる理由
PMT関数の結果がマイナスになるのは、「支出」を表しているからです。
スプレッドシートの財務関数では、お金の流れを方向で区別します。
| お金の方向 | 符号 | 例 |
|---|---|---|
| 受け取る(入金) | プラス | 借入額(お金を受け取る) |
| 支払う(出金) | マイナス | 返済額(お金を支払う) |
借入額(現在価値)を正の数で入れると、返済額は逆方向の支出なのでマイナスで返ります。
表示上マイナスが気になる場合は、数式の前にマイナスを付けて符号を反転させましょう。
=-PMT(5%/12, 3*12, 1000000)
これで 29,971 と表示されます。
期首払いと期末払いの違い
5つ目の引数で支払いタイミングを変えられます。
=PMT(5%/12, 3*12, 1000000, 0, 0) → -29,971(期末払い)
=PMT(5%/12, 3*12, 1000000, 0, 1) → -29,847(期首払い)
期首払いのほうが返済額が少し安くなります。各期の初めに支払うことで、元金が早く減って利息が少なくなるためです。
PMT関数の実践的な使い方・応用例
住宅ローンの月々の返済額を計算する
住宅ローン3,000万円を年利1.5%・35年で返済する場合の月々の返済額を求めます。
=PMT(1.5%/12, 35*12, 30000000)
結果は -91,855 です。月々約91,855円の返済になります。
金利を変えて比較したい場合は、利率をセル参照にしておくと便利です。
| 年利 | 月々の返済額 |
|---|---|
| 1.0% | 約84,686円 |
| 1.5% | 約91,855円 |
| 2.0% | 約99,379円 |
セルに年利の値を入れておけば、条件を変えるだけで結果が自動更新されますよ。
自動車ローンの月々の返済額を計算する
自動車ローン200万円を年利3%・5年で返済する場合です。
=PMT(3%/12, 5*12, 2000000)
結果は -35,937 です。月々約35,937円の返済になります。
積立で毎月いくら貯めればよいか計算する
10年後に500万円を貯めたい場合、年利1%で毎月いくら積み立てればよいかを計算します。
積立計算では「将来価値」に目標額を指定し、「現在価値」を0にします。
=PMT(1%/12, 10*12, 0, 5000000)
結果は -39,635 です。毎月約39,635円を積み立てれば、10年後に500万円に届きます。
TIP
ローン計算では「現在価値」に借入額を入れ、積立計算では「将来価値」に目標額を入れる。この使い分けがPMT関数のポイントです。
返済シミュレーション表を作る
PMT関数とIPMT関数・PPMT関数を組み合わせると、月ごとの返済内訳表が作れます。
| 関数 | 役割 |
|---|---|
| PMT | 毎月の返済額(元金+利息の合計) |
| IPMT | 毎月の返済額のうち利息部分 |
| PPMT | 毎月の返済額のうち元金部分 |
この3つを並べれば、「何回目の支払いで元金がいくら減るか」が一目でわかるシミュレーション表を作れますよ。
よくあるエラーと対処法
PMT関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 返済額が異常に大きい | 年利をそのまま指定している | 月利に変換する(年利/12) |
| 返済額が異常に大きい | 期間数を年数で指定している | 月数に変換する(年数*12) |
| 結果がマイナスになる | 仕様どおりの動作(支出を表す) | 符号反転したいなら =-PMT(...) |
| #NUM! エラーが出る | 利率にマイナスを指定している | 利率は正の数で指定する |
| #VALUE! エラーが出る | 引数に文字列を指定している | 数値のみ指定する |
| 結果が0になる | 利率を0にしている | 利率0の場合は単純に「現在価値/期間数」で計算する |
TIP
最も多いミスは「年利と月利の変換忘れ」です。年利5%なら
5%/12と書くのを忘れずに。期間数も「年数 x 12」で月数に変換してください。
Excelとの違い
PMT関数はExcelとGoogleスプレッドシートで完全に同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =PMT(利率, 期間数, 現在価値, [将来価値], [期末]) | =PMT(利率, 期間数, 現在価値, [将来価値], [期首期末]) |
| 動作 | 定期支払額を返す | 定期支払額を返す |
| 結果の符号 | マイナス(支出) | マイナス(支出) |
| 省略時の動作 | 将来価値=0, 期末=0 | 将来価値=0, 期首期末=0 |
引数名の表記が若干異なるだけで、機能は完全に同じです。Excelでの使い方はExcelのPMT関数の記事で詳しく解説しています。
まとめ
PMT関数は、ローンの月々の返済額や積立の毎月の支払額を計算する関数です。
ポイントを整理します。
- 構文は
=PMT(利率, 期間数, 現在価値, [将来価値], [期首期末]) - 利率は月利(年利/12)、期間数は月数(年数*12)で指定する
- 結果がマイナスになるのは「支出」を表す仕様
- ローン計算では「現在価値」に借入額を指定する
- 積立計算では「将来価値」に目標額を指定する
- IPMT・PPMTと組み合わせれば返済内訳表も作れる
- ExcelのPMT関数と完全に同じ動作で、互換性も安心
まずは =PMT(5%/12, 3*12, 1000000) で100万円・3年返済の月額を試してみてください。
