如何用Array Formula对列数未知的表格逐列求和?
可变列数表格的每列求和方案
核心实现公式
针对列数未知的表格,用BYCOL+LAMBDA就能轻松实现每列自动求和,关键是通过动态范围定位实际数据区域,避免空列干扰。
标准公式(适配所有情况)
=BYCOL(A1:INDEX(A:ZZ,MAX(IF(A:A<>"",ROW(A:A),0)),MAX(IF(1:1<>"",COLUMN(1:1),0))),LAMBDA(col,SUM(col)))
- 公式说明:
A1:INDEX(A:ZZ,MAX(IF(A:A<>"",ROW(A:A),0)),MAX(IF(1:1<>"",COLUMN(1:1),0))):精准定位有数据的区域,通过MAX(IF(...))获取最后一行/列的位置,确保只包含有效数据列。BYCOL(..., LAMBDA(col,SUM(col))):遍历每一列,对当前列col执行求和操作。
简化版(数据无前置空行空列)
如果转置后的表格从A1开始,且没有开头空行空列,用这个更简洁:
=BYCOL(A1:INDEX(A:ZZ,COUNTA(A:A),COUNTA(1:1)),LAMBDA(c,SUM(c)))
COUNTA(A:A)统计第一列的非空行数,COUNTA(1:1)统计第一行的非空列数,快速锁定数据范围。
注意点
SUM会自动忽略列内的空白单元格,不影响求和结果。- 可根据实际需求调整范围(比如把
A:ZZ改成A:M),不影响动态计算逻辑。
内容的提问来源于stack exchange,提问作者jonnybolton16
相关产品推荐
相关产品推荐

