# Financial Report Analysis

> 财务报表分析技能。当用户上传财务报表 Excel 文件（包含资产负债表、利润表、现金流量表等 Sheet）并请求分析时， 站在资深财务专家视角，自动输出完整的财务分析报告，包含：报表项目增减变动表、 资产结构变动表、利润表结构变动表、财务比率综合分析（盈利/偿债/营运/成长能力指标）， 以及专家综合分析总结与建议。 触发词：财务报表分析、分析财报、财务分析、资产负债表分析、利润表分析、现金流分析、 财务指标、盈利能力、偿债能力、营运能力、成长能力、ROE、ROA、毛利率、净利率、 流动比率、资产负债率、财务健康诊断、报表解读、财报分析。

- Skill: `knownasnaffy/financial-report-analysis` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add knownasnaffy/financial-report-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/knownasnaffy/financial-report-analysis/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: knownasnaffy (https://skillmd.com/u/knownasnaffy)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/knownasnaffy/financial-report-analysis

---


# 财务报表分析技能

## 概述

本技能面向企业财务报表（Excel格式）进行全方位专业分析，输出 Markdown 格式的财务分析报告。
报告覆盖五大维度，适用于财务尽调、年度复盘、经营体检等场景。

## 触发条件

用户上传含有财务数据的 Excel 文件，且请求进行以下任意类型的分析：
- 财务报表整体分析 / 财务健康诊断
- 资产、负债、利润、现金流增减变动分析
- 各项财务比率计算（盈利/偿债/营运/成长能力）
- 专家级财务分析总结与改进建议

## 工作流程

### Phase 1：文件接收与预处理

1. 确认用户已上传 Excel 文件（`.xlsx` / `.xls` / `.xlsm`）。
2. 如用户未上传，提示：
   > "请上传包含财务数据的 Excel 文件（通常应包含资产负债表、利润表、现金流量表等 Sheet）。"
3. 确认文件路径后，进入分析阶段。

### Phase 2：运行分析脚本

调用 `scripts/analyze_financial_report.py` 执行自动化分析：

```bash
python "scripts/analyze_financial_report.py" "<excel_file_path>"
```

脚本将：
- 自动检测并匹配 Excel 中的资产负债表、利润表、现金流量表 Sheet（支持中英文名称模糊匹配）
- 清洗数据，提取本期/上期两列数值
- 输出 Markdown 格式分析报告到同目录下，文件名：`{原文件名}_财务分析报告.md`

**环境依赖**：脚本会自动检查并安装 `pandas`、`openpyxl`，无需手动安装。

### Phase 3：报告内容说明

生成的报告包含五大部分：

#### 一、报表项目增减变动分析
- 对资产负债表、利润表、现金流量表的每个科目
- 列出：本期金额 | 上期金额 | 变动金额（🔺/🔻标注）| 变动率

#### 二、资产项目结构变动分析
- 以**总资产**为基准（100%）
- 计算各资产项目**本期占比**与**上期占比**
- 输出占比变动（单位：百分点 pp）

#### 三、利润表项目结构变动分析
- 以**营业收入**为基准（100%）
- 计算各利润表科目**本期占比**与**上期占比**
- 输出占比变动

#### 四、财务比率综合分析

| 类别 | 主要指标 |
|------|----------|
| 盈利能力 | 毛利率、净利率、ROA、ROE、营业利润率 |
| 偿债能力 | 流动比率、速动比率、资产负债率、利息保障倍数、产权比率 |
| 营运能力 | 总资产周转率、应收账款周转率（天数）、存货周转率（天数）、流动资产周转率 |
| 成长能力 | 收入增长率、净利润增长率、总资产增长率、净资产增长率、营业利润增长率、经营现金流增长率 |

#### 五、资深财务专家综合分析与建议
- 按盈利能力、偿债能力、成长能力逐项给出数值驱动的评价
- 标注核心优势（✅）与风险提示（⚠️/🔴）
- 提供 5 条改进建议

### Phase 4：结果展示

1. 使用 `open_result_view` 展示生成的 Markdown 报告。
2. 使用 `deliver_attachments` 将报告文件交付给用户。
3. 在回复中用简短语言概括分析亮点与主要发现。

## 注意事项

- **Sheet 自动匹配**：脚本支持中英文名称模糊匹配（资产负债表/Balance Sheet/资产 等）。
  若某 Sheet 未能自动匹配，报告中会注明"数据不足"，可提示用户检查 Sheet 名称。
- **数据格式要求**：Excel 中第一列为科目名，第二列为本期数据，第三列为上期数据（常见格式）。
  若格式不同（如多年横排），脚本会尝试自适应，但效果因文件而异。
- **多年期报表**：若文件包含3年及以上数据，成长能力指标会更有参考意义；
  当前脚本主要取前两列（本期/上期），如需多年趋势分析，可在报告中补充说明。
- **货币单位**：脚本不处理单位换算，报告中数值与原始数据单位一致（元/万元/亿元均可）。
- **保密提示**：处理完成后，如用户有数据安全顾虑，建议告知文件仅在本地处理，不上传到外部服务。

## 踩坑经验

- **资产/负债分Sheet格式**：部分企业将资产负债表拆分为"资产"和"负债"两个Sheet（如本技能测试文件"深圳市羊城晚报文化发展有限公司"），脚本已支持自动检测并合并。
- **附注列干扰**：标准报表第2列通常为附注编号（如"附注五"），为非数值列，脚本通过"至少15%行是纯数字"的列识别逻辑自动跳过。
- **Sheet简称匹配**：有些文件用"资产"、"负债"、"利润"、"现流"等简称命名Sheet，SHEET_ALIASES中已覆盖这些别名。
- **clean_df中的join报错**：pandas读取含NaN的行时，row.astype(str)可能报 `expected str instance, float found`，需改为 `row.fillna("").astype(str)` 才能正确join。
- **lambda中float类型报错**：对Series执行apply时，若列中含有float类型值，需在lambda内部调用 `str(v)` 转换后再执行正则匹配。

## 错误处理

| 场景 | 处理方式 |
|------|----------|
| 文件未上传 | 提示上传文件 |
| 文件格式不是Excel | 提示仅支持 .xlsx/.xls/.xlsm |
| Sheet 未匹配到 | 在报告中标注，提示检查Sheet名称 |
| 数据列不足（<3列） | 跳过该分析模块，输出提示 |
| 脚本运行报错 | 告知错误信息，建议检查文件格式 |

