🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

ExcelのPMT関数 — ローンと住宅ローンの返済額を計算する(元金・利息の内訳も)

|

ExcelのPMT関数 — ローンと住宅ローンの返済額を計算する(元金・利息の内訳も)

要点PMT(rate, nper, pv) は、利率 rate(1期あたり)で nper 期間に わたって元金 pv のローンをちょうど返し切る、一定の定期返済額を返します。結果が になるのは、それがあなたの財布から出ていくお金だからです。関数の全体を支える ルールは2つ——符号の規約(出ていくお金は負、入ってくるお金は正)と、利率と 期間は返済の頻度に合わせること——年6%の住宅ローンを月々返すなら PMT(6%/12, years*12, amount) であって PMT(6%, ...) ではありません。IPMTPPMT は、任意の1回の返済を利息の部分と元金の部分に分けます。すべての Excel バージョンで動作します。

=PMT(6%/12, 30*12, 200000)     ' $200,000・30年・年6%の住宅ローンの毎月返済額 -> -1199.10
=-PMT(6%/12, 30*12, 200000)    ' 同じ返済額を正の数で表示 -> 1199.10
=IPMT(6%/12, 1, 30*12, 200000) ' 第1回返済のうち利息の部分 -> -1000.00
=PPMT(6%/12, 1, 30*12, 200000) ' 第1回返済のうち元金の部分 -> -199.10

検索エンジンに「Excel でローンの返済額を計算するには」と尋ねると、PMT を見せて そこで終わる記事が100件も出てきます。ところが実際に問題になる2つのこと——なぜ答えが 負になるのか、そしてなぜ時々12倍もずれるのか——は、たいてい数式そのものではありません。 本記事はまずそこから始めます。ここを正しく押さえられるかどうかが、住宅ローンの返済額 $1,199 と、意味をなさない $12,000 との分かれ目だからです。

この記事で学べること

  • 考え方の軸:PMTソルバーであって、ただの数式ではない
  • 符号の規約——なぜ PMT は負になるのか、そしてどう反転させるか
  • 数値面での最大のミス:年利なのに月次の期間を渡す
  • 5つの引数すべて——任意指定の fvtype を含めて
  • 返済を分解する:IPMT(利息)と PPMT(元金)
  • PMT に整合する返済予定表を組み立てる
  • PMT が求める関数ではないとき

考え方の軸:PMT はソルバー

PMT は「数式を当てはめる」というより、方程式を解いているのです。その背後には、 5つの量——利率、期間数、借入額、最終残高、返済額——を結びつける貨幣の時間価値の 関係式があります。PMT にそのうち4つを渡すと、5つ目を割り出します:毎期支払い続けると、 最後の返済でローンの残高をちょうどゼロに落とす、単一の一定額の返済です。

この捉え方が大事なのは、この一族の他の関数——FVPVRATENPER——が、同じ 方程式を別の未知数について解いたものだからです。PMT の規約を一度覚えれば、そのまま 全部に通用します。(詳しくは FV・PV ガイドで。)

符号の規約:返済額が負になる理由

PMT に対する「バグ」報告で最も多いものは、そもそもバグではありません:

=PMT(6%/12, 30*12, 200000)     ' -> -1199.10   (間違いではありません!)

Excel の財務関数は、あなたの視点から見たキャッシュフローをモデル化します。入って くるお金は正、出ていくお金は負です。200000 のローンを借りると、その現金は口座に 入ってくるので pvです。返済はそこから出ていくので、PMT はそれをとして 報告します。マイナス符号は、何かが失敗したのではなく、お金の向きを Excel が教えているの です。

返済額を正で表示する方法は3つあります——1つ選んで、モデル全体で一貫させましょう:

=-PMT(6%/12, 30*12, 200000)    ' 結果を反転する -> 1199.10   (最も明快)
=PMT(6%/12, 30*12, -200000)    ' ローンを負にする -> 1199.10
=ABS(PMT(6%/12, 30*12, 200000))' ABS で強制的に正にする -> 1199.10

