如何无需手动指定单元格,对间隔固定列数的单元格求和?
按固定间隔列求和的实用方法
不用手动逐个指定单元格,有几个高效的公式可以实现按固定间隔列求和,下面是常用方案:
1. SUMPRODUCT + MOD 组合(通用所有Excel版本)
这是最灵活的方法,适合任意间隔和数据范围。比如要对**第一行A1到Z1中,每3列取一个单元格(A1、D1、G1...)**求和,公式如下:
=SUMPRODUCT((MOD(COLUMN(A1:Z1)-COLUMN(A1),3)=0)*A1:Z1)
- 调整说明:
- 把公式里的
3改成你需要的间隔步长(比如每隔2列取一个,步长就是2) COLUMN(A1:Z1)-COLUMN(A1)计算单元格的相对列位置(从0开始),MOD判断是否符合间隔规则,符合条件的单元格会被纳入求和
- 把公式里的
如果要从第二列开始取(比如B1、E1、H1...),只需把MOD的判断条件改成=1:
=SUMPRODUCT((MOD(COLUMN(A1:Z1)-COLUMN(A1),3)=1)*A1:Z1)
2. OFFSET + SUM 组合(适合固定数量的目标单元格)
如果明确要取的间隔单元格数量,可以用OFFSET生成动态区域求和。比如从A1开始,每隔2列取5个单元格(A1、C1、E1、G1、I1),公式:
=SUM(OFFSET(A1,0,(ROW(INDIRECT("1:5"))-1)*2,1,1))
- 调整说明:
5是要取的单元格总数2是间隔步长(相邻目标列之间隔1列时,步长设为2)
3. 动态数组公式(Excel 365/2021及以上版本)
利用SEQUENCE生成目标列的位置,再用INDEX提取单元格后求和,写法更直观。比如对A1到Z1中,每3列取一个单元格求和:
=SUM(INDEX(A1:Z1,,SEQUENCE(ROUNDUP(COLUMNS(A1:Z1)/3,0),,1,3)))
- 调整说明:
3是间隔步长1是起始列的相对位置(从第二列开始取就写2)- ROUNDUP会自动计算需要取的单元格数量,不用手动统计
内容的提问来源于stack exchange,提问作者Neptune
相关产品推荐
相关产品推荐

