如何在SUM函数中引用当前列?实现公式自动适配新增列
问题解答
你的初始公式不可行
你尝试的=SUM($A1:CELL("ADDRESS"))无法正常工作,原因是CELL("ADDRESS")返回的是文本格式的单元格地址(比如$G$5),而SUM函数需要直接的单元格引用,不能识别文本地址,会返回错误值。就算用INDIRECT转成引用(=SUM($A1:INDIRECT(CELL("ADDRESS"))))也不推荐,因为CELL是易失性函数,选中其他单元格时会自动变更返回值,导致计算结果混乱。
针对库存管控场景的便捷解决方案
根据你每次新增出库列都要手动修改SUM范围的需求,推荐两种无需手动调整的动态求和方法:
方法1:用OFFSET+COUNTA实现动态列范围
假设出库列从F列开始(表头在第1行),每一行的求和公式可以写:
=SUM(OFFSET($F5,0,0,1,COUNTA($F$1:$ZZ$1)-COLUMN($F$1)+1))
COUNTA($F$1:$ZZ$1):统计F到ZZ列第1行的非空单元格数量(即出库列的总数)COLUMN($F$1):获取F列的列号(固定为6),计算出从F列开始的出库列数量OFFSET:从F5单元格开始,扩展出1行、对应列数的区域,SUM会自动包含所有新增的出库列
方法2:用XLOOKUP定位最后一个出库列
如果出库列的表头都有内容,用这个公式更直观:
=SUM($F5:INDEX($5:$5,XLOOKUP("*",$5:$5,,,-1,1)))
XLOOKUP("*",$5:$5,,,-1,1):在第5行(表头行)中找到最后一个非空单元格的位置INDEX:将这个位置转换成单元格引用,SUM就会自动计算从F5到该行最后一个出库列的总和
这两种方法都能实现新增出库列后,求和公式自动扩展范围,无需手动修改。
内容的提问来源于stack exchange,提问作者marcelo
相关产品推荐
相关产品推荐

