用途:为表格脚本编写提供公式运算规范,指导如何通过 .Formula 写入公式而非用 .Value2 写死计算结果,从而让用户在表格中自行调参。
主要能力:
- 公式写入原则:核心是用 .Formula 写公式,由表格自动计算,例如 ws.Range("D2").Formula = "=B2*C2";避免用 .Value2 直接写 JS 计算结果。
- 批量拖填:方法一逐行写入(最可靠),如 for (var r = 2; r <= lastRow; r++) { ws.Range("D" + r).Formula = "=B" + r + "*C" + r; };方法二首行写入后 AutoFill,如 ws.Range("D2").AutoFill(ws.Range("D2:D" + lastRow))。
- 常用公式模板:涵盖求和 SUM、条件求和 SUMIF、多条件求和 SUMIFS、计数 COUNTA、条件计数 COUNTIF、平均值 AVERAGE、查找匹配 VLOOKUP、灵活查找 INDEX+MATCH、条件判断 IF、嵌套判断、百分比、环比增长、排名 RANK、文本拼接等。
- 公式纠错:读取公式内容用 ws.Range("D2").Formula 而非值;针对 #VALUE!、#REF!、#NAME?、#DIV/0!、#N/A 等错误给出修复思路,如除零用 =IF(B2=0,0,A2/B2),查找失败用 =IFERROR(VLOOKUP(...),"未找到")。
WPS 特有限制:.FormulaR1C1 可能不稳定,优先用 A1 格式的 .Formula;数组公式支持有限,建议用辅助列拆解;跨工作表引用格式为 ='表名'!A1;公式中中文引号会导致错误,需使用英文双引号。
适用场景:在 WPS 或 Excel 表格脚本、加载项开发中生成和批量写入公式,以及排查公式错误。具体平台与工具版本支持情况暂未提供。