---
title: "三表模型"
sidebar_label: "三表模型"
description: "在 Excel 中构建完整集成的三表模型（利润表、资产负债表、现金流量表），包含营运资本明细表、折旧摊销滚动表、债务计划表，以及使现金和留存收益勾稽的插销项。与 excel-author 配合使用。"
---

{/* This page is auto-generated from the skill's SKILL.md by website/scripts/generate-skill-docs.py. Edit the source SKILL.md, not this page. */}

# 三表模型

在 Excel 中构建完整集成的三表模型（利润表、资产负债表、现金流量表），包含营运资本明细表、折旧摊销滚动表、债务计划表，以及使现金和留存收益勾稽的插销项。与 excel-author 配合使用。

## Skill 元数据

| | |
|---|---|
| 来源 | 可选 — 通过 `hermes skills install official/finance/3-statement-model` 安装 |
| 路径 | `optional-skills/finance/3-statement-model` |
| 版本 | `1.0.0` |
| 作者 | Anthropic（由 Nous Research 改编） |
| 许可证 | Apache-2.0 |
| 平台 | linux, macos, windows |
| 标签 | `finance`, `three-statement`, `income-statement`, `balance-sheet`, `cash-flow`, `excel`, `openpyxl`, `modeling` |
| 相关 skill | [`excel-author`](/user-guide/skills/optional/finance/finance-excel-author), [`pptx-author`](/user-guide/skills/optional/finance/finance-pptx-author), [`dcf-model`](/user-guide/skills/optional/finance/finance-dcf-model), [`lbo-model`](/user-guide/skills/optional/finance/finance-lbo-model) |

## 参考：完整 SKILL.md

:::info
以下是 Hermes 在触发此 skill 时加载的完整 skill 定义。这是 skill 激活时 agent 所看到的指令内容。
:::

## 环境

本 skill 假设使用**无界面 openpyxl** — 即在磁盘上生成 .xlsx 文件。
遵循 `excel-author` skill 关于单元格着色、公式、命名区域和敏感性分析表的规范。
交付前重新计算：`python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx`。

# 三表财务模型模板填写

完整填写集成财务模型模板，确保利润表、资产负债表和现金流量表之间正确勾稽。

## ⚠️ 核心原则 — 填写任何模板前必读

**公式优先，禁止硬编码（不可妥协）：**
- 每个预测单元格、滚动计算、勾稽项和小计，必须使用 Excel 公式，绝不使用预计算值
- 使用 Python/openpyxl 时：写入公式字符串（`ws["D15"] = "=D14*(1+Assumptions!$B$5)"`），而非计算结果（`ws["D15"] = 12500`）
- 唯一允许硬编码数字的单元格：(1) 历史实际数据，(2) 假设标签页中的驱动假设
- 如果你发现自己在 Python 中计算了一个值并将结果写入单元格 — 停下来，改写公式
- 原因：模型必须在场景切换或假设变更时自动联动。硬编码会悄无声息地破坏所有下游完整性检查。

**与用户逐步确认：**
1. **映射模板后** → 向用户展示已识别的标签页/章节，确认后再修改任何单元格
2. **填写历史数据后** → 向用户展示历史数据块，确认数值/期间与源数据匹配
3. **构建利润表预测后** → 运行小计检查，向用户展示预测利润表，确认后再进行资产负债表
4. **构建资产负债表后** → 向用户展示每个期间的平衡检查（资产 = 负债 + 权益），确认后再进行现金流量表
5. **构建现金流量表后** → 向用户展示现金勾稽（现金流量表期末现金 = 资产负债表现金），确认后再定稿
6. **不要端到端填写整个模型后再呈现完成品** — 在每张报表处暂停，展示工作成果，尽早发现错误

## 格式 — 专业蓝灰配色（除非模板/用户另有指定）

**保持颜色简洁。** 单元格填充仅使用蓝色和灰色。不要引入绿色、黄色、橙色或多种强调色 — 简洁的模型讲究克制。

