1. 概述
1.1 问题描述
在填报联动,插入删除行,数据校验,数据提交时,可能会出现公式结果和预期不一致的问题,应该如何处理呢?
1.2 原因分析
在填报联动,插入删除行,数据校验和数据提交时,会对页面相关公式进行重计算,而数组函数,层次坐标和条件筛选函数是不支持重计算的,所以会出现一些结果和预期不一致的问题。比如下图所示,想要统计A1扩展格中不为0的数据个数,初始预览正常,但是修改A1某个值后,count公式的结果就出现了问题。
2. 解决方案
该类问题的解决思路就是根据实际场景,想办法将数组函数,层次坐标,条件筛选转化为一般的公式。以上述示例为例,可以通过辅助列来实现原始需求。具体步骤如下:
2.1 设置辅助列
在B1单元格添加公式:if(A1=0,0,1)。公式含义为,判断当前行A1是否为0,是的话就返回0,不是的话返回1。
2.2 设置求和公式
在A4单元格添加公式:sum(B1)。公式含义为,对B1的所有值进行求和,其结果就是A1数据中不为0的个数。
2.3 效果演示
保存模板,点击填报预览,任意修改A1值,可以看到A4公式的结果是正确的。
3. 注意事项
如果有插入删除行需求,需要将B1单元格的插入行策略设置为原值。
4. 模板下载
点击下载模板:二次计算公式修改.cpt