You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel多条件计数问题:COUNTIFS公式结果不符预期求助

解决Excel案例统计的逻辑问题

看起来你在统计案例时搞混了列的对应关系,原公式的逻辑完全没对准你的需求——咱们先理清楚问题,再给你调整公式:

核心需求拆解

你要统计的是同时满足以下两个条件的案例数量:

  • 案例的顾问是AQ2对应的我方团队成员
  • 案例的分析师不属于我方团队(即分析师姓名不在Data!$A$2:$A$17的我方名单里)

原公式的问题

你当前用的公式:
=COUNTIFS(Data!$A$2:$A$17;"<>&AG2";Data!$A$2:$A$17;AQ2)
两个条件都作用在Data!A2:A17这个姓名列表上,相当于在找「名单里不是AG2且是AQ2的名字个数」,完全没有关联到每个案例里的分析师和顾问字段,这就难怪统计结果不符合预期了。

正确的公式写法

首先要明确:你的案例表中,分析师姓名顾问姓名应该在不同的列(比如假设分析师在Data!B列,顾问在Data!C列,你可以根据实际列调整),以下分两种情况给出公式:

适用于所有Excel版本(包括旧版)

使用SUMPRODUCT函数,兼容性最好:

=SUMPRODUCT((Data!$C$2:$C$100=AQ2)*(COUNTIF(Data!$A$2:$A$17,Data!$B$2:$B$100)=0))
  • 解释:
    • (Data!$C$2:$C$100=AQ2):筛选出顾问为AQ2的所有案例
    • (COUNTIF(Data!$A$2:$A$17,Data!$B$2:$B$100)=0):判断每个案例的分析师姓名不在我方团队名单中
    • SUMPRODUCT会将两个条件的结果(满足为1,不满足为0)相乘后求和,最终得到符合条件的案例数

适用于Excel 365/2021及以上(支持动态数组)

可以用更简洁的SUM结合MATCH写法:

=SUM(--(Data!$C$2:$C$100=AQ2)*--(ISNA(MATCH(Data!$B$2:$B$100,Data!$A$2:$A$17,0))))
  • 解释:
    • ISNA(MATCH(...)):判断分析师姓名是否不在我方名单中,返回布尔值TRUE/FALSE
    • --:将布尔值转换为1(满足)或0(不满足)
    • 两个条件的结果相乘后,SUM求和得到最终案例数

注意:请将公式中的Data!B列Data!C列Data!$C$2:$C$100等范围替换成你实际的案例数据列和行范围。

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

火山引擎 最新活动