| 元素 | 填充色 | 字体色 |
|---|---|---|
| 章节标题（利润表/资产负债表/现金流量表标题） | 深蓝 `#1F4E79` | 白色加粗 |
| 列标题（FY2024A、FY2025E 等） | 浅蓝 `#D9E1F2` | 黑色加粗 |
| 输入单元格（历史数据、假设驱动项） | 浅灰 `#F2F2F2` 或白色 | 蓝色 `#0000FF` |
| 公式单元格 | 白色 | 黑色 |
| 跨标签页链接 | 白色 | 绿色 `#008000` |
| 检查行/关键合计 | 中蓝 `#BDD7EE` | 黑色加粗 |

**共 3 种蓝色 + 1 种灰色 + 白色。** 如果模板有自己的配色方案，则遵循模板。

字体颜色表示单元格类型（输入/公式/链接）。填充颜色表示所在位置（标题/数据/检查）。

## 模型结构

### 识别模板标签页组织

模板的标签页命名规范和组织方式各有不同。填写前，先查看所有标签页以了解模板结构。以下是常见标签页名称及其典型内容：

| 常见标签页名称 | 对应内容 |
|------------------|----------------------|
| IS, P&L, Income Statement | 利润表 |
| BS, Balance Sheet | 资产负债表 |
| CF, CFS, Cash Flow | 现金流量表 |
| WC, Working Capital | 营运资本明细表 |
| DA, D&A, Depreciation, PP&E | 折旧摊销明细表 |
| Debt, Debt Schedule | 债务计划表 |
| NOL, Tax, DTA | 净经营亏损明细表 |
| Assumptions, Inputs, Drivers | 驱动假设与输入项 |
| Checks, Audit, Validation | 错误检查仪表板 |

**模板审查清单**
- 确认模板中存在哪些标签页（并非所有模板都包含每张明细表）
- 记录上表未列出的模板专属标签页
- 了解标签页依赖关系（例如，哪些明细表汇入主报表）
- 在每个标签页上定位输入单元格与公式单元格

### 理解模板结构

填写模板前，先熟悉其现有布局，确保数据录入位置正确且公式保持完整。

**识别行结构**
- 在每个标签页顶部找到模型标题
- 识别章节标题及其视觉分隔
- 找到表示单位的行（百万美元、%、x 等）
- 注意区分实际值与预测值期间的列标题
- 确认期间标签（例如 FY2024A、FY2025E）
- 识别输入单元格与公式单元格（通常通过字体颜色区分）

**识别列结构**
- 确认最左列为行项目标签
- 验证历史年份在预测年份之前
- 注意历史期间与预测期间之间的视觉分隔线
- 检查所有标签页的列顺序是否一致

**使用命名区域**
模板通常对关键输入和输出使用命名区域。录入数据前：
- 查看模板中现有的命名区域（Excel 中：公式 → 名称管理器）
- 常见命名区域包括：收入增长率、成本百分比、关键输出（净利润、EBITDA、总债务、现金）、场景选择单元格
- 确保输入录入在能够汇入这些命名区域的单元格中

### 预测期间
- 模板通常从最后一个历史年份起向前预测 5 年
- 验证历史（A）与预测（E）列已清晰分隔
- 确认列使用财年标注（例如 FY2024A、FY2025E）

## 利润率分析

**注意：以下利润率分析仅在用户明确要求或模板明确需要时执行。如无提示，跳过本节。**

在利润表（IS）标签页上计算并展示盈利利润率，以追踪运营效率并支持同业比较。

### 核心利润率指标

| 利润率 | 公式 | 衡量内容 |
|--------|---------|------------------|
| 毛利率 | 毛利润 / 收入 | 定价能力、生产效率 |
| EBITDA 利润率 | EBITDA / 收入 | 核心运营盈利能力 |
| EBIT 利润率 | EBIT / 收入 | 折旧摊销后运营盈利能力 |
| 净利润率 | 净利润 / 收入 | 最终盈利能力 |

### 含利润率的利润表布局