どの関数にも持ち込めるルールはこうです——**どちらの向きを正とするかを決め、すべての 金額をその選択に合わせて一貫させれば、符号はおのずと整う。**両者を混ぜること——同じ 関係式の中でローンも返済額も正にすること——が、ありえない結果を生む原因です。

利率と期間をそろえる——最大のミス

ローンは利で提示されますが、返済は毎月です。PMT はどちらのつもりかを 知りません。ただ渡された数値を、1期あたりとして使うだけです。だから利率も期間数も、 返済と同じ単位で表さなければなりません。

=PMT(6%/12, 30*12, 200000)     ' 月次:年6%は月0.5%、30年は360か月 -> -1199.10
=PMT(6%, 30, 200000)           ' 年次:年1回の返済を30年 -> -14529.02
=PMT(6%, 30*12, 200000)        ' 誤り:月あたり6%を360か月 -> -12000.86

3行目が典型的な大惨事です——月々1万2千ドルの「住宅ローン返済額」。年利をそのままに して、年数を何も割らずに渡したときに起きます。**返済が月次なら、年利を12で割り、年数に 12を掛ける。**週次なら52、四半期なら4です。PMT の結果がやたら大きすぎる・小さすぎると 感じたら、まずここを確認してください——ほぼ確実に犯人です。

5つの引数を余さず

=PMT(rate, nper, pv, [fv], [type])

  • rate1期あたりの利率(月次返済なら月利)。
  • nper — ローンの全期間にわたる返済回数の合計。
  • pv — 現在価値:今日借りる金額。
  • fv (任意) — 最終返済のに残したい残高。既定は 0(ローンを完済)。 リースで残価やバルーンがある場合は非ゼロにします:=PMT(5%/12, 36, 30000, -5000) は車を 5000 の買取額まで返済します。
  • type (任意) — 返済が各期の期末なら 0(既定、通常年金)、期首なら 1(期首払い年金。リースや前払いの家賃に使う)。期首に払うと利息が少し減るので、 type を 1 にすると返済額はわずかに小さくなります。

返済を分解する:IPMT と PPMT

すべての一定額返済は、実は2つのものが束ねられています——まだ残っている残高に対する 利息と、実際にローンを減らす元金です。序盤は残高が大きいので返済のほとんどが 利息、終盤はほぼすべてが元金です。IPMTPPMT は、任意の返済回 per について、 この2つを引き剥がします:

=IPMT(6%/12, 1, 30*12, 200000)   ' 第1回返済の利息  -> -1000.00
=PPMT(6%/12, 1, 30*12, 200000)   ' 第1回返済の元金 -> -199.10
=IPMT(6%/12, 360, 30*12, 200000) ' 最終回の利息 -> -5.97
=PPMT(6%/12, 360, 30*12, 200000) ' 最終回の元金 -> -1193.13

同じ期間について IPMT + PPMT は常に PMT に等しくなります——両者は全体の2つの 半分だからです。PMT との違いは追加の引数 per、つまり尋ねている特定の返済回 (1 から nper まで)です。返済の範囲にわたる累計——たとえば1年目の利息合計——には CUMIPMTCUMPRINC を使います:

=CUMIPMT(6%/12, 30*12, 200000, 1, 12, 0)   ' 第1〜12回の利息合計 -> 約 -11933
=CUMPRINC(6%/12, 30*12, 200000, 1, 12, 0)  ' 第1〜12回の元金合計 -> 約 -2456

CUMIPMTCUMPRINCtype 引数——末尾の 0——が必須で、省いたり startend1..nper の外に出たりすると #NUM! を返します。)

返済予定表を組み立てる

IPMTPPMT は返済回を引数に取るので、返済予定表まるごとは、この2つの関数を列に 沿って下へドラッグし、返済回を作業用の列から渡すだけです:

