公式失败后可未经事前同意降级为不会联动的静态值
原文依据:2 处主规则允许公式试错三次后改写静态值,只要求在交付时说明;诊断文档也允许在成本过高时降级。该决定会改变用户得到的产物性质。
表格初始显示可能正确,但源数据变化后结果不会重算,预算、财务模型、汇总或决策数据会逐渐过期,用户可能在看到交付说明前已依赖这些值。
来源允许公式连续失败三次后改写为静态值,并只要求在交付说明中披露;另一处还允许因成本过高而降级。静态值不会随源数据更新,因此若用户期待公式联动,这会实质改变产物性质,而规则未要求降级前获得同意。用户可要求公式失败时暂停并确认,或明确禁止静态值回退。
3. **读全再写**:批量填充 / 补齐 / 修正类任务先确认真实数据末行再写,只探前 N 行会漏写表尾(确定末行流程见 `lark-sheets-read-data`)。4. **公式优先于硬编码**:凡可由表内其它单元格推导的值(总计 / 占比 / 增长率 / 提取 / 查找)一律写公式,即使用户没说"联动 / 自动更新"——本地算好再静默写进单元格,交付的是改输入不重算的死表。提取类产出同行源列的连续原文片段(逐字保真、不跨列取材,一格含多个片段要全列出);语义判断类(无固定分隔符 / 模式可循)公式表达不了,逐行写静态值,别用固定偏移 / 通用正则硬套。输入列可能为空时公式先判空返回空(空格按 0 参与算术产出无错误码的错值,`IFERROR` 拦不住)。**写聚合公式(SUM / COUNTIF / AVERAGE 等)前先确认区间的起止两端**:起点跳过表头行、终点覆盖真实末行——漏掉末行或把表头算进计数是最常见的错值来源,且结果看着合理、不报错;写完抽查区间首尾两格确认落在数据内。写飞书公式前读 `lark-sheets-formula-translation`,落表后用 `+formula-verify` 诊断。试错 3 次仍失败可降级静态值,交付说明写明「静态值 + 失败原因 + 不随源数据更新」。5. **续写 / 扩展继承样式**:续写、补齐、复制区块、新增行列时禁止只读值只写值——原表的字体 / 字号 / 颜色、四边框、对齐、底色(含奇偶行交替)、行高列宽、合并都要一并延续到新区域,**判分与验收都按"新区域与相邻原始区域视觉一致"来看**。查看另外 1 个位置
2. `status='partial'` → 扫描被内部上限截断。若该公式区是关键输出,可缩小 `--range` 或拆 `--sheet-id` 续扫;否则在交付说明中标明诊断覆盖不完整。3. `status='errors_found'` 且 `compile_errors[]` 非空 → 根据 `compile_errors[].reason` 修正公式语法(飞书函数名 / 范围语法 / 引用样式),或在成本过高时降级为静态值并说明原因。4. `status='errors_found'` 且只剩运行时错误 → 按 `error_summary` 的 `samples[].formula` + `depends_on` 排查根因(零除?空值参与运算?引用越界?日期差写法?数组语义?),优先修复关键输出区。5. 同一处错误连续修复 3 次仍未通过 → 改用 `IFERROR` 包裹兜底,或退回纯值写入,并在交付说明写清不随源数据更新。