You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

需编写公式:按跳过数与求和数对15列换行单元格数组求和

跨行排列单元格的跳过求和实现

针对你这种按左到右、从上到下排列(每行15个单元格)的数组,要实现跳过指定数量单元格后对后续单元格求和,核心是把线性的“跳过/求和数量”转换成二维单元格区域的位置,或者直接将二维数组转为一维数组后截取区间求和。

方法1:Excel 365及以上版本(用TOCOL转一维数组)

这种方法最直观,先把二维数据区域转为一维数组,再截取跳过指定数量后的目标区间求和:

  1. 定义几个关键参数:
    • skip_num:需要跳过的单元格数量(比如你的例子中是61)
    • sum_num:需要求和的单元格数量(比如你的例子中是5)
    • cols_per_row:每行的单元格数(固定为15)
    • start_cell:数据区域的起始单元格(比如你的例子中是A1)
  2. 公式示例:
=SUM(INDEX(TOCOL(start_cell:INDEX(start_cell, 1000, cols_per_row)), skip_num+1):INDEX(TOCOL(start_cell:INDEX(start_cell, 1000, cols_per_row)), skip_num+sum_num))
  • 解释:TOCOL函数把二维的单元格区域按左到右、从上到下的顺序转为一维数组;INDEX定位到跳过skip_num个后的起始位置和结束位置,最后用SUM求和。
  • 优化:如果想自动识别数据的最后一行,可改用LET函数简化:
=LET(
    total_cells, COUNTA(start_cell:INDEX(start_cell, 1000, cols_per_row)),
    total_rows, ROUNDUP(total_cells/cols_per_row, 0),
    data_range, start_cell:INDEX(start_cell, total_rows, cols_per_row),
    linear_array, TOCOL(data_range),
    SUM(INDEX(linear_array, skip_num+1):INDEX(linear_array, skip_num+sum_num))
)

方法2:兼容旧版Excel(不用TOCOL)

如果你的Excel版本不支持TOCOL,可以通过计算行号和列号来定位起始/结束单元格:

  1. 计算起始单元格的行号和列号:
    • 起始行:ROW(start_cell) + INT(skip_num / cols_per_row)
    • 起始列:COLUMN(start_cell) + MOD(skip_num, cols_per_row)
  2. 计算结束单元格的行号和列号:
    • 结束行:ROW(start_cell) + INT((skip_num + sum_num - 1) / cols_per_row)
    • 结束列:COLUMN(start_cell) + MOD(skip_num + sum_num - 1, cols_per_row)
  3. 公式示例:
=SUM(INDEX(start_cell:INDEX(start_cell, 1000, cols_per_row), ROW(start_cell)+INT(skip_num/cols_per_row), COLUMN(start_cell)+MOD(skip_num, cols_per_row)):INDEX(start_cell:INDEX(start_cell, 1000, cols_per_row), ROW(start_cell)+INT((skip_num+sum_num-1)/cols_per_row), COLUMN(start_cell)+MOD(skip_num+sum_num-1, cols_per_row)))
  • 解释:通过INT和MOD函数把线性的跳过数量转换成二维的行/列坐标,再用INDEX定位区域后求和。

你的例子验证

假设你的数据起始单元格是A1,skip_num=61,sum_num=5,cols_per_row=15:

  • 跳过61个单元格后,起始位置是第62个单元格:INT(61/15)=4,MOD(61,15)=1,对应行号1+4=5,列号1+1=2(即B5);结束位置是第66个单元格:INT((61+5-1)/15)=INT(65/15)=4,MOD(65,15)=5,对应行号1+4=5,列号1+5=6(即F5),求和B5:F5。
    如果你的例子中实际是A2到A6求和,可能是数据起始单元格为A2,或者跳过数量的定义是从A2开始计数,调整参数即可适配。

内容的提问来源于stack exchange,提问作者solexious

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:22:17