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