返済回 (n) 返済額 利息 =IPMT(r,n,N,P) 元金 =PPMT(r,n,N,P) 残高
1 -1199.10 -1000.00 -199.10 199800.90
2 -1199.10 -999.00 -200.10 199600.80
360 -1199.10 -5.97 -1193.13 0.00

表全体は PMT に整合します:どの行の返済額も同一で、残高が減るにつれて利息は縮み 元金は増え、最終残高はゼロに着地します。もし表がゼロで終わらないなら、どこかで 利率と期間の単位が食い違っているのがほぼ確実です。

PMT が求める関数ではないとき

PMT は「返済額はいくら?」に答えます。しかし時には返済額が既知で、別の要素が 欠けていることもあります。すべてが1つの方程式なので、Excel は未知数ごとに兄弟関数を 用意しています:

  • 利率が未知RATE(「実際に課されている利率は?」)
  • 期間数が未知NPER(「完済までどれくらい?」)
  • 開始残高や最終残高が未知PVFV

5つとも PMT の符号の規約と、利率・期間の作法を共有します。 FV・PV ガイドが残り4つと、それらを結ぶ「5の法則」を 扱います。そしてキャッシュフローが一定額の返済でないとき——でこぼこで不規則な リターンを持つ投資——には、この一族を離れて NPV と IRR に 向かいます。

ExcelMaster の使いどころ

ローンの計算は決まった場所で狂います:忘れられた /12、あるセルでは正・次のセルでは 負に表示される返済額、ゼロに整合しない返済予定表。ExcelMaster に「$200,000・年6%・ 30年ローンの返済予定表を作って」と伝えれば、列を並べ、IPMTPPMT を返済回の列に つなぎ、利率と期間の単位を合わせ、最終残高がゼロに達するかを確認します。10倍も大きく 見える PMT を貼れば、年利に月次の期間を渡す罠を見抜いて直します。

よくある質問

PMT の結果が負になるのはなぜ?

Excel が、財布から出ていくお金を負として扱うからです。ローンの pv はあなたが受け取る 現金(正)なので、あなたが行う返済はで返ってきます。エラーではありません。正の 数字で表示したいなら、数式を反転するか——=-PMT(...)——ローンの金額を負で入力します。

Excel で毎月の住宅ローン返済額を計算するには?

年利を12で割り、年数に12を掛けます:=PMT(annual_rate/12, years*12, loan_amount)。 $200,000・年6%・30年なら =PMT(6%/12, 30*12, 200000) で、-1199.10 を返します。正の 返済額で見たければ、マイナス符号で包んで =-PMT(...) とします。

PMT、IPMT、PPMT の違いは?

PMT は定期返済額の全体を返します。IPMT は特定の1回の返済のうち利息の部分だけを、 PPMT元金の部分だけを返します。どの返済回でも IPMT + PPMT = PMT です。返済 予定表を組むには IPMTPPMT(または累計の CUMIPMTCUMPRINC)を使います。

住宅ローンの返済額が巨大な数字になるのはなぜ?

ほぼ確実に、利に月次の期間数を渡しています——=PMT(6%, 30*12, 200000) は 6% を利として扱います。利率を12で割ってください:=PMT(6%/12, 30*12, 200000)。 利率も期間も、返済と同じ単位でなければなりません。

fv と type 引数は何をする?

fv は最終返済後に残る残高です——完済するローンなら 0 のまま、残価やバルーンのある リースなら値を設定します。type はタイミングを制御します:0(既定)は各期の期末 払い、1期首払い(リースや前払いの家賃に使う)で、返済額をわずかに減らします。

検証環境

検証環境: Excel 365(Windows 11)— 最終確認 2026-07-23。

関連ガイド: ExcelのFV・PV · ExcelのNPV・IRR · 財務三表モデル · ExcelのROUND関数 · ExcelのIF関数