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

Google Sheets中COUNTIFS如何实现指定值匹配的多条件计数

解决Google Sheets的统计需求

这个需求在Google Sheets里完全可以实现,以下是两种可行的公式方案,都能得到预期的3行结果:

方案1:直接匹配D列的所有值

适合直接用D列作为匹配范围的场景,公式如下:

=SUMPRODUCT((A:A="ATL")*ISNUMBER(MATCH(B:B,D:D,0)))

公式说明:

  • (A:A="ATL"):生成布尔数组,A列值为"ATL"的行返回TRUE(等价于1),否则返回FALSE(等价于0)。
  • ISNUMBER(MATCH(B:B,D:D,0)):判断B列每个值是否在D列中存在,存在则返回TRUE(1),不存在返回FALSE(0)。
  • SUMPRODUCT:将两个数组对应位置的值相乘后求和,最终得到同时满足两个条件的行数。

方案2:利用E1单元格的串联字符串匹配

如果要基于E1单元格的逗号分隔字符串(如BOS, NYK)来匹配,公式如下:

=SUMPRODUCT((A:A="ATL")*REGEXMATCH(B:B, SUBSTITUTE(E1, ", ", "|")))

公式说明:

  • SUBSTITUTE(E1, ", ", "|"):把E1里的逗号分隔符替换成正则表达式的"或"符号|,将BOS, NYK转换为BOS|NYK。
  • REGEXMATCH(B:B, ...):判断B列的值是否匹配转换后的正则规则,匹配成功返回TRUE(1),否则FALSE(0)。
  • 后续的SUMPRODUCT逻辑和方案1一致,统计同时满足条件的行数。

关于原COUNTIFS雏形的说明

原COUNTIFS的写法无法直接实现需求,因为COUNTIFS的第二个条件需要是固定的匹配规则,而这里需要对每一行的B列值动态判断是否在D列/E1中存在,因此SUMPRODUCT或结合ARRAYFORMULA的方案更适合这类动态条件统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 06:22:24