如何设置Excel公式实现对应单元格值更新时的原地累计求和(无VBA)
非VBA实现单元格迭代累加的方案
问题根因
原公式未限制触发累加的条件,只要工作表触发全局重算(任意单元格编辑都会触发),就会执行一次累加逻辑,因此修改无关单元格时会重复叠加当前A1的值。
优化后配置
- 保持「公式选项-启用迭代计算」开启,最大迭代次数仍设为1
- A2单元格替换为以下公式:
=IF(CELL("address")="$A$1", IF(A1="", A2, IF(A2="", A1, A2+A1)), A2)
逻辑说明
- 用
CELL("address")获取本次触发重算的单元格绝对地址,只有当编辑的单元格是A1时才触发累加逻辑 - 编辑其他单元格触发重算时,公式直接返回A2本身的原有值,不会执行累加
- 首次给A1赋值且A2为空时,直接将A1的值作为初始累计值,后续A1每次变更都将新值叠加到原有累计值上
注意事项
- 若需要重置累计值,直接清空A2内容后重新给A1赋值即可重新开始累计
- 如需监控其他单元格,将公式中
$A$1替换为目标单元格的绝对引用即可
内容的提问来源于stack exchange,提问作者Ali_Sh
相关产品推荐
相关产品推荐

