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

如何在Google Sheets中向二维数组扩展SUMIFS公式?

解决Google Sheets公式自动扩展行列的问题

方案1:用动态单元格引用替代硬编码

直接在B2单元格输入以下公式,之后可下拉、右拉到任意行列,无需手动修改条件或范围:

=SUMIFS(Apr!G:G, Apr!E:E, INDIRECT("R1C"&COLUMN(), FALSE), Apr!F:F, INDIRECT("R"&ROW()&"C1", FALSE))

原理:

  • INDIRECT("R1C"&COLUMN(), FALSE):自动获取当前单元格顶部同列的表头值(比如B列对应第1行的"Me")
  • INDIRECT("R"&ROW()&"C1", FALSE):自动获取当前单元格左侧同行的分类值(比如第2行对应A列的"Category1")
  • 扩展行列时,只要把公式复制到新单元格,会自动适配对应的表头和分类条件,完全不用硬编码。

方案2:用ARRAYFORMULA一键生成全区域公式

如果不想手动下拉/右拉公式,可在B2单元格输入以下数组公式,它会自动填充整个有效区域(只要A列有分类、第1行有人名,对应的单元格就会自动计算):

=ARRAYFORMULA(IF((A2:A<>"")*(B1:1<>""), SUMIFS(Apr!G:G, Apr!E:E, INDIRECT("R1C"&COLUMN(B1:1), FALSE), Apr!F:F, INDIRECT("R"&ROW(A2:A)&"C1", FALSE)), ""))

原理:

  • ARRAYFORMULA 批量处理多行多列的计算
  • IF((A2:A<>"")*(B1:1<>""), ..., ""):只在有分类和表头的单元格生成计算结果,空单元格保持空白
  • 新增分类到A列、新增人名到第1行时,公式会自动覆盖新的单元格,无需手动调整范围。

注意事项

  • 确保你的表头在第1行,分类在A列,如果位置不同,只需要修改INDIRECT里的行号/列号参数(比如表头在第2行就改成R2C,分类在B列就改成C2)
  • 公式里的Apr!G:G、Apr!E:E、Apr!F:F是你的数据源范围,如果你想限制数据源的范围(比如不是整列),可以改成具体的范围(比如Apr!E2:E1000),不影响动态适配的功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:07:08