前提条件
- Google Sheetsの編集権限(閲覧のみ不可 — 名前付き範囲を作成します)
- 構造化参照とクロスタブ数式の基礎知識(
=P&L!C12など) - モデルに投入する実績数値(一部でも可 — 前年度実績で十分です)
- 成長率・マージン前提を固めるための過去1年分以上の履歴データ
ステップ1:3財務諸表モデルテンプレートのタブ構成を設計する
数式を1つも書く前に、タブのアーキテクチャを確定させてください。ここでミスをすると、後から数十のクロスタブ参照を修正するはめになります。
以下の順序で8つのタブを作成します。
- Cover — バージョン管理・作成者・日付・アウトプットサマリー
- Assumptions — すべての入力値はここだけに集約する
- P&L — 損益計算書
- BS — 貸借対照表
- CF — キャッシュフロー計算書
- Debt Schedule — 借入・返済・利息計算
- PP&E Schedule — 設備投資・減価償却のロールフォワード
- Checks — バランスチェック・BS検証・数式監査
ヒント: P&L・BS・CFの各タブは、誤って数値をハードコードされないよう保護設定しましょう。「データ」→「保護されている範囲」から編集権限を自分のみに限定してください。モデルをレビューする担当者がアウトプットセルに直接入力できる状態にしておくのは危険です。
ステップ2:前提条件(Assumptions)タブの構築
売上成長率・マージン目標・実効税率・売上比Capex・売掛金回転日数(DSO)・買掛金回転日数(DPO)など、すべてのドライバーを年度ごとに1列で管理します。財務諸表タブには数値をハードコードしません。
1行目にヘッダー、C列〜H列に年度(C〜D列が実績、E〜H列が予想)を配置した縦型ドライバーテーブルを構築します。
| ドライバー | ラベル | FY2023実 | FY2024実 | FY2025予 | FY2026予 |
|---|---|---|---|---|---|
| B3 | 売上成長率 | — | 18.2% | 22.0% | 19.5% |
| B4 | 売上総利益率 | 61.3% | 63.1% | 64.0% | 64.5% |
| B5 | EBITDAマージン | 18.4% | 21.2% | 23.0% | 24.5% |
| B6 | 実効税率 | 21.0% | 21.0% | 21.0% | 21.0% |
| B10 | DSO(日) | 42 | 38 | 36 | 35 |
| B11 | DPO(日) | 51 | 54 | 55 | 55 |
| B12 | Capex / 売上比 | 6.8% | 5.9% | 6.5% | 6.0% |
年度ヘッダー行を名前付き範囲(ForecastYears)として定義し、すべての財務諸表タブからこれを参照してください。モデルを1年繰り越す際に修正箇所が1か所で済みます。
ヒント: B1セルに「シナリオ」プルダウン(Base / Bear / Bull)を設置し、各シナリオ用の前提条件ブロックを別途作成してください。Assumptionsタブへの参照をすべて
=IF(Assumptions!$B$1="Bull", Assumptions!BullBlock, Assumptions!BaseBlock)でラップすれば、シナリオ切替が1セルの操作で完了します。
ステップ3:損益計算書(P&L)の構築
P&Lタブはすべての前提値をAssumptionsタブから受け取ります。実績値を除き、数値のハードコードは行いません。
売上高が基盤になります。5行目を売上高ラインとして設定します。
=IF(C5="", "", IF(P&L!C5>0, P&L!C5, P&L!B5 * (1 + Assumptions!$C$3)))
予想年度は前期の値に成長率を乗じて積み上げます。実績年度はデータソースを直接参照します。
売上総利益はマージン前提から導出します。
=P&L!C5 * Assumptions!$E$4
EBITDA:
=P&L!C5 * Assumptions!$E$5
減価償却費(D&A)はPP&Eスケジュールから受け取ります。
='PP&E Schedule'!C18
EBIT = EBITDA − D&A。支払利息はDebt Scheduleから流れてきます。
='Debt Schedule'!C22
税引前利益(EBT)= EBIT − 支払利息。法人税等:
=P&L!C14 * Assumptions!$E$6
当期純利益でP&Lが締まります。この数値はBSの利益剰余金ロールフォワードに直結させてください。
=P&L!C16
ヒント: P&Lの最終行に「実績EBITDAマージン vs 前提値」の照合行を追加しましょう。
=P&L!C12/P&L!C5がAssumptionsタブの$E$5と一致しない場合、どこかに壊れた数式があります。
ステップ4:サポートスケジュールの構築(BSの前に)
BSを触る前に、PP&EスケジュールとDebt Scheduleを完成させてください。どちらもBSとCF計算書に数値を供給します。
PP&Eスケジュール
期首PP&E(取得原価):
='BS'!B22
当期Capex:
=P&L!C5 * Assumptions!$E$12
期末取得原価 = 期首 + Capex。減価償却費は平均耐用年数(本例では7年)の定額法で計算します。
='PP&E Schedule'!C15 / 7
減価償却累計額のロールフォワード:
='PP&E Schedule'!B18 + 'PP&E Schedule'!C17
有形固定資産(純額)= 取得原価 − 減価償却累計額:
='PP&E Schedule'!C15 - 'PP&E Schedule'!C18
Debt Schedule
期首残高・新規借入・返済・期末残高を管理します。支払利息 = (期首残高 + 期末残高)÷ 2 × 利率で算出します。利率はAssumptionsタブ(B15行)に置き、感度分析に対応できるようにしてください。期末残高はBSの長期借入金へ、支払利息はP&Lへそれぞれ連動させます。
ヒント: コミットメントライン(リボルビングクレジットファシリティ)がある場合は、キャッシュ残高がマイナスになったときに自動引出し、プラスに戻ったときに自動返済するリボルバースケジュールを別途作成しましょう。リボルバー残高をBSプラグとして使うと、手動プラグラインより構造がすっきりします。
ステップ5:3財務諸表テンプレートの貸借対照表(BS)を連動させる
BSは「資産」「負債」「純資産」の3セクションで構成されます。各行はスケジュールから流れてくるか、Assumptionsタブの前提値をもとにした運転資本計算で求めます。
売掛金:
=P&L!C5 / 365 * Assumptions!$E$10
日次売上高 × DSO日数。例えばFY2025予想の売上高56億円であれば、56億円 ÷ 365 × 36日 ≒ 5,500万円の売掛金残高となります。
買掛金:
=P&L!C7 / 365 * Assumptions!$E$11
日次売上原価 × DPO日数。
有形固定資産(純額):
='PP&E Schedule'!C19
長期借入金:
='Debt Schedule'!C25
利益剰余金のロールフォワード:
='BS'!B35 + P&L!C16 - BS!C40
期首利益剰余金 + 当期純利益 − 配当金(ある場合)。これが貸借を一致させる純資産プラグになります。
バランスチェック(Checksタブに連動させる):
=BS!C20 - (BS!C32 + BS!C38)
総資産 −(総負債 + 純資産)= この値は必ずゼロでなければなりません。ゼロにならない場合は、他の作業を進める前にリンク切れを特定してください。
ヒント: バランスチェックセルの値がゼロ以外になったとき、条件付き書式でセルを赤色にしましょう。条件式
=ABS(Checks!C5)>0.01を使うと、浮動小数点の丸め誤差を無視しながら実際のエラーだけを検知できます。
ステップ6:キャッシュフロー計算書(CF)の構築
CF計算書は当期純利益を期末キャッシュ残高に組み替えます。取締役会資料や金融機関向けモデルで標準的な間接法を使用します。なお、間接法の表示区分は企業会計基準委員会(ASBJ)が公表する「企業会計基準第7号 キャッシュ・フロー計算書に関する会計基準」に準拠しています。
営業活動によるキャッシュフロー
P&Lの当期純利益を起点に、非資金費用である減価償却費を加算します。
=P&L!C16
='PP&E Schedule'!C17
運転資本の増減は、売掛金・棚卸資産・買掛金・未払費用の期末期首差分で計算します。
=-('BS'!C12 - 'BS'!B12) // 売掛金増加 = キャッシュ流出
=-('BS'!C13 - 'BS'!B13) // 棚卸資産増加 = キャッシュ流出
=('BS'!C29 - 'BS'!B29) // 買掛金増加 = キャッシュ流入
投資活動によるキャッシュフロー
CapexはPP&Eスケジュールからキャッシュ流出として計上します。
=-'PP&E Schedule'!C16
財務活動によるキャッシュフロー
Debt Scheduleからの借入金純増減:
='Debt Schedule'!C25 - 'Debt Schedule'!B25
期末キャッシュ残高
='BS'!B10 + CF!C18 + CF!C24 + CF!C30
期首キャッシュ + 営業CF + 投資CF + 財務CF。この値は BS!C10 と一致しなければなりません。一致しない場合はリンク切れです。このチェックもChecksタブに連動させてください。
ヒント: CFで最も多いエラーが運転資本の二重計上です。売掛金がBSロールフォワードとCFの運転資本セクションの両方に現れている場合、双方が同じBSの行を参照していることを確認してください。
=Checks!C8 - Checks!C9で差異を明示的に表示すると原因特定が容易になります。
ステップ7:シナリオ分析・感度分析の追加
シナリオのないモデルはただの一点推計です。ステップ2でAssumptionsタブにシナリオトグルを設置しましたので、今度はアウトプットを可視化します。
シナリオサマリーテーブル(Coverタブに配置)
| 指標 | Bear | Base | Bull |
|---|---|---|---|
| FY2026予 売上高 | 42億円 | 56億円 | 65億円 |
| EBITDAマージン | 21.5% | 24.5% | 27.0% |
| EBITDA | 9.0億円 | 13.7億円 | 17.6億円 |
| EV(EBITDA倍率14.2x) | 128億円 | 195億円 | 250億円 |
シナリオトグルに連動する CHOOSE() 関数でP&LとBSから動的に取得します。
=CHOOSE(MATCH(Assumptions!$B$1,{"Bear","Base","Bull"},0), P&L!H12_Bear, P&L!H12_Base, P&L!H12_Bull)
EBITDAマージンと倍率を2軸に取った感度分析テーブル(株式価値の感度表など)には、SUMPRODUCT または「データ」→「What-if分析」の2変数データテーブル機能を活用してください。感度分析はCoverタブに置いて、レビュアーが最初に目にする場所に配置しましょう。
ヒント: 2026年4月現在、AssumptionsタブがデータソースとAPI連携している場合、ModelMonkeyを使えばシナリオブロックを自動更新できます。実績値をリアルタイムで取り込んでいる環境では特に有効です。ModelMonkeyのプランを選ぶ — Google SheetsとExcelの両方に対応しています。
まとめ
これですべてのアウトプットが単一のAssumptionsタブに紐づき、3財務諸表がD&A・支払利息・運転資本・利益剰余金を通じて正しく連動し、Checksタブが任意の不整合を即座に検知するテンプレートが完成しました。バランスチェックはゼロかそうでないか — 曖昧さは一切ありません。
次のステップとして自然な拡張は、リターン分析タブ(IRR・MOIC・エクイティウォーターフォール)と、CF計算書からFCFFを引っ張るDCFモデルです。3財務諸表が正確に連動していれば、どちらも構築は難しくありません。連動モデルの真価は、たとえばDSOを36日から42日に変更した瞬間、売掛金・キャッシュ・バランスチェックが1回の再計算で一斉に更新される点にあります。予実管理の更新作業や四半期決算の組替えにかかる工数が、劇的に削減されます。
モデルの設計思想については3財務諸表モデルの概要とGoogle Sheetsによる3財務諸表モデルもあわせてご覧ください。
よくある質問(FAQ)
Q. 3財務諸表モデルテンプレートは、Google SheetsとExcelのどちらで作るべきですか?
A. どちらでも基本構造は同じですが、複数人でのリアルタイム共同編集や、ModelMonkeyのようなAPI連携ツールとの親和性を重視するならGoogle Sheetsが優位です。一方、大規模なデータ処理やVBAマクロの資産がある場合はExcelが実用的です。中堅企業の経営企画・財務チームでは、稟議資料の共有・コメント管理のしやすさからGoogle Sheetsを選ぶケースが増えています。
Q. バランスチェック(BS検証)がゼロにならない場合、最初に確認すべき箇所はどこですか?
A. まず利益剰余金のロールフォワードを確認してください。「期首利益剰余金 + 当期純利益 − 配当金 = 期末利益剰余金」の数式がP&Lの当期純利益と正しく連動していないケースが最多です。次に、PP&Eスケジュールの有形固定資産(純額)がBSの固定資産行に正しく参照されているかを確認します。Checksタブで各差異を個別セルに分解して表示しておくと、原因特定が格段に速くなります。
Q. 年度更新(ロールフォワード)の手順はどのくらいの工数がかかりますか?
A. テンプレートが正しく設計されていれば、年度更新は30分以内で完了します。具体的には①AssumptionsタブのForecastYears列ヘッダーを1年ずらす、②新年度の実績値を入力する、③Debt Scheduleの新規借入・返済行を追加する — この3ステップのみです。数式がすべてAssumptionsタブ参照で統一されていれば、財務諸表タブを直接編集する必要はありません。
Q. 実効税率の前提はどう設定すればよいですか?
A. 日本の法人実効税率は2026年4月時点で約30〜34%(国税・地方税合算)です。ただし研究開発税制や中小企業向け軽減税率の適用により、実際の税負担率が異なる場合があります。AssumptionsタブのB6行に実績の平均値(本例では21.0%)を入力し、シナリオごとに調整できる構造にしておくと、投資家向けプレゼンテーションや銀行融資の審査資料として説得力が増します。
Q. ModelMonkeyを使うと、このテンプレートのどの部分が自動化できますか?
A. AssumptionsタブのドライバーをAPI経由で外部データソース(会計システム・ERPなど)から自動取込みする用途に最も向いています。たとえば月次の実績売上高・売掛金残高をModelMonkeyで自動更新すれば、P&L・BS・CFの予実差異がスプレッドシート上でリアルタイムに可視化されます。四半期決算の着地見込み更新や、取締役会向けのKPIダッシュボード自動生成に活用する企業が増えています。