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

Google Sheets数组公式联动失效:多条件求和公式引用问题求助

Google Sheets 数组公式需求及解决方案

核心需求

  • 在J列通过数组公式计算「Overall Total」:当当前行及下方3行的D列(Date)单元格完全匹配,且C列(Scan)单元格也完全匹配时,计算当前行E列+下方3行E列的总和;不满足条件则留空。
  • 数据每日从关联表单自动新增16条,且会随地点数量倍增,必须全程使用数组公式,禁止手动下拉公式。

当前问题

之前尝试通过F列(Date Match)和H列(Scan Match)的数组公式辅助判断条件,但会导致J列的数组公式失效,无法正常计算总和。

解决方案:直接在J列编写单个数组公式

无需依赖辅助列,直接在J列首单元格(如J2)输入以下公式即可实现需求:

方案1:使用BYROW + INDEX(推荐,性能更优)

=BYROW(SEQUENCE(COUNTA(A:A)-1), LAMBDA(r,
  IF(r > COUNTA(A:A)-4, "",
    IF(AND(
      INDEX(D:D, r)=INDEX(D:D, r+1),
      INDEX(D:D, r)=INDEX(D:D, r+2),
      INDEX(D:D, r)=INDEX(D:D, r+3),
      INDEX(C:C, r)=INDEX(C:C, r+1),
      INDEX(C:C, r)=INDEX(C:C, r+2),
      INDEX(C:C, r)=INDEX(C:C, r+3)
    ), SUM(INDEX(E:E, r):INDEX(E:E, r+3)), "")
  )
))

说明:COUNTA(A:A)-1 假设A列为数据起始列(无空行表头),若表头占多行可调整数值;r > COUNTA(A:A)-4 确保只计算到倒数第4行,避免越界。

方案2:使用ARRAYFORMULA + OFFSET(兼容旧版Sheets)

=ARRAYFORMULA(
  IF(ROW(A:A) > COUNTA(A:A)-3, "",
    IF(
      (D:D=OFFSET(D:D,1,0))*(D:D=OFFSET(D:D,2,0))*(D:D=OFFSET(D:D,3,0))*
      (C:C=OFFSET(C:C,1,0))*(C:C=OFFSET(C:C,2,0))*(C:C=OFFSET(C:C,3,0)),
      SUMIF(ROW(E:E), "<="&ROW(E:E)+3, E:E)-SUMIF(ROW(E:E), "<"&ROW(E:E), E:E),
      ""
    )
  )
)

说明:通过乘法替代AND实现多条件判断,利用SUMIF计算连续4行的E列总和;需确保数据区域无空行,否则可能出现错误。

内容的提问来源于stack exchange,提问作者Chad O.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:26:11