在每个利润行项目正下方展示利润率百分比：
- 毛利润下方显示毛利率 %
- EBIT 下方显示 EBIT 利润率 %
- EBITDA 下方显示 EBITDA 利润率 %
- 净利润下方显示净利润率 %

## 信用指标

**注意：以下信用分析仅在用户明确要求或模板明确需要时执行。如无提示，跳过本节。**

在资产负债表（BS）标签页上计算并展示信用/杠杆指标，以评估财务健康状况、债务承载能力和契约合规性。

### 核心信用指标

| 指标 | 公式 | 衡量内容 |
|--------|---------|------------------|
| 总债务 / EBITDA | 总债务 / 过去十二个月 EBITDA | 杠杆倍数 |
| 净债务 / EBITDA | （总债务 - 现金）/ 过去十二个月 EBITDA | 扣除现金后的杠杆 |
| 利息覆盖率 | EBITDA / 利息费用 | 偿债能力 |
| 债务 / 总资本 | 总债务 /（总债务 + 权益） | 资本结构 |
| 债务 / 权益 | 总债务 / 总权益 | 财务杠杆 |
| 流动比率 | 流动资产 / 流动负债 | 短期流动性 |
| 速动比率 | （流动资产 - 存货）/ 流动负债 | 即时流动性 |

### 信用指标层级检查

验证乐观情景呈现最优信用状况：
- 杠杆：乐观 &lt; 基准 &lt; 悲观（越低越好）
- 覆盖率：乐观 > 基准 > 悲观（越高越好）
- 流动性：乐观 > 基准 > 悲观（越高越好）

### 契约合规追踪

如已知债务契约条款，添加明确的合规检查，将实际指标与契约阈值进行比较。

## 情景分析（基准 / 乐观 / 悲观）

在假设标签页中使用情景切换（下拉菜单），配合 CHOOSE 或 INDEX/MATCH 公式。

| 情景 | 描述 |
|----------|-------------|
| 基准情景 | 管理层指引或市场一致预期 |
| 乐观情景 | 超预期增长、利润率扩张 |
| 悲观情景 | 低于趋势增长、利润率压缩 |

**关键敏感性驱动因素**：收入增长率、毛利率、SG&A %、DSO/DIO/DPO、资本支出 %、利率、税率。

**情景审计检查**：切换开关联动所有报表，所有情景下资产负债表平衡，现金勾稽，层级成立（乐观 > 基准 > 悲观，适用于净利润、EBITDA、自由现金流、各利润率）。

## SEC 申报文件数据提取

