毎月のローン返済額のうち、元金がいくら減っているのか気になりますよね。
PMT関数で総返済額は求められますが、元金と利息がそれぞれどれだけなのかを分けるのは意外と難しいです。
そこで活躍するのが、Excelの PPMT関数(ピー・ピー・エム・ティー)です。
PPMT関数を使えば、「10回目の返済で元金はいくら減った?」という疑問を一発で解決できます。
この記事では、PPMT関数の基本的な使い方から、返済スケジュール表の作り方まで解説します。
IPMT・PMTとの関係も整理しますので、財務関数の全体像もつかめますよ。
PPMT関数とは?各期の元金返済額を求めるExcel財務関数
PPMTとは Principal Payment(元金の支払い)の略です。
Excelに搭載された財務関数のひとつで、住宅ローンやカーローンの指定した期(何回目)の元金部分だけを計算できます。
Excel 2007以降の全バージョンおよびGoogleスプレッドシートで利用できます。
ローンの返済では、毎月の返済額のうち「元金」と「利息」の割合が毎回変わります。
PPMT関数を使えば、何回目であっても元金返済額を一発で算出できますよ。
PMT関数(毎月の総返済額)、IPMT関数(利息部分)と同じ財務関数ファミリーです。
3つを組み合わせると、月ごとの元金・利息・残高を一覧にした返済スケジュール表を作れます。
PPMT関数の書式と引数の解説
PPMT関数の書式は次のとおりです。
=PPMT(利率, 期, 期間, 現在価値, [将来価値], [支払期日])
引数は6つあり、必須4つ・省略可2つです。
| 引数 | 必須/省略可 | 内容 |
|---|---|---|
| 利率 | 必須 | 1支払期間あたりの利率(月払いなら年利÷12) |
| 期 | 必須 | 元金を求める支払い回数(1〜期間の整数) |
| 期間 | 必須 | 支払い回数の合計(月払いなら年数×12) |
| 現在価値 | 必須 | 借入元金(ローン開始時の残高) |
| 将来価値 | 省略可 | 最後の支払い後の残金(省略時=0) |
| 支払期日 | 省略可 | 0=期末払い(省略時のデフォルト)、1=期首払い |
引数①利率(月利への換算方法)
「利率」は1回の支払いあたりの利率を指定します。
年利で表記されることが多いので、月払いの場合は「年利÷12」で月利に変換します。
たとえば年利5%なら 5%/12(または 0.05/12)と入力してください。
年利をそのまま指定すると、元金と利息の配分が大きくズレます。
「計算結果がおかしい」と感じたら、まずここを確認しましょう。
引数②期(何回目の支払いか)
「期」はPPMT関数固有の引数です。
「何回目の返済の元金を求めるか」を1〜期間の整数で指定します。
10回目の元金なら 10、36回目なら 36 と入力します。
範囲外の値(0以下、または期間を超える値)を指定すると #NUM! エラーになります。
引数③期間・④現在価値・⑤将来価値・⑥支払期日
「期間」は総支払い回数です。
月払い3年ローンなら 36、35年ローンなら 35*12(=420)と入力します。
「現在価値」は借入元金を正の数で指定します。
300万円のカーローンなら 3000000 と入力します。
「将来価値」は最終支払い後の残金で、完済ローンなら省略(0扱い)で構いません。
「支払期日」は 0(期末払い)か 1(期首払い)を指定します。
一般的なローンは月末払いなので、省略するだけでOKですよ。
基本の使い方①|指定した期の元金を1発で求める
カーローンの10回目の元金返済額を求める例
実際の数字で試してみましょう。
- 借入額:100万円
- 年利:5%(月払い)
- 返済期間:3年(36回払い)
- 求めたい回数:10回目の元金
この条件でPPMT関数を入力します。
=PPMT(5%/12, 10, 36, 1000000)
結果は -26,788(円)です。
引数「利率」に 5%/12 と入れることで、年利を月利に換算しています。
期(回数)を変えると、元金がどう変化するかも比べてみましょう。
=PPMT(5%/12, 1, 36, 1000000) → -25,804(1回目)
=PPMT(5%/12, 10, 36, 1000000) → -26,788(10回目)
=PPMT(5%/12, 36, 36, 1000000) → -29,847(36回目)
返済が進むほど元金の返済額が増えていますよね。
これが元利均等返済(がんりきんとうへんさい:毎月の返済額が一定の返済方式)の特徴です。
利息が減った分だけ、元金に充てられる金額が増えていきます。
結果がマイナスになる理由と正値表示の方法
PPMT関数の結果は必ずマイナス値になります。
これは「支出」を負の数で表す、Excel財務関数の共通仕様です。
エラーではないので安心してください。
正値(プラス)で表示したい場合は、先頭に - を付けて符号を反転します。
=-PPMT(5%/12, 1, 36, 1000000) → 25,804
返済スケジュール表で「元金返済額」として見やすく表示するときに使ってみてください。
活用例②|返済スケジュール表で月ごとの元金を一覧化する
PPMT関数の本領発揮は、返済スケジュール表への活用です。
A列に回数(1〜36)を並べ、「期」引数でその回数を参照させます。
すると、オートフィルで全回分を一括計算できますよ。
PPMT関数をオートフィルで全期間に展開する手順
以下の表構成で返済スケジュール表を作成します。
| セル | 内容 | 2行目の数式例 |
|---|---|---|
| B1 | 年利(例: 5%) | 手入力 |
| B2 | 借入額(例: 1,000,000) | 手入力 |
| B3 | 返済回数(例: 36) | 手入力 |
| A列 | 回数(1, 2, 3…) | 手入力 |
| B列 | 返済額 | =-PMT($B$1/12, $B$3, $B$2) |
| C列 | 利息 | =-IPMT($B$1/12, A2, $B$3, $B$2) |
| D列 | 元金 | =-PPMT($B$1/12, A2, $B$3, $B$2) |
ポイントは $B$1・$B$2・$B$3 を絶対参照($マーク付き)にしておくことです。
こうすると、D2の数式を36行目まで一気にコピーできます。
A列の回数が自動的に「期」として参照されるので、全回分の元金が並びますよ。
元金推移グラフの作成(元金の右肩上がりを可視化)
D列の元金データを選択して、折れ線グラフを挿入してみてください。
返済回が進むにつれて元金返済額が右肩上がりになる様子が、一目でわかりますよ。
たとえば100万円・年利5%・3年ローンでは、1回目の元金は25,804円です。
36回目になると29,847円まで上がります。
利息と元金の両方をグラフに入れると、元金の割合が増える様子がさらにはっきり見えますよ。
PMT・IPMT・PPMTの関係を理解する(利息+元金=総支払額の検証)
返済に関わる3つの財務関数は、次のような役割分担をしています。
| 関数 | 役割 | 計算例(年利5%・36回・100万円・1回目) |
|---|---|---|
| PMT | 毎月の総返済額 | -29,971円 |
| PPMT | 元金部分 | -25,804円 |
| IPMT | 利息部分 | -4,167円 |
PPMT + IPMT = PMT という等式が常に成立しています。
確認すると、-25,804 + (-4,167) = -29,971 になっていますね。
PPMT+IPMT-PMT=0 で確認する検証式
「PPMT + IPMT = PMT」の関係を、次の式でゼロになることで確認できます。
=PPMT(5%/12,1,36,1000000)+IPMT(5%/12,1,36,1000000)-PMT(5%/12,36,1000000)
この式を入力すると、結果は 0(または誤差程度の微小値)になります。
元金 + 利息 = 総支払額という関係が数式で確認できますよ。
財務関数の家系図:CUMIPMT・CUMPRINCへの展開
1期分の元金を求めるPPMTをさらに発展させた関数もあります。
- CUMPRINC関数(カム・プリンク):複数期間の累計元金をまとめて求める
- CUMIPMT関数(カム・アイ・ピー・エム・ティー):複数期間の累計利息を求める
「1〜12回目の合計元金はいくら?」と知りたいときは、CUMPRINC関数が便利ですよ。
返済が進むと元金が増える理由(元利均等返済の仕組み)
住宅ローンの多くは元利均等返済方式です。
毎月の返済額は一定でも、利息と元金の割合は毎回変わります。
仕組みを順番に見ていきましょう。
- 利息は「残高×利率」で計算されます。
- 返済初期は残高が多いため、利息が大きく、元金への充当は少なくなります。
- 毎回の返済で残高が少しずつ減ります。
- 残高が減ると、翌月の利息も減ります。
- 返済額のうち元金に充てられる割合が増え、残高の減りが加速します。
このサイクルが繰り返されることで、返済後半には元金返済額が大幅に増えますよ。
たとえば3,000万円・年利1.5%・35年ローンの場合、初回の元金返済額は約54,188円です。
最終回では約91,596円まで増えます。
PPMT関数で全期間分の元金を計算してグラフにすると、この逓増(ていぞう)の様子が視覚的に確認できますよ。
よくあるエラーと対処法
マイナス表示になる・正値にしたい
PPMT関数は設計上、必ずマイナス値を返します。
「支出」を負の数で表すExcel財務関数の共通ルールで、エラーではありません。
正値で表示する方法は2つあります。
- 方法1:
=-PPMT(...)— 先頭に-を付けて符号反転 - 方法2:
=PPMT(...)*-1— 結果に-1を掛ける
シンプルな方法1がおすすめですよ。
#NUM! エラーの原因と修正方法
#NUM! エラーは「期」引数の値が範囲外のときに発生します。
| 原因 | 誤った入力例 | 修正方法 |
|---|---|---|
| 「期」が0以下 | =PPMT(5%/12, 0, 36, 1000000) | 「期」を1以上にする |
| 「期」が「期間」を超える | =PPMT(5%/12, 37, 36, 1000000) | 「期」を期間内に収める |
| 単位不一致 | 期間=36(月数)、期=3(年数) | 両方を同じ単位(月数)に統一する |
「期間を月数・期を年数で指定した」という単位ミスが最もよくある原因です。
両方の単位が揃っているか確認してみてください。
#VALUE! エラーの原因と修正方法
#VALUE! エラーは引数に文字列が含まれているときに発生します。
よくある原因は次のとおりです。
- 利率セルに「5%(年利)」のような文字が混入している
- 期間・現在価値のセルが空白または文字列になっている
- 参照セルにスペースや記号が入っている
セルの書式を「数値」または「パーセンテージ」に設定すると解消しますよ。
PPMT関数に関するよくある質問
PPMT関数はGoogleスプレッドシートでも使える?
はい、Googleスプレッドシートでも全く同じ書式で使えます。
引数の名称が若干異なりますが、動作は完全に同一です。
詳しくは「スプレッドシートのPPMT関数の使い方」もご覧ください。
PPMT関数とIPMT関数の違いは?
PPMT関数とIPMT関数は、引数の構成が全く同じです。
違いは「返す値が元金か利息か」だけです。
| 項目 | PPMT | IPMT |
|---|---|---|
| 返す値 | 元金返済額 | 利息支払額 |
| 返済が進むと | 絶対値が増える | 絶対値が減る |
| 合計 | PPMT + IPMT = PMT |
「元金を知りたいならPPMT、利息を知りたいならIPMT」と覚えておけばOKです。
詳しくは「ExcelのIPMT関数の使い方」もご覧ください。
まとめ
この記事ではExcelのPPMT関数について解説しました。
- PPMT関数は「指定した期の元金返済額」を求めるExcel財務関数
- 結果は支出を表すマイナス値(正値にするには
=-PPMT(...)を使う) - IPMT(利息部分)と合計すると、PMT(総返済額)に一致する
- オートフィルを使えば、全返済期間分の元金を一括計算できる
- #NUM! は「期」の範囲外、#VALUE! は引数の型ミスが主な原因
PPMT関数を使いこなすと、毎月どれだけ元金が減っているかがひと目でわかります。
返済スケジュール表を作って、元金の推移を見える化してみてください。
