Google Sheets 如何使用变量确定范围长度对跨列动态范围求和
Google Sheets可变宽度跨列求和公式方案
前置准备
找一个空白固定单元格存放求和列数控制变量,比如将变量数值输入到$Z$1,单元格引用加$是为了设为绝对引用,避免公式拖拽时变量位置发生偏移。
可直接使用的公式
在你需要输出结果的第一个单元格(比如示例中的A3)输入以下公式即可:=SUM(OFFSET(D3, 0, COLUMN(A:A)-1, 1, $Z$1))
公式说明
- 基准参数
D3:是你要求和的初始起始单元格,如果你实际的求和起始列不是D,替换成对应单元格即可 COLUMN(A:A)-1:用于实现横向拖拽自动偏移,公式右拉时COLUMN(A:A)会依次变成COLUMN(B:B)、COLUMN(C:C),返回值从1递增为2、3,自动将求和起始位置向右偏移对应列数- 固定参数
0、1:分别代表行偏移量为0、求和范围固定为1行,适配单行跨列求和的需求 - 变量参数
$Z$1:就是你自定义的求和列数,修改这个单元格的数值,所有关联公式的求和宽度会同步更新:- 输入5时,A3单元格自动计算
SUM(D3:H3),B3单元格自动计算SUM(E3:I3) - 输入9时,A3单元格自动计算
SUM(D3:L3),后续拖拽生成的公式也会同步适配宽度
- 输入5时,A3单元格自动计算
可选优化版本(非易失性公式,适合大表格)
如果你的表格数据量较大,不想用易失性的OFFSET函数(任意单元格修改就会触发重算),可以使用INDEX版本的公式,效果完全一致:=SUM(D3:INDEX(3:3, COLUMN(D:D) + COLUMN(A:A) - 2 + $Z$1 - 1))
内容的提问来源于stack exchange,提问作者pminc
相关产品推荐
相关产品推荐

