ARTICLE · 1144500
Excel COUNTIF和COUNTIFS的区别及使用场景
一句话区分:COUNTIF 按一个条件数个数,COUNTIFS 按多个条件同时成立数个数。两者都只负责计数,不负责求和;多个条件之间是“并且”关系,想实现“或者”要用两个公式相加。下面按场景讲清区别和写法。
一、COUNTIF:单条件计数
写法:=COUNTIF(区域, 条件)。例如统计 B2:B100 中“销售一部”的人数:=COUNTIF(B2:B100,"销售一部")。
常用条件写法:
大于等于 60: ">=60"等于某单元格的值:直接引用 F2,或写成"="&F2包含关键字: "*笔记本*"统计空白单元格: "";统计非空:"<>"判断重复: =COUNTIF($A$2:$A$100,A2),结果大于 1 说明 A2 是重复项。
配合条件格式使用效果更好:选中数据列,点“开始—条件格式—新建规则—使用公式确定要设置格式的单元格”,输入 =COUNTIF($A$2:$A$100,A2)>1,再把格式设为红色填充,所有重复项就会自动标红。
二、COUNTIFS:多条件计数
写法:=COUNTIFS(区域1, 条件1, 区域2, 条件2, ...),区域和条件成对出现,最多 127 对。
举例一:统计销售一部中成绩大于等于 80 的人数,假设 B 列是部门、C 列是成绩,公式是 =COUNTIFS(B2:B100,"销售一部",C2:C100,">=80")。
举例二:统计 2024 年 1 月 1 日到 1 月 31 日的订单笔数,假设 A 列是日期:=COUNTIFS(A2:A200,">="&DATE(2024,1,1),A2:A200,"<="&DATE(2024,1,31))。同一个区域可以重复作为多个条件的判断范围,这一点非常实用。
三、两者对比与选用
选用原则很简单:只有一个条件就用短的那个,两个及以上条件一律用多条件版本,不要用两个单条件公式相加,容易漏算或重复计算。
四、进阶:统计不重复的个数
还有一个高频需求是统计不重复值的个数,比如一列客户名称里到底有多少个不同客户。单条件计数函数本身做不到,要用数组思路:
=SUMPRODUCT(1/COUNTIF($B$2:$B$100,$B$2:$B$100)),它会把每个值被统计的次数取倒数再相加,只出现一次的值算 1,重复出现的值合计仍然算 1。
公式里前后两个区域必须完全一致,否则结果会算错。 区域里有空白单元格时会报“除数为 0”,改用 =SUMPRODUCT(($B$2:$B$100<>"")/COUNTIF($B$2:$B$100,$B$2:$B$100&""))即可跳过空白。数据量特别大时这类数组运算会变慢,可以先复制一列用“数据—删除重复值”再去数行数。
五、常见问题
- 所有区域必须大小一致、行数相同
,否则结果不准甚至报错,这是多条件计数最常见的错误。 条件中的比较符号要用英文双引号包起来,拼接单元格引用时写成 ">="&F2。统计超过 15 位的长数字(如身份证号)会按数值比较导致误判,可写成 =COUNTIF(A:A,A2&"*")缓解,数据量很大时建议用 SUMPRODUCT。要“或者”关系,写成 =COUNTIF(区域,"条件1")+COUNTIF(区域,"条件2"),注意两个条件不能有重叠数据。