以公式为先的工作簿
始终先运行捆绑脚本。 该脚本已根据手动计算结果进行测试;请勿从头重建工作簿。只有在用户要求时,才能添加额外的标签页、图表或格式,并且脚本的标签页和公式必须保持不变。
企业电子表格必须在数据变化时保持正常运行。此技能使 Claude 使用动态公式(绝不使用粘贴的结果)构建工作簿,并审计任何 .xlsx 文件中会静默破坏总和的错误。
构建工作簿时
遵循 reference/build_rules.md。简而言之:
- 输入标签页:每个假设(费率、价格、日期、百分比)都有专属的输入项,每个输入项都带有标签、单位和来源注释。公式引用这些单元格;除 0、1、12、100 外,公式内不得出现数字。
- 计算:同一列的所有行使用相同的公式。总计覆盖整个列范围,包括为未来条目预留的空白缓冲区行。
- 校验标签页:每个总计至少有一个检查(例如“类别总和 = 总计”、“无负余额”),显示“OK”或消息。
- 颜色编码:输入项用浅黄色,公式用灰色。冻结标题行。
- 仅使用 Excel 2016+ 和 Google Sheets 支持的函数(SUMIFS、COUNTIFS、INDEX/MATCH、IFERROR、ROUND、EOMONTH)。除非用户确认使用 Microsoft 365,否则避免使用 LET、LAMBDA、XLOOKUP、动态数组。
- 保存后,运行下面的检查器,修复所有错误后再交付。
审计工作簿
python scripts/lint_workbook.py FILE.xlsx [--json]
它会报告每个工作表及单元格的以下信息:
- 错误:破碎的引用(
#REF!、引用不存在的表)、缓存的错误值(#DIV/0!、#N/A、…)、SUM/总计范围未覆盖总计上方直接数据行之前的内容。 - 警告:公式列中出现了手动输入的数字(覆盖了公式)、某个公式与其相邻公式的模式不同、公式中的魔术数字。
用通俗语言向用户总结发现,最严重的问题优先,包括单元格地址和修复方法。如果文件是由脚本生成且从未在 Excel 中打开过,缓存的值将不存在;请说明这一点,而不是声称公式已被求值。