「このローン、あと何回払えば終わるんだろう?」
返済計画を立てるとき、完済までの回数がわからないと先が見えなくて不安ですよね。
スプレッドシートのNPER関数を使えば、利率・返済額・借入額を入力するだけで完済までに必要な支払回数が一発で出せます。ローン返済だけでなく、積立貯蓄で目標額に届くまでの期間も計算できますよ。
この記事では、NPER関数の基本から住宅ローン・自動車ローン・積立計算まで、実務で使えるパターンをまとめて紹介します。
NPER関数とは? — ローン完済や目標額到達に必要な期間を計算
NPER関数(読み方: なんばー おぶ ぴりおど)は、一定の利率で定額を支払い続けた場合に、必要な支払回数(期間数)を求める関数です。
名前は英語の「Number of Periods(期間の数)」の略です。
NPER関数にできることをまとめると、次のとおりです。
- ローンの完済までに必要な支払回数を計算する
- 積立貯蓄で目標金額に届くまでの月数を計算する
- 繰上返済した場合にどれだけ期間が短縮されるか比較する
- 利率や返済額を変えて複数パターンをシミュレーションする
NOTE
NPER関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、構文・動作ともにほぼ同じです。
NPER関数の書き方(構文と引数)
基本構文
=NPER(利率, 定期支払額, 現在価値, [将来価値], [支払期日])
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 利率 | 必須 | 各期間の利率。年利を指定する場合は期間に合わせて割る(月払いなら12で割る) |
| 定期支払額 | 必須 | 毎回支払う金額。支出は負の値、収入は正の値で指定する |
| 現在価値 | 必須 | 現時点での残高(借入額や元本)。ローンの借入額は正の値で指定する |
| 将来価値 | 任意 | 最終的に残したい金額。省略すると0(ローン完済)になる |
| 支払期日 | 任意 | 0(各期の期末に支払い/省略時の初期値)または1(各期の期首に支払い) |
TIP
「利率」は期間の単位と合わせるのがポイントです。年利3%で月払いなら
3%/12(= 0.25%)と指定します。年利をそのまま入れると計算結果がおかしくなるので注意してください。
符号のルール
財務関数では「お金の流れの向き」を正負で表します。
- 支出(手元から出るお金): マイナス
- 収入(手元に入るお金): プラス
ローン返済の場合、定期支払額は手元から出ていくお金なので マイナス で指定します。借入額(現在価値)は銀行から受け取ったお金なので プラス です。
NPER関数の基本的な使い方
まずはシンプルな例で動きを確認してみましょう。
ローン返済の支払回数を求める
100万円を年利5%で借りて、毎月2万円ずつ返済するケースです。
=NPER(5%/12, -20000, 1000000)
結果は 約56.18回(約4.7年)です。
5%/12: 年利5%を月利に変換-20000: 毎月の返済額(支出なのでマイナス)1000000: 借入額(正の値)
将来価値を省略しているので、残高0(完済)までの回数が返ります。
セル参照で柔軟に計算する
実務では数値を直接入力するより、セルに入力した値を参照するほうが便利です。
| A | B | |
|---|---|---|
| 1 | 年利 | 5% |
| 2 | 毎月の返済額 | -20,000 |
| 3 | 借入額 | 1,000,000 |
| 4 | 支払回数 | =NPER(B1/12, B2, B3) |
B4に =NPER(B1/12, B2, B3) と入力すると、約56.18と表示されます。
利率や返済額を変えれば結果が自動で再計算されるので、複数パターンの比較がかんたんにできますよ。
NPER関数の実践的な使い方・応用例
住宅ローンの返済期間を計算する
3,500万円を年利1.5%で借りて、毎月10万円ずつ返済する場合です。
=NPER(1.5%/12, -100000, 35000000)
結果は 約460.58回(約38.4年)です。
35年ローンの予定なのに38年以上かかる計算になったら、月々の返済額を増やすかボーナス払いを検討する目安になります。
繰上返済の効果をシミュレーションする
先ほどの住宅ローンで、月々の返済額を12万円に増やした場合を比較してみましょう。
=NPER(1.5%/12, -120000, 35000000)
結果は 約363.01回(約30.3年)です。
月2万円の増額で 約8.1年 も返済期間が短縮されます。こうした比較がかんたんにできるのがNPER関数の強みです。
自動車ローンの返済回数を調べる
200万円を年利2.5%で借りて、毎月3万円ずつ返済する場合です。
=NPER(2.5%/12, -30000, 2000000)
結果は 約71.85回(約6.0年)です。5年ローンでは返しきれない計算なので、返済額を増やすか頭金を入れる検討材料になります。
積立貯蓄の目標到達期間を計算する
毎月3万円を年利5%で積み立てて、1,000万円を目指すケースです。
=NPER(5%/12, -30000, 0, 10000000)
結果は 約209.43回(約17.5年)です。
0: 現在の残高は0円(これから貯め始める)10000000: 目標金額を将来価値に指定
積立の場合は現在価値を0、将来価値に目標額を入れるのがポイントです。
教育費の準備期間を逆算する
子どもの大学入学までに500万円を準備したい場合です。毎月2万円を年利3%で積み立てます。
=NPER(3%/12, -20000, 0, 5000000)
結果は 約194.45回(約16.2年)です。
お子さんが2歳のときに始めれば18歳の大学入学にぎりぎり間に合う計算です。開始時期の判断材料として使えますよ。
PMT関数との使い分け
NPER関数とPMT関数は「何を求めるか」が違うだけで、同じ財務計算の仲間です。
| 知りたいこと | 使う関数 | 数式例 |
|---|---|---|
| 完済までの支払回数 | NPER | =NPER(利率, 返済額, 借入額) |
| 毎月の返済額 | PMT | =PMT(利率, 回数, 借入額) |
「返済額は決まっているけど何回で終わるか知りたい」ならNPER、「期間は決まっているけど月々いくら払うか知りたい」ならPMTです。
よくあるエラーと対処法
NPER関数で「思った結果にならない」ケースをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #NUM! エラーが出る | 返済額が利息分より少なく、永遠に完済できない | 返済額を増やすか、借入額・利率を見直す |
| 結果が異常に大きい | 年利をそのまま入れている(月利に変換していない) | 月払いなら 年利/12 で指定する |
| 結果がマイナスになる | 定期支払額の符号が逆 | 支出(返済)はマイナスで指定する |
| #VALUE! エラーが出る | 引数に文字列が含まれている | 数値のみ指定する。セル参照先が文字列になっていないか確認 |
| 期待より回数が多い | 将来価値が0以外になっている | ローン完済なら将来価値を0(または省略)にする |
とくに多いのが「年利をそのまま入れてしまう」ミスです。月払いの計算なのに年利5%をそのまま指定すると、月利5%(年利60%)で計算されて結果がおかしくなります。
TIP
#NUM!エラーは「この条件では永遠に返済が終わらない」というサインです。たとえば年利5%で100万円を借りて月4,000円返済の場合、利息だけで約4,167円かかるため元本が減りません。
Excelとの違い
NPER関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =NPER(利率, 定期支払額, 現在価値, [将来価値], [支払期日]) | =NPER(利率, 定期支払額, 現在価値, [将来価値], [支払期日]) |
| 引数の数 | 5つ(必須3 + 任意2) | 5つ(必須3 + 任意2) |
| 符号ルール | 支出はマイナス | 支出はマイナス |
| 戻り値 | 小数を含む回数 | 小数を含む回数 |
構文・引数・動作ともに同じです。ExcelのNPER関数についてはExcelのNPER関数の記事で詳しく解説しています。
まとめ
NPER関数は、ローン完済や積立目標の到達までに必要な支払回数を求める関数です。
ポイントを整理します。
- 構文は
=NPER(利率, 定期支払額, 現在価値, [将来価値], [支払期日]) - 月払いの場合は年利を12で割って月利にする
- 支出(返済額)はマイナス、借入額はプラスで指定する
- ローン完済なら将来価値は0(省略可)、積立なら将来価値に目標額を入れる
- 返済額を変えた比較で繰上返済の効果もかんたんにシミュレーションできる
- PMT関数と組み合わせると返済計画をさまざまな角度から検討できる
- Excelとの互換性も完全なので、ファイルのやり取りでも安心
まずは =NPER(5%/12, -20000, 1000000) で「100万円を月2万円で返済 → 約56回」から試してみてください。
