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

Excel中SUMPRODUCT如何实现单列匹配多值的条件统计

Excel 多值匹配筛选计数方案

方案1:兼容所有Excel版本的SUMPRODUCT改法(最适配现有公式)

只需要替换原有公式里单值判断D列的片段即可,不需要改动其他条件逻辑。
原公式中($D$2:$D$10=$A$2)是单值匹配逻辑,替换为判断D列值是否存在于目标课程列表的规则,用ISNUMBER+MATCH组合实现:

  • MATCH会逐个检查D列的课程名,能在A列目标课程范围找到就返回对应位置序号,找不到返回错误值
  • ISNUMBER将匹配成功的结果转为逻辑值TRUE(运算时等价于1),匹配失败转为FALSE(运算时等价于0)

完整公式如下,其中$A$2:$A$5是A列存放4个目标课程的单元格范围,可根据实际存课程的行号调整:

=SUMPRODUCT(($C$2:$C$10=127281694)*ISNUMBER(MATCH($D$2:$D$10,$A$2:$A$5,0))*($E$2:$E$10="YR")*($F$2:$F$10<100))

公式直接回车即可生效,不需要按数组组合键,末尾不需要额外乘1,逻辑值相乘时会自动转为数值参与计算。

如果不想引用A列的列表,要把匹配集合直接写在公式里,把$A$2:$A$5换成硬编码的常量数组即可:

=SUMPRODUCT(($C$2:$C$10=127281694)*ISNUMBER(MATCH($D$2:$D$10,{"Algebra II","Physics","AP US History","Korean III"},0))*($E$2:$E$10="YR")*($F$2:$F$10<100))

方案2:COUNTIF判断存在性的SUMPRODUCT写法

逻辑更直观,用COUNTIF统计D列每个值在目标课程列表中的出现次数,次数大于0即判定为匹配:

=SUMPRODUCT(($C$2:$C$10=127281694)*(COUNTIF($A$2:$A$5,$D$2:$D$10)>0)*($E$2:$E$10="YR")*($F$2:$F$10<100))

该写法同样兼容所有主流Excel版本,普通回车即可运行。

方案3:新版本Excel简化写法(365/2021及以上版本)

高版本Excel的COUNTIFS原生支持多值匹配集合,不需要数组运算,计算效率更高,直接写为:

=COUNTIFS($C$2:$C$10,127281694,$D$2:$D$10,$A$2:$A$5,$E$2:$E$10,"YR",$F$2:$F$10,"<100")

公式会自动统计D列匹配A列任意一个目标课程、同时满足其他筛选条件的行数。

注意事项

  • 匹配的课程名不要存在多余空格、特殊字符,否则会导致匹配失败,Excel默认文本匹配不区分大小写
  • 如果A列的目标课程范围后续会新增内容,可以适当放大引用范围,但尽量不要直接引用整列,会降低公式计算效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 21:21:24