跳转到主要内容

电子表格审计(Audit XLS)

什么是模型审计?

在金融行业,Excel 模型是决策的基础 —— DCF 模型决定了公司的估值,LBO 模型决定了 PE 基金的出价,三表模型预测了公司的未来。如果模型中存在公式错误、硬编码覆盖或逻辑问题,整个分析的结论都不可靠。 模型审计就是对 Excel 工作簿进行系统性的检查,找出公式层面的错误和财务模型特有的完整性问题。这就像代码审查(Code Review)一样 —— 不是检查模型的结论是否正确,而是检查模型的”代码”(公式和链接)是否正确。

为什么重要

  • 投行交付前 —— MD 签字前的最后一道质量关卡
  • IC(投委会)前 —— 投资决策依赖模型的准确性
  • 交易交割前 —— 法律和财务文件中的数字必须与模型一致
  • 接手他人模型时 —— 在使用前确认模型的可靠性
在实际工作中,最常见的模型错误源是硬编码覆盖 —— 有人调试时直接输入了一个数字来”修复”一个问题,但忘了改回公式。这个数字在输入时可能是正确的,但当其他假设变化时它不会更新,导致模型在不知不觉中产生错误输出。

核心概念

中文术语英文术语说明
审计范围Audit Scope检查的深度 —— 选区级、工作表级或全模型级
硬编码Hardcode直接输入的数字,而非引用其他单元格的公式
循环引用Circular ReferenceA 引用 B,B 引用 C,C 又引用 A 的循环依赖
资产负债表平衡BS BalanceAssets = Liabilities + Equity 必须成立
现金勾稽Cash Tie-Out现金流量表期末现金 = 资产负债表现金
公式覆盖Pasted-Over Formula看起来像公式但实际是硬编码值的单元格
迭代计算Iterative CalculationExcel 通过多次循环计算来解决循环引用

工作流程

步骤 1:确定审计范围

三个范围级别:
  • selection(选区)—— 只检查当前选中的区域
  • sheet(工作表)—— 检查当前活动工作表
  • model(全模型)—— 最深度审计,包括财务模型完整性检查

步骤 2:公式级检查(所有范围)

检查项查找内容
公式错误#REF!#VALUE!#N/A#DIV/0!#NAME?
公式中的硬编码=A1*1.05 —— 其中 1.05 应该是单元格引用
不一致的公式某行的公式模式与相邻行不同
范围偏移SUM/AVERAGE 少包含了第一行或最后一行
公式覆盖看起来有公式但实际是粘贴的值
循环引用有意的还是无意的
断裂的跨表链接引用了已移动或删除的单元格
单位不匹配千元与百万元混用,百分比存为整数

步骤 3:模型完整性检查(model 范围)

资产负债表:
  • Total Assets = Total Liabilities + Equity(每个期间)
  • Retained Earnings 正确滚动
现金流量表:
  • CF Ending Cash = BS Cash(每个期间)
  • CFO + CFI + CFF = 现金变动
  • D&A 和 CapEx 与来源明细表一致
利润表:
  • 营收构建与明细一致
  • 税金计算合理(考虑递延税调整)
模型类型专项检查:
  • 折现率应用到错误的期间
  • 终值未折现回现值
  • WACC 使用账面价值而非市场价值
  • FCF 包含利息费用
  • 终值占 EV 比例过大
  • 债务偿还与 Cash Sweep 不匹配
  • PIK 利息未计入本金
  • 退出倍数应用到错误的 EBITDA
  • 交易费用未从 Day 1 股权扣除
  • 营运资本变动符号错误
  • 折旧与 PP&E 明细表不匹配
  • 股利超过净利润

步骤 4:生成报告

#工作表单元格严重程度类别问题建议修复
1ISD15Critical公式硬编码覆盖替换为公式
2BSH30Critical平衡Assets 不等于 L+E追溯 RE 滚动

如何添加到本地环境

# 安装插件
claude plugin install financial-analysis@financial-services-plugins

最佳实践

  • BS 平衡是第一优先级 —— 如果资产负债表不平衡,下游所有结果都不可信
  • 硬编码覆盖是头号隐形杀手 —— 需要主动搜索
  • 符号惯例错误极为常见 —— 现金流出应该是正还是负?不同模板的惯例不同
  • 只报告不修改 —— 除非用户明确要求修复