Excelで連動する3表財務モデルを作る方法
P&L・貸借対照表・キャッシュフロー計算書を完全連動させたExcel財務モデルをゼロから構築する手順を解説。前提条件を1か所変えるだけで3表すべてに自動反映されます。
本ガイドでは、Excelの空白ブックから完全に連動した3表財務モデル(損益計算書・貸借対照表・キャッシュフロー計算書)をゼロから構築する手順を解説します。売上成長率やDSOの前提を1か所変えるだけで、3表すべてに自動的に反映されます。取締役会向け資料の修正が入るたびに、タブ間で数値を手動修正する必要はもうありません。 ### 連動財務諸表テンプレートが手動更新より優れている理由 多くのアナリストは最初に3つのタブを別々に作成し、後からリンクをつなぎ合わせます。これは問題が起きるまでは機能します。問題はたいてい、取締役会向け資料の締め切り前夜11時に、キャッシュフロー計算書が合わないという形で発覚します。リンク構造を最初から設計しておけば、作業時間は30分増えるだけで、その後の照合作業に費やす何時間もの手間を省けます。
必要なもの
- Excel 2016以降(XLOOKUPはExcel 2019以降で利用可能。本ガイドでは互換性を重視してINDEX/MATCHを使用)
- 絶対参照・相対参照および名前付き範囲の基本的な理解
- 純利益が利益剰余金に流れる仕組み、および非現金費用が営業キャッシュフローに流れる仕組みの基本的な理解
- 元データ:売上高ベース、コスト構造、運転資本日数、CapEx比率、借入金スケジュール(または仮置き値)
ステップバイステップ
連動3表Excelモデルのタブ構成を設計する
数式を1つも書く前に、タブ構成をしっかり設計しましょう。参照の方向性がすべてを決めます。前提条件シート(Assumptions)はすべてのシートにデータを供給し、P&Lは純利益を貸借対照表に渡し、貸借対照表は運転資本の変動をキャッシュフロー計算書に送ります。循環参照(主にリボルバーや支払利息に発生する)は最後に解決します。
- 次の順序で6つのタブを作成します:
Assumptions、P&L、BalSheet、CashFlow、Debt、Checks - タブに色分けを設定します:入力シート(Assumptions)は青、財務諸表シートは白、Checksは赤
- A列を行ラベル、B列を単位・注記欄とし、C列以降に会計年度(FY2024、FY2025、FY2026、FY2027、FY2028)を配置します
- 財務諸表の各タブで1行目とA列を固定し、スクロール時にもヘッダーが常に表示されるようにします
Assumptions!B1にバージョンセルを追加し、v1.0 | 2026年5月のように記入します。取締役会向け資料は4〜5回修正されるのが通常で、バージョン管理によって誤ったファイルの送付を防げます
Pro Tip
年度列のヘッダーに=DATE(Assumptions!$C$2,12,31)のような数式を使い、「YYYY」形式で表示すると、1つのセルで基準年を変えるだけでモデル全体の年度が一括更新されます。前提条件タブを作成する
前提条件タブは、ハードコードされた数値を入力できる唯一の場所です。すべてのドライバーをここに集約します。財務諸表はここからデータを参照するだけで、逆方向に値を書き戻すことはありません(実績値の反映は別途処理します)。
| ドライバー | ラベル | FY2025A | FY2026E | FY2027E | FY2028E |
|---|---|---|---|---|---|
| 売上成長率 | rev_growth | 14.2% | 12.5% | 11.0% | 9.5% |
| 売上総利益率 | gm_pct | 38.5% | 38.5% | 39.0% | 39.5% |
| EBITDA利益率 | ebitda_pct | 21.2% | 21.5% | 22.0% | 22.5% |
| DSO(日数) | dso | 47 | 45 | 45 | 44 |
| DIO(日数) | dio | 30 | 28 | 27 | 27 |
| DPO(日数) | dpo | 34 | 32 | 33 | 33 |
| CapEx(売上比) | capex_pct | 3.4% | 3.2% | 3.0% | 2.8% |
| D&A(売上比) | da_pct | 2.1% | 2.0% | 1.9% | 1.9% |
| 実効税率 | tax_rate | 26% | 26% | 26% | 26% |
- Excelの名前マネージャー(
数式 > 名前の管理)を使い、すべてのドライバー行にブックスコープの名前を定義します。たとえばDSOの行範囲にdso_rowと名付けると、財務諸表の数式が一目で読めるようになります - 実績値(FY2025A)の列はライトグレーで塗りつぶし、誤って編集されないようにします
Base Revenueセル(売上高ベース)を追加します:Assumptions!C5 = 1840000000(18.4億円)。売上高の数式はすべてこのセルを起点として計算し、前年度数値からの連鎖計算は避けます
Pro Tip
Assumptions!B2にシナリオ切り替えセル(ベース/強気/弱気)を設け、IFまたはCHOOSE関数で前提条件の行ごとに値を切り替えると、同じ案件に3つの別モデルを作らずに済みます。P&Lタブを作成する
前提条件を整えれば、P&Lタブはほぼ四則演算の組み合わせになります。すべての行で数式のパターンを統一し、監査しやすい構造にしましょう。
// FY2026E 売上高(Assumptionsタブのベース × (1 + 成長率))
C5 = Assumptions!C5 * (1 + Assumptions!C8) // 18.4億円 × 1.125 = 20.7億円
// 売上総利益
C7 = C5 * Assumptions!C9 // 20.7億円 × 38.5% = 7.97億円
// 売上原価(直接入力ではなく、売上高から逆算)
C6 = C5 - C7 // 12.73億円
// EBITDA
C10 = C5 * Assumptions!C10 // 20.7億円 × 21.5% = 4.45億円
// D&A
C11 = C5 * Assumptions!C15 // 20.7億円 × 2.0% = 4,140万円
// EBIT
C12 = C10 - C11 // 4.04億円
// 支払利息(Debtタブから参照)
C13 = -Debt!C18 // マイナス符号の慣例に従う
// 税引前利益(EBT)
C14 = C12 + C13
// 法人税等
C15 = -MAX(C14 * Assumptions!C16, 0) // マイナス税額を防ぐゼロ下限処理
// 当期純利益
C16 = C14 + C15
- 符号の慣例を全体で統一します:売上高はプラス、費用もプラスとして計上し(数式内で差し引く形にし、ハードコードでマイナスにしない)、一貫性を保ちます
- SG&AとR&Dは別々の行として作成し、
ebitda_pctからgm_pctを引いた差で計算します。金融機関や投資委員会は必ずこの内訳を確認します - クロスチェック:EBITDA行の隣に
=C10/C5を入力し、Assumptions!C10と完全に一致することを確認します。一致しない場合は端数処理にずれがあります
Pro Tip
売上総利益、EBITDA、EBIT、EBT、当期純利益などの小計行には交互にライトグレーを使って書式を設定しましょう。レビュアーはまずこれらのアンカー行を目で追います。貸借対照表タブを作成する
貸借対照表は、連動モデルが最も崩れやすい箇所です。売掛金・棚卸資産・買掛金は、手動入力ではなく前提条件タブの運転資本日数から計算します。
// 売掛金(DSO基準)
C5 = ('P&L'!C5 / 365) * Assumptions!C12 // (20.7億円 / 365) × 45 = 2.56億円
// 棚卸資産(DIO基準、売上原価を使用)
C6 = ('P&L'!C6 / 365) * Assumptions!C13 // (12.73億円 / 365) × 28 = 9,770万円
// 買掛金(DPO基準、売上原価を使用)
C20 = ('P&L'!C6 / 365) * Assumptions!C14 // (12.73億円 / 365) × 32 = 1.12億円
// 利益剰余金(前期末残高 + 当期純利益 - 配当金)
C30 = D30 + 'P&L'!C16 - Assumptions!C22 // D30 = 前期末の利益剰余金
- 有形固定資産(PP&E)の増減表を作成します:
期首PP&E + CapEx - D&A = 期末PP&E。CapExは='P&L'!C5 * Assumptions!C15(売上高 × CapEx比率)から参照します - リボルバー(短期借入金)は最終的な調整項目です。キャッシュフロー計算書を作成した後に設定します
- シートの最下部にチェック行を追加します:
=C_TotalAssets - C_TotalLiabEquity。この値が正確にゼロでなければモデルは合っておらず、以降の計算はすべて信頼できません
Pro Tip
利益剰余金の期首残高セル(FY2025A列)は監査済み財務諸表のセルにリンクし、ロックをかけておきましょう。誤った期首残高に連鎖した将来年度の利益剰余金は、気づかないまま後続すべての年度を汚染します。キャッシュフロー計算書タブを作成する
キャッシュフロー計算書は、P&Lと貸借対照表の変動からすべてを導出します。上流のドライバーが存在しない項目(一時的な支払いなど)を除き、ここでハードコードは行いません。
// 営業活動によるキャッシュフロー
// 当期純利益を起点とする
C5 = 'P&L'!C16 // 2.38億円
// D&Aを加算(非現金費用)
C6 = 'P&L'!C11 // 4,140万円
// 売掛金の変動(売掛金増加 = 現金の使用 → マイナス)
C7 = -(BalSheet!C5 - BalSheet!D5) // -(2.56億円 - 2.37億円) = -1,900万円
// 棚卸資産の変動
C8 = -(BalSheet!C6 - BalSheet!D6)
// 買掛金の変動(買掛金増加 = 現金の源泉 → プラス)
C9 = BalSheet!C20 - BalSheet!D20
// 営業CFO合計
C11 = SUM(C5:C10)
// 投資活動によるキャッシュフロー
C14 = -('P&L'!C5 * Assumptions!C15) // CapEx流出:-6,620万円
// 財務活動によるキャッシュフロー
C17 = -(Debt!C12 - Debt!D12) // 借入金純返済額
// 現金純増減額
C20 = C11 + C14 + C17
// 期末現金
C22 = BalSheet!D25 + C20 // 前期末現金 + 増減額
C22がBalSheet!C25(貸借対照表の現金)と一致することを確認します。これが2つ目の照合チェックです。不一致の場合は、差異の原因を特定してから先に進みましょう- 支払利息はGAAP(米国基準)では営業CFOに計上しますが、IFRS(国際財務報告基準)との比較可能性を重視するFP&Aチームでは財務CFに表示するケースもあります。どちらかに統一し、タブのヘッダーに注記として記載しましょう
3つの財務諸表をExcelで連動させる
3つのタブがすべて完成したら、リンクが正しく機能しているかを確認します。連動の流れは次の順序になります:前提条件(Assumptions)→ P&L → 貸借対照表 → キャッシュフロー計算書 → 貸借対照表(現金の調整)。
Assumptions!C8(売上成長率)の変化が次のように波及することを確認します:P&L!C5(売上高)が変わり、BalSheet!C5(売掛金)、BalSheet!C6(棚卸資産)、BalSheet!C20(買掛金)、CashFlow!C7/C8/C9(運転資本の変動)が連動して変わること- 貸借対照表のリボルバーが最終的なループを閉じます:
リボルバー残高 = 前期残高 + 借入実行額、借入実行額 = -MIN(CashFlow!C20 + BalSheet!D25 - Assumptions!C_MinCash, 0)。この数式は、予測現金が最低現金水準を下回る場合のみリボルバーを使います Assumptions!C12(DSOを45日から50日に変更)により、売掛金が約2,840万円増加し、営業CFOが同額減少し、期末現金が約2,840万円減少し、リボルバーが約2,840万円増加することを確認します。4つすべてが連動すれば、3表のリンクは正しく機能しています
Pro Tip
Checksタブに「デルタテスト」行を追加しましょう。前提条件を固定量だけ変更し(例:売上成長率を12.5%から13.5%に変更)、波及を確認したらCtrl+Zで元に戻します。外部にモデルを送付する前に必ずこのテストを実施してください。連動財務モデルのChecksタブを作成する
チェック機能のないモデルはリスクそのものです。Checksタブは、実際に起こりうる2つの障害パターンを検出します:貸借対照表の不一致、およびキャッシュフロー計算書の期末現金と貸借対照表の現金の不一致です。
// 貸借対照表チェック(= 0 であること)
C5 = BalSheet!C_TotalAssets - BalSheet!C_TotalLiabEquity
// 現金照合(= 0 であること)
C6 = BalSheet!C25 - CashFlow!C22
// 利益剰余金ロールチェック(= 0 であること)
C7 = BalSheet!C30 - (BalSheet!D30 + 'P&L'!C16 - Assumptions!C22)
// 売上高成長率チェック(= 0 であること)
C8 = 'P&L'!C5 - ('P&L'!D5 * (1 + Assumptions!C8))
- 各チェックセルに条件付き書式を設定します:
=0の場合は緑、<>0の場合は赤。Checksタブはモデルを手放す前にすべて緑にしておきましょう - ModelMonkeyは4つのチェックをスキャンし、不一致の内容を平易な日本語で説明できます。若手アナリストがモデルを編集した後、どのリンクが壊れているかを診断したい場合に特に役立ちます
- すべてのチェックセルに対して
SUMPRODUCTを追加します:=SUMPRODUCT(ABS(C5:C8))。これが0以外の値を返した場合、モデルには少なくとも1つのエラーがあることが、タブを開いた瞬間にわかります
Pro Tip
Checksタブにシートの保護(校閲 > シートの保護、パスワード不要)を設定しましょう。誰かがチェックセルを0にハードコードしてしまうと、チェック機能がない状態より悪くなります。連動3表Excelテンプレートの完成
ここまで完成すれば、完全に連動した3表財務モデルの出来上がりです。たとえば売上成長率を12.5%から9.0%に変更すると、予測売上高20.7億円が自動調整され、売上総利益・EBITDA・当期純利益・売掛金/棚卸資産/買掛金残高・営業キャッシュフロー・期末現金がすべて連動して変わります。財務諸表のタブを1つも直接触る必要はありません。
ここで解説したアーキテクチャはどの案件にも応用できます。MOICやIRR計算用のリターンタブ、ターミナルバリュー計算用のDCFタブ(WACC・出口マルチプル・FCFFの計算を含む)、売上高と利益率の5×5感度分析タブなどを追加しても、3表の核となる構造は変わりません。
2026年5月時点で、本ガイドで紹介したタブ構成は、大手証券会社のIB部門やFP&Aチームが取締役会向け資料・シンジケートローンモデル・投資委員会メモを作成する際に広く採用されているものと同じです。具体的な数値は異なっても、連動の仕組みは変わりません。
ゼロから構築する手間を省きたい方は、ModelMonkeyのプランを選ぶ。Google SheetsとExcelの両方で動作し、事業内容を平易な言葉で説明するだけでタブ構成・前提条件テーブル・連動数式のひな形を自動生成できます。
まとめ
よくある質問
3表連動モデルで循環参照が発生した場合、どう対処すればよいですか?
最も一般的な循環参照は支払利息から発生します:支払利息は借入金残高に依存し、借入金残高はリボルバーに依存し、リボルバーは現金に依存し、現金は支払利息に依存するという循環です。きれいな解決策は、前期の平均借入金残高(`= (期首残高 + 期末残高) / 2 × 金利`)で利息を計算し、Excelの反復計算を有効にする方法です(`ファイル > オプション > 数式 > 反復計算を有効にする`、最大反復回数100)。多くの投資銀行モデルでは、循環参照を完全に回避するために前期末の借入金残高を使用しています。
連動モデルにおける正しい符号の慣例は何ですか?
慣例を1つ決めて全体に適用してください。選択肢は2つです:損益計算書の項目をすべてプラスにする(売上高はプラス、費用もプラスとして差し引く形で表示)か、会計士の慣例を使う(売上高はプラス、費用はマイナス)か。FP&Aの現場ではすべてプラス方式が一般的で、費用は行ごとに差し引きとして表示します。キャッシュフロー計算書の現金流出はマイナス。貸借対照表は常にプラスです。どちらを選んだとしても、P&Lタブのヘッダーにセルコメントで必ず記載しておきましょう。
3表連動テンプレートは何期分をカバーすべきですか?
標準は予測5期分+過去2〜3期分の実績です。LBOモデルでは5期+出口年(1期)が一般的です。DCFでは通常、明示的予測5期分+ターミナルバリューを使います。デフォルトで予測5期分のテンプレートを作成しましょう。列の追加は簡単ですが、3期分のモデルを7期分に後から拡張すると相対参照があちこちで壊れます。
キャッシュフロー計算書が貸借対照表の現金と一致しない原因は何ですか?
最もよくある原因は、運転資本の変動で計上漏れまたは二重計上が発生しているケースです。期中に残高が変動した流動資産・流動負債すべてについて、営業CFOに対応する行があることを確認してください。有形固定資産(PP&E)の変動は投資CFに反映すべきであり、営業CFOに含めてはいけません。2番目によくある原因は、貸借対照表には反映されている配当金や株式発行が財務CFに反映されていないケースです。`=BalSheet!C25 - CashFlow!C22`のチェックセルを使って差異を行ごとに追跡してください。
このテンプレートはGAAP(米国基準)とIFRS(国際財務報告基準)の両方に対応できますか?
基本構造はどちらにも対応できますが、3つの項目で実質的な差異があります:支払利息(GAAPでは営業CFO、IFRSでは営業CFOまたは財務CF)、リース債務(旧GAAP基準ではオフバランス、IFRS第16号/ASC第842号ではオンバランス)、R&D費用の資産計上(米国GAAPでは費用処理、IAS第38号では要件を満たせば資産計上可能)。両方の表示が必要な場合は、前提条件タブに「会計基準」の切り替えセルを設け、該当する行に`IF`ロジックを使って対応してください。