「住宅ローンで、トータルの利息はいくら払うんだろう?」と気になったことはありませんか。
毎月の返済額を求めるPMTは知っていても、期間中の利息合計まで計算する方法は意外と知られていません。
Googleスプレッドシートなら、CUMIPMT関数を使えば一瞬で答えが出ますよ。
この記事では、住宅ローンを例にした3つの実例で、スプレッドシートのCUMIPMT関数の使い方を丁寧に解説します。
CUMIPMT関数とは?累計利息を求めるスプレッドシート財務関数
CUMIPMT(読み方:キューム・アイ・ピー・エム・ティー)は、Googleスプレッドシートの財務関数のひとつです。
名前は「Cumulative Interest Payment(累計利息支払額)」の略で、ローンの指定期間内に支払う利息の合計を一発で求められます。
元利均等返済(毎月同額を返済する方式)を前提にしています。住宅ローンや自動車ローンなど一般的な銀行ローンはほぼこの方式なので、幅広い場面で使えますよ。
IPMT関数との違い
CUMIPMTと似た関数に IPMT関数 があります。違いはシンプルです。
| 関数 | 計算できること |
|---|---|
| IPMT | 1回分の利息(例:第3回目の利息) |
| CUMIPMT | 複数回分の利息合計(例:1〜36回目の利息合計) |
「今月の利息はいくら?」という場面ではIPMT、「1年間の利息合計は?」「35年の総利息は?」という場面ではCUMIPMTを使ってみてください。
CUMIPMT関数の書式と引数
=CUMIPMT(利率, 期間数, 現在価値, 最初の期, 最後の期, 支払期日)
引数は6つあります。表で整理しておきましょう。
| 引数 | 英語名 | 内容 |
|---|---|---|
| 利率 | rate | 1支払期間あたりの利率。年利なら÷12が必要 |
| 期間数 | number_of_periods | 総支払回数。35年月払いなら 35×12=420 |
| 現在価値 | present_value | 借入元本。正の値で入力する |
| 最初の期 | first_period | 計算を始める支払回(1以上) |
| 最後の期 | last_period | 計算を終える支払回 |
| 支払期日 | end_or_beginning | 0=期末払い(通常)、1=期首払い |
年利を月利に変換する方法
「利率」引数には1支払期間あたりの利率を入れます。月払いなら「年利÷12」にするのが必須です。
ここを忘れると計算結果が大きく狂うので、最初に確認しておきたいポイントですよ。
月払い:年利1.5% を月利に変換
利率 = 1.5% / 12 = 0.125%
年利と支払い頻度の変換をまとめておきましょう。
| 支払い頻度 | 利率の変換 | 期間の変換 |
|---|---|---|
| 月払い | 年利 ÷ 12 | 年数 × 12 |
| 半年払い | 年利 ÷ 2 | 年数 × 2 |
| 四半期払い | 年利 ÷ 4 | 年数 × 4 |
利率の逆算が必要な場面では RATE関数 も参考にしてみてくださいね。
支払期日(0と1)の使い分け
通常の銀行ローンは月末払いなので 0 を使います。
家賃や設備リースのような前払い型の契約では 1 を指定します。迷ったら0を入れておけばほとんどのケースで問題ありません。
基本の使い方①|全期間の累計利息を計算する
住宅ローンを例に、全期間の累計利息を計算してみましょう。
条件設定
| 項目 | 値 | セル |
|---|---|---|
| 年利 | 1.5% | B1 |
| 借入期間(年) | 35 | B2 |
| 借入元本(円) | 30,000,000 | B3 |
数式(35年間の総累計利息)
=CUMIPMT(B1/12, B2*12, B3, 1, B2*12, 0)
引数を整理するとこうなります。
B1/12:月利(年利÷12)B2*12:総支払回数(35年×12か月=420回)B3:元本3,000万円1:第1回からB2*12:第420回まで(全期間)0:期末払い
この数式で約 −8,579,100円という結果が返ります(年利1.5%、35年、3,000万円の場合)。
毎月の返済額はPMT関数で約91,855円と計算できます。総返済額は約38,579,100円、その元本との差額が累計利息ですよ。
なぜマイナス表示になるの?
スプレッドシートの財務関数は「支払い=現金の流出=マイナス」として計算する決まりになっています。キャッシュフローの符号ルールと呼ばれる共通ルールです。
プラス表示にしたい場合は、ABS関数で絶対値にすると見やすくなります。
=ABS(CUMIPMT(B1/12, B2*12, B3, 1, B2*12, 0))
→ 約 8,579,100(プラス表示)
返済総額や利息のインパクトを家族に共有するときは、プラス表記のほうが直感的に伝わりやすいですよね。
応用の使い方②③|特定期間・残り返済分の利息を求める
CUMIPMTの本領は「最初の期」と「最後の期」を変えて、好きな区間の利息合計を取り出せるところにあります。
②1〜3年目(第1〜36回)の利息合計
「最初の3年間で利息をいくら払うのか知りたい」というケースです。最初の期と最後の期だけ書き換えます。
=CUMIPMT(B1/12, B2*12, B3, 1, 36, 0)
同じ条件(年利1.5%、3,000万円)なら約 −131万円になります。
返済初期は元金の残高が大きいので、月々の返済額のうち利息が占める割合が高めです。第1回目の利息だけで 37,500円(3,000万円×0.125%)にもなるんですよ。
③10年経過後の残り利息予測(第121〜420回)
「あと残り25年でいくら利息が発生するか」を確認したいときはこうです。
=CUMIPMT(B1/12, B2*12, B3, 121, 420, 0)
→ 第121回(11年目)〜第420回(35年目末)の利息合計
繰り上げ返済を検討するときに、残り利息がいくら残っているかを把握するのに便利ですよ。「今のタイミングで繰り上げれば、これくらい利息が圧縮できる」と判断する材料になりますよね。
CUMIPMT vs CUMPRINC|累計利息と累計元金の違い
CUMPRINC(キューム・プリンク)は「累計元金返済額」を求める関数です。構文はCUMIPMTと全く同じで、引数の順番も同じです。
同条件での対比
先ほどと同じ条件(年利1.5%、35年、3,000万円)の1年目を比べてみましょう。
| 計算対象 | 数式 | 1年目(1〜12回)の値 |
|---|---|---|
| 累計利息(CUMIPMT) | =CUMIPMT(B1/12, 420, B3, 1, 12, 0) | 約 −446,000円 |
| 累計元金(CUMPRINC) | =CUMPRINC(B1/12, 420, B3, 1, 12, 0) | 約 −656,000円 |
| 合計(1年分の総支払額) | CUMIPMT + CUMPRINC | 約 −1,102,000円 |
この関係式が成り立ちます。
累計利息(CUMIPMT)+ 累計元金(CUMPRINC)= 総支払額(PMT × 支払回数)
返済を「利息コスト」と「元金返済」に分解して把握したいときに、2つの関数を組み合わせるのが鉄板ですよ。
| 関数 | 使う場面 |
|---|---|
| CUMIPMT | 利息コストの把握・住宅ローン控除の目安計算 |
| CUMPRINC | ローン残債の確認・繰り上げ返済の計画 |
ローン残高は「元本 − 累計元金返済額」で求められるので、CUMPRINCの結果を使えば任意の時点の残高も一発で出せます。
よくあるエラーと対処法
CUMIPMTでつまずきやすいポイントを3つにまとめました。
①#NUM!エラーの主な原因
#NUM!エラー(数値エラー)が出たときは、引数の値が不正なケースがほとんどです。
| 原因 | 誤った入力例 | 正しい入力 |
|---|---|---|
| 元本をマイナスで入力 | pv = -30000000 | pv = 30000000(正の値) |
| 最初の期 > 最後の期 | start=24, end=12 | start ≤ end |
| 利率が0以下 | rate = 0 | 正の値が必要 |
| 支払期日が0・1以外 | type = 2 | 0か1のみ有効 |
PMT関数では元本にマイナスを使う書き方もありますが、CUMIPMTは元本を正の値で入力するルールです。混同しやすいので気をつけてくださいね。
②結果がマイナスのまま集計するミス
CUMIPMTの結果はマイナスで返ります。プラスの数値と足し算するときは、符号の扱いに注意しましょう。
NG:マイナスの累計利息を別のプラス値と足す
=CUMIPMT(...) + 別の費用 → 利息が引かれる計算になる
OK:ABS関数でプラスに変換してから合算
=ABS(CUMIPMT(...)) + 別の費用
複数のCUMIPMT同士を合算するときは、どちらもマイナスなのでそのままSUMで問題ありません。
=CUMIPMT(...) + CUMIPMT(...) → 正しく動作する(どちらもマイナス)
③月利変換し忘れによる計算ミス
年利をそのまま「利率」に渡しても、#NUM!エラーにはなりません。
しかし計算結果は実際の何百倍にもなる致命的な誤りになってしまいます。
NG:年利1.5%を月利に変換しないまま入力
=CUMIPMT(1.5%, 420, 30000000, 1, 420, 0)
→ エラーにはならないが、計算結果が大幅に狂う
OK:月利に変換(÷12)
=CUMIPMT(1.5%/12, 420, 30000000, 1, 420, 0)
月払いなら必ず÷12を忘れずに入力してください。最初の引数だけ別セル参照にしておくと、変換ミスを防ぎやすいですよ。
関連する財務関数まとめ|PMT・IPMT・PPMT・RATE・NPER
CUMIPMTをより活かすために、関連する財務関数も整理しておきましょう。
| 関数 | できること | 内部リンク |
|---|---|---|
| PMT | 毎月の返済額を求める | ローン計算の基本 |
| IPMT | 特定1回分の利息を求める | 月次利息内訳 |
| PPMT | 特定1回分の元金を求める | 月次元金内訳 |
| RATE | 利率(年利)を逆算する | 借入条件の確認 |
| NPER | 返済回数を逆算する | 完済時期の試算 |
使い分けの目安をまとめるとこうなります。
「毎月いくら払う?」 → PMT
「今月の利息は?」 → IPMT
「今月の元金返済は?」 → PPMT
「1年間の利息合計は?」 → CUMIPMT
「ローン残高は?」 → 元本 − CUMPRINC
「年利はいくら?」 → RATE
「あと何回払う?」 → NPER
財務関数はどれも組み合わせで使うことが多いです。PMT関数やIPMT関数の記事と合わせて読んでおくと、スプレッドシートでの返済シミュレーション全体の流れが掴みやすくなりますよ。
Excel版の CUMIPMT 関数の使い方は ExcelのCUMIPMT関数の使い方 で詳しく解説しています。Excelとスプレッドシートを行き来する方はあわせてチェックしてみてくださいね。
