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

Google Sheets中SUMIFS多OR条件(变量数组)公式问题

解决Google Sheets多职位编号OR条件的SUMIFS替代方案

核心问题分析

你用SUMIFS直接传入数组作为职位编号条件时,函数会返回多个结果的数组而非单一求和值——因为SUMIFS对数组条件会逐元素计算,不会自动汇总所有符合OR逻辑的结果。

方案1:SUMPRODUCT + ISNUMBER(MATCH)(推荐)

这个组合能精准实现「渠道匹配 + 职位编号在指定日期筛选列表中」的求和逻辑,直接替换你原来的公式:

统计申请数(K列)的公式:

=SUMPRODUCT(
  entrance_channel_report!$K:$K,
  --(entrance_channel_report!$A:$A=E$89),
  --ISNUMBER(MATCH(entrance_channel_report!$D:$D, UNIQUE(FILTER(application_action_report!F:F, application_action_report!B:B>=C$88, application_action_report!B:B<=$D$88)), 0))
)

公式拆解:

  • --(entrance_channel_report!$A:$A=E$89):将渠道匹配的布尔结果转为1/0,仅保留目标渠道的数据
  • ISNUMBER(MATCH(...)):检查当前行职位编号是否在「指定日期范围内的唯一职位列表」中,再用--转成1/0的数值格式
  • SUMPRODUCT:将三个数组对应元素相乘后求和,最终只汇总同时满足两个条件的KPI值

方案2:QUERY函数(结构化查询更直观)

如果习惯SQL风格语法,QUERY函数可读性更强,适合多维度统计:

统计申请数(K列)的公式:

=QUERY(
  entrance_channel_report!A:N,
  "SELECT SUM(K) WHERE A='"&E$89&"' AND D MATCHES '"&TEXTJOIN("|", TRUE, UNIQUE(FILTER(application_action_report!F:F, application_action_report!B:B>=C$88, application_action_report!B:B<=$D$88)))&"' LABEL SUM(K) ''",
  0
)

公式拆解:

  • TEXTJOIN("|", TRUE, ...):把筛选出的职位编号用|拼接成正则匹配的OR条件
  • D MATCHES 'xxx|yyy':实现职位编号的多值匹配
  • SELECT SUM(K):汇总符合条件的申请数,LABEL SUM(K) ''用于去除默认生成的表头

批量统计多KPI的简化技巧

如果要同时统计申请数(K)、进行中(L)、已录用(M)、已拒绝(N),只需替换公式中的列标识即可;也可以用数组公式一次性输出所有结果:

=ARRAYFORMULA(
  SUMPRODUCT(
    entrance_channel_report!K:N,
    --(entrance_channel_report!$A:$A=E$89),
    --ISNUMBER(MATCH(entrance_channel_report!$D:$D, UNIQUE(FILTER(application_action_report!F:F, application_action_report!B:B>=C$88, application_action_report!B:B<=$D$88)), 0))
  )
)

这个公式会在一行内返回K、L、M、N四列的求和结果。

注意事项

  • 尽量避免整列引用(如$K:$K),改用具体数据区间(如$K$2:$K$1000)可大幅提升计算效率
  • 确保application_action_report!F:F和entrance_channel_report!D:D的职位编号格式一致(均为数字或文本),否则MATCH会匹配失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:37:08