如果模板明确需要从 SEC 申报文件（10-K、10-Q）中提取数据，请参阅 [references/sec-filings.md](https://github.com/NousResearch/hermes-agent/blob/main/optional-skills/finance/3-statement-model/references/sec-filings.md) 获取详细提取指引。仅在使用上市公司监管申报文件数据填写模板时才需要此参考文档。

## 填写模型模板

本节提供填写任意三表财务模型模板的通用指引，同时保留现有公式并确保数据完整性。

### 第一步：分析模板结构

录入任何数据前，彻底审查模板以了解其架构：

**识别输入单元格与公式单元格**
- 寻找区分输入单元格与公式单元格的视觉提示（字体颜色、单元格底纹）
- 常见规范：蓝色字体 = 输入，黑色字体 = 公式，绿色字体 = 跨表链接
- 使用 Excel 的追踪引用单元格/从属单元格功能（公式 → 追踪引用单元格）了解单元格关系
- 检查可能控制关键输入的命名区域（公式 → 名称管理器）

**梳理模板流程**
- 识别哪些标签页汇入其他标签页（例如，假设 → 利润表 → 资产负债表 → 现金流量表）
- 记录各支撑明细表及其与主报表的勾稽关系
- 在填写前记录模板的具体行项目和结构

### 第二步：在不破坏公式的前提下录入数据

**数据录入黄金法则**

| 规则 | 说明 |
|------|-------------|
| 仅编辑输入单元格 | 除非有意替换公式，否则绝不覆盖含公式的单元格 |
| 保留单元格引用 | 复制数据时，使用选择性粘贴值（Ctrl+Shift+V），避免用源格式覆盖公式 |
| 匹配模板单位 | 录入数据前确认模板使用千元、百万元还是实际值 |
| 遵守符号规范 | 遵循模板现有的符号规范（例如，费用为正数或负数） |
| 检查循环引用 | 如果模板使用迭代计算，确保已启用迭代计算 |

**安全数据录入流程**
1. 确定指定用于输入的确切单元格（通常已高亮或标注）
2. 先录入历史数据，然后验证这些期间的公式计算是否正确
3. 录入驱动预测计算的假设驱动项
4. 审查计算输出，确认公式按预期运行
5. 如必须修改公式单元格，在修改前记录原始公式

**处理预置公式**
- 如果公式引用了尚未填写的单元格，在所有输入完成前预期会出现临时错误（#REF!、#DIV/0!）
- 当公式产生意外结果时，追踪引用单元格以识别缺失或错误的输入
- 在未检查所有标签页的公式依赖关系前，绝不删除行/列

### 第三步：验证公式

**公式完整性检查**

在依赖模板输出前，验证公式是否正常运行：

| 检查类型 | 方法 |
|------------|--------|
| 追踪引用单元格 | 选择公式单元格 → 公式 → 追踪引用单元格，验证其引用了正确的输入 |
| 追踪从属单元格 | 验证关键输入是否流向预期的输出单元格 |
| 公式求值 | 使用公式 → 公式求值，逐步分析复杂计算 |
| 检查硬编码 | 预测公式应引用假设项，不应包含硬编码值 |
| 用已知值测试 | 输入简单测试值，验证公式是否产生预期结果 |
| 跨标签页一致性 | 确保相同的公式逻辑适用于所有预测期间 |

**常见公式问题**
- 混合绝对/相对引用导致跨期间复制时结果错误
- 指向外部文件或已删除区域的断裂链接（#REF! 错误）
- 收入尚未起量的早期期间出现除零错误（#DIV/0! 错误）
- 循环引用警告（利息计算中可能是有意为之）
- 预测列之间公式不一致（使用 Ctrl+\ 查找差异）

**验证跨标签页勾稽**
- 确认出现在多个标签页上的数值是链接的（而非重复录入）
- 验证明细表合计与主报表对应行项目勾稽
- 检查所有标签页的期间标签是否对齐

### 第四步：按工作表进行质量检查

填写模板后，对每张工作表执行以下验证检查：

**利润表（IS）质量检查**
- 历史期间收入数据与源数据匹配
- 所有费用行项目加总等于报告合计
- 小计（毛利润、EBIT、税前利润、净利润）计算正确
- 税务计算逻辑合理（正确处理亏损情况）
- 预测驱动项引用假设标签页（无硬编码）
- 同比变动方向合理

**资产负债表（BS）质量检查**
- 每个期间资产 = 负债 + 权益（主要检查项）
- 现金余额与现金流量表期末现金匹配
- 营运资本科目与支撑明细表勾稽（如适用）
- 留存收益正确滚动：期初留存收益 + 净利润 - 股息 +/- 调整项 = 期末留存收益
- 债务余额与债务计划表勾稽（如适用）
- 所有资产负债表项目符号正确（资产为正，大多数负债为正）

**现金流量表（CF）质量检查**
- 经营活动现金流顶部净利润与利润表净利润匹配
- 非现金加回项（折旧摊销、股权激励等）与其来源明细表/报表勾稽
- 营运资本变动符号正确（资产增加 = 现金使用 = 负数）
- 资本支出与固定资产明细表或固定资产滚动表勾稽
- 融资活动与资产负债表债务和权益科目变动勾稽
- 期末现金与资产负债表现金匹配
- 期初现金等于上期期末现金

**支撑明细表质量检查**
- 期初余额等于上期期末余额
- 滚动逻辑完整（期初 + 增加 - 减少 = 期末）
- 明细表合计与主报表行项目勾稽
- 计算中使用的假设与假设标签页匹配

### 第五步：跨报表完整性检查

验证各张工作表后，确认三张报表已正确集成：

| 检查项 | 公式 | 预期结果 |
|-------|---------|-----------------|
| 资产负债表平衡 | 资产 - 负债 - 权益 | = 0 |
| 现金勾稽 | 现金流量表期末现金 - 资产负债表现金 | = 0 |
| 净利润勾稽 | 利润表净利润 - 现金流量表起始净利润 | = 0 |
| 留存收益 | 期初留存收益 + 净利润 - 股息 - 资产负债表期末留存收益 | = 0（根据需要调整股权激励/其他项目） |

### 第六步：最终审查

在认为模型完成前：
- 切换所有情景（如适用），验证每种情景下检查均通过
- 审查所有 #REF!、#DIV/0!、#VALUE! 和 #NAME? 错误，解决或记录说明
- 确认所有输入单元格已填写（搜索占位符值）
- 验证所有标签页单位一致
- 在进行任何额外修改前保存一个干净版本

## 模型验证与审计

本节汇总已完成模板的所有验证检查和审计程序。

### 核心勾稽项（必须始终成立）

所有公式详情见 [references/formulas.md](https://github.com/NousResearch/hermes-agent/blob/main/optional-skills/finance/3-statement-model/references/formulas.md)。

| 检查项 | 公式 | 预期结果 |
|-------|---------|-----------------|
| 资产负债表平衡 | 资产 - 负债 - 权益 | = 0 |
| 现金勾稽 | 现金流量表期末现金 - 资产负债表现金 | = 0 |
| 月度与年度现金 | 期末现金（月度）- 期末现金（年度） | = 0 |
| 净利润勾稽 | 利润表净利润 - 现金流量表起始净利润 | = 0 |
| 留存收益 | 期初留存收益 + 净利润 + 股权激励 - 股息 - 资产负债表期末留存收益 | = 0 |
| 权益融资 | 资产负债表普通股/资本公积变动 - 融资活动权益发行 | = 0 |
| 第 0 年权益 | 第 0 年募集权益 - 第 1 年期初权益资本 | = 0 |

### 符号规范参考

| 报表 | 项目 | 符号规范 |
|-----------|------|-----------------|
| 经营活动现金流 | 折旧摊销、股权激励 | 正数（加回） |
| 经营活动现金流 | 应收账款增加 | 负数（现金使用） |
| 经营活动现金流 | 应付账款增加 | 正数（现金来源） |
| 投资活动现金流 | 资本支出 | 负数 |
| 融资活动现金流 | 债务发行 | 正数 |
| 融资活动现金流 | 债务偿还 | 负数 |
| 融资活动现金流 | 股息 | 负数 |

### 循环引用处理

利息费用产生循环：利息 → 净利润 → 现金 → 债务余额 → 利息

在 Excel 中启用迭代计算：文件 → 选项 → 公式 → 启用迭代计算。设置最大迭代次数为 100，最大误差为 0.001。在假设标签页中添加断路器切换开关。

### 检查类别

**第 1 节：货币一致性**
- 货币已在假设标签页中标识和记录
- 所有标签页使用一致的货币符号和量级
- 单位行与模型货币匹配

**第 2 节：资产负债表完整性**
- 每个期间资产 = 负债 + 权益
- 公式：资产 - 负债 - 权益（必须 = 0）

**第 3 节：现金流量完整性**
- 现金与资产负债表勾稽（现金流量表期末现金 = 资产负债表现金）
- 月度与年度现金：期末现金（月度）= 期末现金（年度）
- 净利润与利润表勾稽（现金流量表净利润 = 利润表净利润）
- 折旧摊销与明细表勾稽
- 股权激励与利润表勾稽
- 应收账款变动、存货变动、应付账款变动与营运资本明细表勾稽
- 资本支出与折旧摊销明细表勾稽

**第 4 节：留存收益**
- 留存收益滚动检查：期初留存收益 + 净利润 + 股权激励 - 股息 = 期末留存收益
- 展示组成部分明细以便调试

**第 5 节：营运资本**
- 应收账款、存货、应付账款与资产负债表勾稽
- DSO、DIO、DPO 合理性检查（超出正常范围时标记）

**第 6 节：债务计划表**
- 总债务与资产负债表勾稽（流动 + 长期债务）
- 利息计算与利润表勾稽

**第 6b 节：权益融资**
- 权益发行所得与资产负债表普通股/资本公积增加额勾稽
- 权益带来的现金增加 = 权益科目增加（必须平衡）
- 权益募集勾稽：资产负债表普通股/资本公积变动 = 融资活动权益发行（必须 = 0）
- 第 0 年权益勾稽：第 0 年募集权益 = 第 1 年期初权益资本

**第 6c 节：净经营亏损明细表**
- 第 1 年/成立时期初净经营亏损 = 0（新企业从零净经营亏损起步）
- 仅当税前利润 &lt; 0 时净经营亏损增加（必须实现亏损才能产生净经营亏损）
- 递延税资产与资产负债表勾稽（净经营亏损明细表递延税资产 = 资产负债表递延税资产）
- 净经营亏损利用额 ≤ 税前利润的 80%（2017 年后联邦限制）
- 净经营亏损余额非负（不能利用超过可用额度）
- 仅当税前利润 &lt; 0 时产生净经营亏损
- 应税收入 ≤ 0 时税务费用 = 0

**第 7 节：情景层级**
- 绝对指标：乐观 > 基准 > 悲观（净利润、EBITDA、自由现金流）
- 利润率：乐观 > 基准 > 悲观（毛利率 %、EBITDA %、净利润率 %）
- 信用指标：杠杆方面乐观 &lt; 基准 &lt; 悲观（反向）

**第 8 节：公式完整性**
- 营业成本、销售费用、管理费用、研发费用、股权激励由收入百分比驱动（无硬编码）
- 预测年份间公式一致
- 无 #REF!、#DIV/0!、#VALUE! 错误

**第 9 节：信用指标阈值**
- 根据契约阈值将指标标记为绿色/黄色/红色
- 汇总所有红色预警

### 主检查公式

将所有章节状态汇总为单一主检查：
- 如果所有章节通过 → "✓ ALL CHECKS PASS"
- 如果任何章节失败 → "✗ ERRORS DETECTED - REVIEW BELOW"

### 快速调试流程

当主状态显示错误时：
1. 滚动查找红色高亮章节
2. 识别哪个检查类别存在失败
3. 导航至源标签页进行排查
4. 修复根本问题
5. 返回检查标签页验证是否已解决


## 数据来源 — 优先 MCP，其次网络回退

以下许多段落提到"使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP"。这些是原 Cowork 插件上下文中的商业金融数据 MCP。在 Hermes 中：

- **如果已配置任何结构化金融数据 MCP**（Hermes 支持 MCP — 参见 `native-mcp` skill），优先使用它获取时点可比数据、前例交易和申报文件。
- **否则**，回退至：
  - 针对 SEC EDGAR（`https://www.sec.gov/cgi-bin/browse-edgar`）使用 `web_search` / `web_extract` 获取美国申报文件
  - 公司投资者关系页面获取新闻稿、业绩演示文稿
  - `browser_navigate` 访问交互式数据门户
  - 用户提供的数据（当上下文中没有时，明确询问）
- **绝不捏造数据**。如果某个倍数、前例或申报数字无法溯源，将该单元格标记为 `[UNSOURCED]` 并向用户说明。

## 归属声明

本 skill 改编自 Anthropic 的 Claude 金融服务插件套件（Apache-2.0）。Office-JS / Cowork 实时 Excel 路径已移除；本版本通过 `excel-author` skill 的规范面向无界面 openpyxl。原始来源：https://github.com/anthropics/financial-services