大模型应用
填写或完善既有三表财务模型模板时:用公式联动…
当需要补全或填充现有的三表财务模型模板,并确保利润表、资产负债表、现金流量表正确联动、支持情景切换且通过完整性检查时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
填写或完善既有三表财务模型模板时:用公式特定
解决思路
- 环境选择:若在 Excel 内运行(Office Add-in / Office JS),直接使用 Office JS;用 `range.formulas = [['=D14*(1+Assumptions!$B$5)']]` 写公式,派生单元格绝不用 `range.values`;无需单独 recalc,Excel 原生计算;用 `context.workbook.worksheets.getItem(...)` 导航标签页。
- 若生成独立 .xlsx 文件:使用 Python/openpyxl;写 `ws['D15'] = '=D14*(1+Assumptions!$B$5)'`,交付前运行 `recalc.py`。
- Office JS 合并单元格陷阱:不要先调用 `.merge()` 再对合并区域设置 `.values`,这会抛 `InvalidArgument`,因为区域仍报告合并前尺寸;应先只写左上角单元格,再对完整区域 merge + 格式化:`ws.getRange('A1').values = [['INCOME STATEMENT']]; const h = ws.getRange('A1:G1'); h.merge(); h.format.fill.color = '#1F4E79';`。
- 以上所有原则在 Office JS 和 Python/openpyxl 两种环境中同样适用。
- 公式优先于硬编码(不可妥协):每个预测单元格、滚动计算、链接和小计都必须写 Excel 公式,绝不能写预计算值。
- 使用 Python/openpyxl 时写公式字符串(`ws['D15'] = '=D14*(1+Assumptions!$B$5)'`),不要写计算结果(`ws['D15'] = 12500`)。
- 唯一允许硬编码数字的单元格是:历史实际值,以及 Assumptions 标签页中的假设驱动项。
- 如果发现自己在 Python 中计算一个值并写入单元格,停止;改为写公式。
- 原因:模型必须在情景切换或假设变化时灵活变化;硬编码会静默破坏每个下游完整性检查。
- 分步与用户验证:映射模板后,先展示识别到的 tabs/sections,确认后再修改任何单元格。
- 分步与用户验证:填充历史数据后,展示历史数据块,确认数值/期间与源数据匹配。
- 分步与用户验证:构建 IS 预测后,运行小计检查,展示预测 IS,确认后再进入 BS。
- 分步与用户验证:构建 BS 后,展示每期资产负债表平衡检查(资产 = 负债 + 权益),确认后再进入 CF。
- 分步与用户验证:构建 CF 后,展示现金 tie-out(CF 期末现金 = BS 现金),确认后再定稿。
- 不要端到端填充整个模型后一次性展示完整结果;在每个报表处中断,展示工作,尽早捕获错误。
- 格式化:除非模板/用户另有指定,默认使用专业蓝/灰调色板,并保持颜色最少;只用蓝和灰做单元格填充,不要引入绿色、黄色、橙色或多个强调色。
- 格式化:Section headers(IS / BS / CF 标题)用深蓝 `#1F4E79` 填充,白色加粗字体。
- 格式化:Column headers(FY2024A、FY2025E 等)用浅蓝 `#D9E1F2` 填充,黑色加粗字体。
- 格式化:Input cells(历史值、假设驱动项)用浅灰 `#F2F2F2` 或白色填充,蓝色 `#0000FF` 字体。
- 格式化:Formula cells 用白色填充,黑色字体。
- 格式化:Cross-tab links 用白色填充,绿色 `#008000` 字体。
- 格式化:Check rows / key totals 用中蓝 `#BDD7EE` 填充,黑色加粗字体。
- 格式化:整套最多 3 种蓝 + 1 种灰 + 白色;如果模板已有自己的配色,则遵循模板配色。
- 格式化:字体颜色表示单元格是什么(输入/公式/链接),填充颜色表示你在哪里(表头/数据/检查)。
- 模型结构:识别模板标签页组织;审阅所有标签页以理解模板结构,因为标签命名和组织方式会变化。
- 常见标签页与内容:IS、P&L、Income Statement → Income Statement。
- 常见标签页与内容:BS、Balance Sheet → Balance Sheet。
- 常见标签页与内容:CF、CFS、Cash Flow → Cash Flow Statement。
- 常见标签页与内容:WC、Working Capital → Working Capital Schedule。
- 常见标签页与内容:DA、D&A、Depreciation、PP&E → Depreciation & Amortization Schedule。
- 常见标签页与内容:Debt、Debt Schedule → Debt Schedule。
- 常见标签页与内容:NOL、Tax、DTA → Net Operating Loss Schedule。
- 常见标签页与内容:Assumptions、Inputs、Drivers → Driver assumptions and inputs。
- 常见标签页与内容:Checks、Audit、Validation → Error-checking dashboard。
- 模板审阅清单:识别模板中存在哪些标签页(并非所有模板都有每个 schedule)。
- 模板审阅清单:记录模板特有的、上面未列出的标签页。
- 模板审阅清单:理解标签页依赖关系(例如哪些 schedule 输入主报表)。
- 模板审阅清单:在每个标签页定位输入单元格与公式单元格。
- 理解模板结构:识别行结构——定位每个标签页顶部的模型标题。
- 理解模板结构:识别 section headers 及其视觉分隔。
- 理解模板结构:找到 units row,标明 $ millions、%、x 等。
- 理解模板结构:记录 column headers,区分 Actuals 与 Estimates 期间。
- 理解模板结构:确认期间标签(例如 FY2024A、FY2025E)。
- 理解模板结构:识别输入单元格与公式单元格(通常由字体颜色区分)。
- 理解模板结构:识别列结构——确认最左列是 line item labels。
- 理解模板结构:验证历史年份在预测年份之前。
- 理解模板结构:记录历史期间与预测期间之间的视觉边框。
- 理解模板结构:检查所有标签页的列顺序是否一致。
- 使用命名区域:输入数据前审阅模板中已有 named ranges(Excel 中 Formulas → Name Manager)。
- 使用命名区域:常见 named ranges 包括 Revenue growth rates、cost percentages、关键输出(Net Income、EBITDA、Total Debt、Cash)、scenario selector cell。
- 使用命名区域:确保输入写入会馈入这些 named ranges 的单元格。
- 预测期间:模板通常从最后历史年份向前预测 5 年。
- 预测期间:验证历史(A)与预测(E)列清晰分离。
- 预测期间:确认列使用 fiscal year 记法(例如 FY2024A、FY2025E)。
- Margin Analysis:仅当用户提示或模板明确要求时执行以下 margin analysis;如果没有提示,跳过本节。
- Margin Analysis 核心 margins:Gross Margin = Gross Profit / Revenue,衡量定价能力、生产效率。
- Margin Analysis 核心 margins:EBITDA Margin = EBITDA / Revenue,衡量核心经营盈利能力。
- Margin Analysis 核心 margins:EBIT Margin = EBIT / Revenue,衡量扣除 D&A 后的经营盈利能力。
- Margin Analysis 核心 margins:Net Income Margin = Net Income / Revenue,衡量底线盈利能力。
- Margin Analysis 展示:在每个利润行项目正下方显示 margin 百分比:Gross Margin % 在 Gross Profit 下方。
- Margin Analysis 展示:EBIT Margin % 在 EBIT 下方。
- Margin Analysis 展示:EBITDA Margin % 在 EBITDA 下方。
- Margin Analysis 展示:Net Income Margin % 在 Net Income 下方。
- Credit Metrics:仅当用户提示或模板明确要求时执行以下 credit analysis;如果没有提示,跳过本节。
- Credit Metrics 核心指标:Total Debt / EBITDA = Total Debt / LTM EBITDA,衡量 leverage multiple。
- Credit Metrics 核心指标:Net Debt / EBITDA = (Total Debt - Cash) / LTM EBITDA,衡量扣除现金后的 leverage。
- Credit Metrics 核心指标:Interest Coverage = EBITDA / Interest Expense,衡量偿债能力。
- Credit Metrics 核心指标:Debt / Total Cap = Total Debt / (Total Debt + Equity),衡量资本结构。
- Credit Metrics 核心指标:Debt / Equity = Total Debt / Total Equity,衡量财务杠杆。
- Credit Metrics 核心指标:Current Ratio = Current Assets / Current Liabilities,衡量短期流动性。
- Credit Metrics 核心指标:Quick Ratio = (Current Assets - Inventory) / Current Liabilities,衡量即时流动性。
- Credit Metrics 层级检查:验证 Upside 显示最强信用状况;Leverage:Upside < Base < Downside(越低越好)。
- Credit Metrics 层级检查:Coverage:Upside > Base > Downside(越高越好)。
- Credit Metrics 层级检查:Liquidity:Upside > Base > Downside(越高越好)。
- Covenant 合规跟踪:如果已知债务 covenants,添加显式合规检查,将实际指标与 covenant thresholds 比较。
- Scenario Analysis:在 Assumptions 标签页使用 scenario toggle(下拉框),配合 CHOOSE 或 INDEX/MATCH 公式。
- Scenario Analysis:Base Case 使用管理层指引或 consensus estimates。
- Scenario Analysis:Upside Case 使用高于指引的增长、margin expansion。
- Scenario Analysis:Downside Case 使用低于趋势的增长、margin compression。
- Scenario Analysis 关键驱动项:Revenue growth、Gross margin、SG&A %、DSO/DIO/DPO、CapEx %、Interest rate、Tax rate。
- Scenario 审计检查:toggle 会切换所有报表;BS 在所有 scenarios 都平衡;Cash 都 tie out;层级成立(NI、EBITDA、FCF、margins 均为 Upside > Base > Downside)。
- SEC Filings 数据提取:如果模板明确要求从 SEC filings(10-K、10-Q)拉取数据,参见 `references/sec-filings.md` 获取详细提取指导;仅当用上市公司监管文件数据填充模板时需要该参考。
- 完成模型模板 Step 1 分析模板结构:识别输入 vs 公式单元格——寻找字体颜色、单元格底纹等视觉线索。
- 完成模型模板 Step 1:常见约定:蓝字 = 输入,黑字 = 公式,绿字 = 链接到其他 sheet。
- 完成模型模板 Step 1:使用 Excel 的 Trace Precedents/Dependents(Formulas → Trace Precedents)理解单元格关系。
- 完成模型模板 Step 1:检查可能控制关键输入的 named ranges(Formulas → Name Manager)。
- 完成模型模板 Step 1:映射模板流——识别哪些标签页馈入其他标签页(例如 Assumptions → IS → BS → CF)。
- 完成模型模板 Step 1:记录支持性 schedules 及其与主报表的 linkage。
- 完成模型模板 Step 1:填充前记录模板的具体 line items 和结构。
- Step 2 填写数据且不破坏公式:只编辑输入单元格;除非有意替换公式,绝不覆盖包含公式的单元格。
- Step 2:保留单元格引用;复制数据时使用 Paste Values(Ctrl+Shift+V),避免用源格式覆盖公式。
- Step 2:匹配模板单位;输入数据前核实模板使用 thousands、millions 还是 actual values。
- Step 2:遵守符号约定;遵循模板已有 sign convention(例如费用为正或为负)。
- Step 2:检查循环引用;如果模板使用 iterative calculations,确保 Enable Iterative Calculation 已打开。
- Step 2 安全数据录入流程:识别专门用于输入的精确单元格(通常高亮或标注)。
- Step 2 安全数据录入流程:先输入历史数据,再验证这些期间公式计算正确。
- Step 2 安全数据录入流程:输入馈入预测计算的假设驱动项。
- Step 2 安全数据录入流程:检查计算输出,确认公式按预期工作。
- Step 2 安全数据录入流程:如果必须修改公式单元格,先记录原始公式再修改。
- Step 2 处理预建公式:如果公式引用了尚未填充的单元格,预期会出现临时错误(#REF!、#DIV/0!),直到所有输入完成。
- Step 2 处理预建公式:当公式产生意外结果时,trace precedents 以识别缺失或错误输入。
- Step 2 处理预建公式:绝不在未检查所有标签页公式依赖前删除行/列。
- Step 3 验证公式:公式完整性检查——Trace precedents:选中公式单元格 → Formulas → Trace Precedents,验证其引用正确输入。
- Step 3:Trace dependents:验证关键输入流向预期输出单元格。
- Step 3:Evaluate formula:使用 Formulas → Evaluate Formula 单步调试复杂计算。
- Step 3:Check for hardcodes:预测公式应引用 assumptions,而不是包含硬编码值。
- Step 3:Test with known values:输入简单测试值,验证公式产生预期结果。
- Step 3:Cross-tab consistency:确保相同公式逻辑应用于所有预测期间。
- Step 3 常见公式问题:混合绝对/相对引用导致跨期间复制时结果错误。
- Step 3 常见公式问题:外部文件或已删除区域导致链接损坏(#REF! 错误)。
- Step 3 常见公式问题:收入爬坡前早期期间除零(#DIV/0! 错误)。
- Step 3 常见公式问题:循环引用警告(利息计算可能是故意的)。
- Step 3 常见公式问题:预测列公式不一致(用 Ctrl+\ 查找差异)。
- Step 3 验证跨标签页 linkage:确认出现在多个标签页的值是链接而非重复。
- Step 3 验证跨标签页 linkage:验证 schedule totals 与主报表对应 line items 对齐。
- Step 3 验证跨标签页 linkage:检查期间标签在所有标签页对齐。
- Step 4 按 sheet 质量检查:IS 检查——历史期间收入数字与源数据匹配。
- Step 4 IS 检查:所有费用 line items 加总等于报告总额。
- Step 4 IS 检查:小计(Gross Profit、EBIT、EBT、Net Income)计算正确。
- Step 4 IS 检查:税务计算逻辑合适(正确处理亏损)。
- Step 4 IS 检查:预测驱动项引用 assumptions tab(无硬编码)。
- Step 4 IS 检查:期间环比变化方向合理。
- Step 4 BS 检查:每期 Assets = Liabilities + Equity(主要检查)。
- Step 4 BS 检查:Cash balance 与 Cash Flow Statement 期末现金匹配。
- Step 4 BS 检查:Working capital accounts 与支持性 schedules 对齐(如适用)。
- Step 4 BS 检查:Retained Earnings 正确滚动:Prior RE + Net Income - Dividends +/- Adjustments = Ending RE。
- Step 4 BS 检查:Debt balances 与 debt schedule 对齐(如适用)。
- Step 4 BS 检查:所有 balance sheet items 符号合适(资产为正,多数负债为正)。
- Step 4 CF 检查:CFO 顶部的 Net Income 与 Income Statement Net Income 匹配。
- Step 4 CF 检查:非现金加回(D&A、SBC 等)与其来源 schedules/statements 对齐。
- Step 4 CF 检查:Working capital changes 符号正确(资产增加 = 现金使用 = 负数)。
- Step 4 CF 检查:CapEx 与 PP&E schedule 或 fixed asset roll-forward 对齐。
- Step 4 CF 检查:Financing activities 与 BS 上 debt 和 equity accounts 的变化对齐。
- Step 4 CF 检查:Ending Cash 与 Balance Sheet Cash 匹配。
- Step 4 CF 检查:Beginning Cash 等于上一期 Ending Cash。
- Step 4 支持性 schedule 检查:Opening balances 等于上一期 closing balances。
- Step 4 支持性 schedule 检查:Roll-forward 逻辑完整(Beginning + Additions - Deductions = Ending)。
- Step 4 支持性 schedule 检查:Schedule totals 与主报表 line items 对齐。
- Step 4 支持性 schedule 检查:计算中使用的 assumptions 与 Assumptions tab 匹配。
- Step 5 跨报表完整性检查:Balance Sheet Balance = Assets - Liabilities - Equity,预期 = 0。
- Step 5:Cash Tie-Out = CF Ending Cash - BS Cash,预期 = 0。
- Step 5:Net Income Link = IS Net Income - CF Starting Net Income,预期 = 0。
- Step 5:Retained Earnings = Prior RE + NI - Dividends - BS Ending RE,预期 = 0(按 SBC/其他项目需要调整)。
- Step 6 最终审查:在认为模型完成前,切换所有 scenarios(如适用)验证检查均通过。
- Step 6 最终审查:审查所有 #REF!、#DIV/0!、#VALUE!、#NAME? 错误并解决或记录。
- Step 6 最终审查:确认所有输入单元格已填充(搜索 placeholder values)。
- Step 6 最终审查:验证所有标签页单位一致。
- Step 6 最终审查:在做任何额外修改前保存一个干净版本。
- Model Validation and Audit 核心 linkage(必须始终成立):Balance Sheet Balance = Assets - Liabilities - Equity,预期 = 0。
- 核心 linkage:Cash Tie-Out = CF Ending Cash - BS Cash,预期 = 0。
- 核心 linkage:Cash Monthly vs Annual = Closing Cash (Monthly) - Closing Cash (Annual),预期 = 0。
- 核心 linkage:Net Income Link = IS Net Income - CF Starting Net Income,预期 = 0。
- 核心 linkage:Retained Earnings = Prior RE + NI + SBC - Dividends - BS Ending RE,预期 = 0。
- 核心 linkage:Equity Financing = ΔCommon Stock/APIC (BS) - Equity Issuance (CFF),预期 = 0。
- 核心 linkage:Year 0 Equity = Equity Raised (Year 0) - Beginning Equity Capital (Year 1),预期 = 0。
- Sign Convention 参考:CFO 中 D&A、SBC 为正(add-back)。
- Sign Convention:CFO 中 ΔAR(增加)为负(现金使用)。
- Sign Convention:CFO 中 ΔAP(增加)为正(现金来源)。
- Sign Convention:CFI 中 CapEx 为负。
- Sign Convention:CFF 中 Debt issuance 为正。
- Sign Convention:CFF 中 Debt repayments 为负。
- Sign Convention:CFF 中 Dividends 为负。
- 循环引用处理:Interest expense 产生循环:Interest → Net Income → Cash → Debt Balance → Interest。
- 循环引用处理:在 Excel 中启用迭代计算:File → Options → Formulas → Enable iterative calculation;设置 Maximum Iterations 为 100,Maximum Change 为 0.001。
- 循环引用处理:在 Assumptions tab 添加 circuit breaker toggle。
- 检查类别 Section 1 Currency Consistency:在 Assumptions 中识别并记录 currency。
- Section 1:所有 tabs 使用一致的 currency symbol 和 scale。
- Section 1:Units row 与模型 currency 匹配。
- Section 2 Balance Sheet Integrity:Assets = Liabilities + Equity(每个期间)。
- Section 2:公式 Assets - Liabilities - Equity 必须 = 0。
- Section 3 Cash Flow Integrity:Cash ties to BS(CF Ending Cash = BS Cash)。
- Section 3:Cash Monthly vs Annual:Closing Cash (Monthly) = Closing Cash (Annual)。
- Section 3:NI ties to IS(CF Net Income = IS Net Income)。
- Section 3:D&A ties to schedule。
- Section 3:SBC ties to IS。
- Section 3:ΔAR、ΔInventory、ΔAP tie to WC schedule。
- Section 3:CapEx ties to DA schedule。
- Section 4 Retained Earnings:RE roll-forward check:Prior RE + NI + SBC - Dividends = Ending RE。
- Section 4:显示 component breakdown 以便调试。
- Section 5 Working Capital:AR、Inventory、AP tie to BS。
- Section 5:DSO、DIO、DPO reasonability checks(如果超出正常范围则标记)。
- Section 6 Debt Schedule:Total Debt ties to BS(Current + LT Debt)。
- Section 6:Interest calculation ties to IS。
- Section 6b Equity Financing:Equity issuance proceeds tie to BS Common Stock/APIC increase。
- Section 6b:Cash increase from equity = Equity account increase(必须平衡)。
- Section 6b:Equity Raise Tie-Out:ΔCommon Stock/APIC (BS) = Equity Issuance (CFF)(必须 = 0)。
- Section 6b:Year 0 Equity Tie-Out:Equity Raised (Year 0) = Beginning Equity Capital (Year 1)。
- Section 6c NOL Schedule:Beginning NOL (Year 1 / Formation) = 0(新业务开始时 NOL 为零)。
- Section 6c:NOL increases only when EBT < 0(必须实现亏损才产生 NOL)。
- Section 6c:DTA ties to BS(NOL Schedule DTA = BS Deferred Tax Asset)。
- Section 6c:NOL utilization ≤ 80% of EBT(2017 年后联邦限制)。
- Section 6c:NOL balance 非负(不能使用超过可用额)。
- Section 6c:NOL generated only when EBT < 0。
- Section 6c:Tax expense = 0 when taxable income ≤ 0。
- Section 7 Scenario Hierarchy:绝对指标:Upside > Base > Downside(NI、EBITDA、FCF)。
- Section 7:Margins:Upside > Base > Downside(GM%、EBITDA%、NI%)。
- Section 7:Credit metrics:Upside < Base < Downside for leverage(反向)。
- Section 8 Formula Integrity:COGS、S&M、G&A、R&D、SBC driven by % of Revenue(无硬编码)。
- Section 8:预测年份公式一致。
- Section 8:无 #REF!、#DIV/0!、#VALUE! 错误。
- Section 9 Credit Metric Thresholds:基于 covenant thresholds 将指标标记为 Green/Yellow/Red。
- Section 9:总结任何 red flags。
- Master Check Formula:将所有 section statuses 汇总为单一 master check。
- Master Check Formula:如果所有 sections 通过 → `✓ ALL CHECKS PASS`。
- Master Check Formula:如果任何 section 失败 → `✗ ERRORS DETECTED - REVIEW BELOW`。
- Quick Debug Workflow:当 Master Status 显示错误时,滚动查找红色高亮 sections。
- Quick Debug Workflow:识别哪个 check category 失败。
- Quick Debug Workflow:导航到 source tab 调查。
- Quick Debug Workflow:修复 underlying issue。
- Quick Debug Workflow:返回 Checks tab 验证解决。
适用边界 · 注意事项
- 不要在用户未提示且模板未明确要求时执行 Margin Analysis 或 Credit Metrics。
- 不要硬编码预测/派生值;不要先在 Python 中算好结果再写入单元格;不要端到端填完整模型后才交给用户检查。
- 不适用于从零设计非模板三表模型或一般数据分析;本技能用于填充/完善既有三表财务模型模板。