- 作成日 : 2025年8月25日
PPMT関数の使い方:ローン返済の元本部分を正確に計算する方法
PPMT関数は、ローンの定期支払額のうち元本返済部分を計算するエクセルの財務関数です。住宅ローンや事業融資において、各回の返済額がどれだけ元本の減少に寄与しているかを把握できます。
利息と元本の内訳を明確にすることで、繰上返済の効果シミュレーションや税務処理、資金計画の立案などに活用できます。本記事では、PPMT関数の基本的な使い方から実践的な活用法、他の財務関数との組み合わせまで、具体例を交えて詳しく解説します。
目次
PPMT関数の基本的な使い方
PPMT関数とは
PPMT関数は「Principal Payment(元本支払い)」の略で、元利均等返済方式のローンにおいて、指定した期の支払額のうち元本返済に充てられる金額を計算します。毎回の返済額は一定でも、その内訳は期が進むにつれて変化し、初期は利息部分が多く、後期は元本部分が多くなります。
この関数を使用することで、ローンの返済スケジュール全体を通じて、いつ、どれだけの元本が減少するかを正確に把握できます。IPMT関数(利息部分の計算)と組み合わせることで、返済の完全な内訳を作成できます。
基本構文と引数の詳細
PPMT関数の構文:
=PPMT(利率, 期, 期間, 現在価値, [将来価値], [支払期日])
- 利率:期間あたりの利率(年利を月利に変換する場合は12で割る)
- 期:元本返済額を求めたい期(1から期間までの数値)
- 期間:返済の総期間数
- 現在価値:借入額(ローンの元本)
- 将来価値(省略可能):最終的な残高、省略時は0
- 支払期日(省略可能):0=期末払い、1=期首払い、省略時は0
基本的な計算例
3000万円の住宅ローン(金利2%、30年返済)の計算例
第1回目の元本返済額:
=PPMT(2%/12, 1, 30*12, 30000000)
結果:約-61,179円(負の値は支払いを示す)
第120回目(10年目)の元本返済額:
=PPMT(2%/12, 120, 30*12, 30000000)
結果:約-74,539円
最終回(第360回)の元本返済額:
=PPMT(2%/12, 360, 30*12, 30000000)
結果:約-110,710円
PPMT関数の実践的な利用シーン
住宅ローンの返済計画表作成
詳細な返済スケジュールを作成し、元本の減少推移を可視化できます。
返済計画表の基本構成:
A列:返済回数(1~360)
B列:返済前残高
C列:元本返済額 =PPMT($B$1/12, A2, $B$2*12, $B$3)
D列:利息支払額 =IPMT($B$1/12, A2, $B$2*12, $B$3)
E列:返済後残高 =B2+C2
累計元本返済額の計算:
10年後までの元本返済額: =SUM(PPMT($B$1/12, ROW(1:120), $B$2*12, $B$3))
元本返済ペースの分析:
前半15年の元本返済率: =ABS(前半元本返済額合計/借入額)*100
後半15年の元本返済率: =ABS(後半元本返済額合計/借入額)*100
繰上返済シミュレーション
繰上返済による利息削減効果を計算できます。
5年後に100万円繰上返済する場合:
通常の5年後残高: =借入額+SUM(PPMT(利率/12, ROW(1:60), 期間*12, 借入額))
繰上後の残高: =通常の5年後残高+1000000
新期間: =NPER(利率/12, PMT額, -繰上後の残高)
利息削減額: =(通常総返済額-繰上後総返済額)
最適な繰上返済時期の検討:
各年での繰上返済効果を比較
=利息削減額/繰上返済額(効率性の指標)
事業融資の資金計画
設備投資ローンの元本返済スケジュールを管理します。
キャッシュフロー計画への組み込み:
年間元本返済額: =SUM(PPMT(利率/12, ROW(開始:終了), 総期間, 借入額))
営業CF – 元本返済額 = フリーキャッシュフロー
複数ローンの統合管理:
ローンA元本: =PPMT(利率A/12, 期, 期間A*12, 借入額A)
ローンB元本: =PPMT(利率B/12, 期, 期間B*12, 借入額B)
月次元本返済合計: =ローンA元本+ローンB元本
税務処理での活用
支払利息の税務上の取り扱いのため、元本と利息を分離します。
年間支払利息の集計:
当年度利息: =SUMPRODUCT(IPMT(利率/12, ROW(開始月:終了月), 総期間, 借入額))
借入金残高の確認:
期末借入金残高: =借入額+SUM(PPMT(利率/12, ROW(1:経過月数), 総期間, 借入額))
PPMT関数の応用・他関数との組み合わせ
返済条件の比較分析
異なる条件でのローンを比較検討します。
金利差による元本返済ペースの違い:
金利1.5%: =PPMT(1.5%/12, 期, 360, 30000000)
金利2.0%: =PPMT(2.0%/12, 期, 360, 30000000)
差額: =ABS(金利1.5%)-ABS(金利2.0%)
返済期間による影響:
20年返済: =PPMT(2%/12, 期, 240, 30000000)
30年返済: =PPMT(2%/12, 期, 360, 30000000)
元本返済速度比: =ABS(20年)/ABS(30年)
動的な返済分析
インタラクティブな返済計算:
=PPMT(金利セル/12, SEQUENCE(期間*12), 期間*12, 借入額)
Excel 365の動的配列機能を使用
データテーブルでの感度分析:
行:金利(1%~5%)
列:返済期間(15年、20年、25年、30年)
値:10年後の元本残高
グラフ化による可視化
元本返済の推移を視覚的に表現します。
元本・利息の推移グラフ:
X軸:返済回数
主Y軸:元本返済額(PPMT)、利息支払額(IPMT)
第2Y軸:残高推移
累積グラフの作成:
累積元本: =SUM($C$2:C2)(C列が元本返済額)
累積利息: =SUM($D$2:D2)(D列が利息支払額)
複雑な返済スキームへの対応
段階金利や据置期間がある場合の計算方法です。
段階金利(当初5年1%、以降2%):
=IF(期<=60,
PPMT(1%/12, 期, 360, 30000000),
PPMT(2%/12, 期-60, 300, 残高計算))
据置期間がある場合:
=IF(期<=据置期間,0,
PPMT(利率/12, 期-据置期間, 返済期間*12, 借入額))
よくあるエラーと対処法
#NUM!エラーの解決
期の値が不適切な場合に発生します。
エラーの原因と対策:
=IF(OR(期<1, 期>期間), “期の値が不正”, PPMT(…))
期の自動調整:
=PPMT(利率, MIN(MAX(期, 1), 期間), 期間, 現在価値)
#VALUE!エラーへの対応
数値以外の値が引数に含まれる場合の対処法です。
入力値の検証:
=IF(AND(ISNUMBER(利率), ISNUMBER(期), ISNUMBER(期間)),
PPMT(…),
“数値を入力してください”)
文字列の数値変換:
=PPMT(VALUE(利率テキスト)/12, VALUE(期), VALUE(期間)*12, VALUE(借入額))
符号の混乱を避ける
返済額の符号を統一的に扱う方法です。
常に正の値で表示:
=ABS(PPMT(…))
条件による符号の調整:
=PPMT(…) * IF(表示形式=”支出”, -1, 1)
精度の問題と対策
大きな金額での計算精度を確保します。
適切な丸め処理:
=ROUND(PPMT(…), 0)
円単位での正確な計算:
=INT(PPMT(…))
累積誤差の回避:
最終期の調整: =前期残高(最終期のみ残高で調整)
PPMT関数で元本返済額を正確に計算
PPMT関数は、Excelでローンの各期における元本返済額を計算するための財務関数です。元利均等返済方式に対応し、返済初期は利息が多く、後半にかけて元本の割合が増えていくローンの仕組みを可視化できます。
住宅ローンや事業融資の返済計画表、繰上返済シミュレーション、税務処理など、資金管理に幅広く活用されています。
IPMT関数との組み合わせにより、返済額の利息と元本を分けて分析でき、資金の流れや残高の変化を正確に把握できます。
また、ROUNDやABSなどの関数と併用することで、金額表示の精度や符号の扱いも柔軟に調整可能です。
PPMT関数を正しく使いこなすことで、長期的な返済計画の見通しがより明確になります。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
ExcelのTIMEVALUE関数とは?使い方やエラー対処まで解説
TIMEVALUE関数(タイムバリュー)を使えば、文字列の時刻を計算可能な数値に変換でき、勤怠管理や時間計算を効率的に行えます。 Excelで時刻を扱う際、見た目は時刻でも実は文字列というケースは少なくありません。こうしたデータはそのままで…
詳しくみるDELTA関数の使い方:2つの値が等しいかを判定する方法
DELTA関数は、2つの数値が等しいかどうかを判定し、等しい場合は1、異なる場合は0を返す関数です。データの一致確認、条件付き計算、品質検査での合否判定など、値の比較が必要な様々な場面で活用されます。例えば、目標値と実績値の一致を確認したり…
詳しくみるMAXA関数の使い方:数値と論理値を含む最大値を求める方法
MAXA関数は、数値に加えて論理値(TRUE=1、FALSE=0)も評価して最大値を返します。文字列は、式に直接入力した“数値を表す文字列”のみ評価され、セル範囲に含まれる文字列は無視されます。 アンケートのチェックボックスなどでセルに T…
詳しくみるWEBSERVICE関数の使い方:WebAPIからデータを取得する方法
WEBSERVICE関数は、インターネット上のWebサービスからデータを取得する関数です。為替レート、株価、天気情報などのリアルタイムデータの取得、REST APIを使った外部システムとの連携、JSONやXML形式のデータの取り込みなど、様…
詳しくみるスプレッドシートのIDとは?ファイルIDとシートIDの違いから取得・活用方法まで
Googleスプレッドシート(Google Sheets)のIDは、ファイルやシートを一意に識別するための重要な識別子で、API連携や自動化において不可欠な要素です。本記事では、スプレッドシートファイルのIDとシートIDの違い、それぞれの役…
詳しくみるSUMIFS関数の使い方をわかりやすく解説!複数条件を指定して合計を求める
SUMIFS関数は、複数の条件を指定して合計を求める際に非常に便利なツールです。この関数を使うことで、大量のデータから特定の条件に合致した値だけを効率良く集計することができます。この記事では、SUMIFS関数の基本的な使い方や、さまざまな利…
詳しくみる



