COUNTIF 与条件统计
数个数这件事看似简单,条件一多就费劲:三班有几个及格的、迟到超过三次的有哪些人、华东区销售额过万的订单有几单。COUNTIF 就是替你数数的函数,条件随便提,它一秒钟就出结果。这篇讲 COUNTIF、它的多条件版本 COUNTIFS,以及配套的统计思路。
COUNTIF 的两个参数
句式极简:=COUNTIF(区域,条件)。数一数区域里满足条件的格子有几个。
成绩表里数及格人数:=COUNTIF(B2:B100,“>=60”)。B 列 60 分以上的有几个,结果直接就是一个数字。条件是文字判断:=COUNTIF(C2:C100,“三班”) 数的是三班的人数。
条件写法花样很多,重点掌握这几种:
| 条件 | 写法 | 数的是什么 |
|---|---|---|
| 精确文字 | “三班” | 等于三班的格子 |
| 数字比较 | “>=60” | 大于等于 60 的 |
| 不等于 | “<>三班” | 不是三班的 |
| 通配符 | “张*” | 姓张的所有人 |
| 两字姓名 | “张?” | 姓张且两字 |
| 空值 | “” | 空格子个数 |
| 非空 | “<>” | 有内容的格子 |
注意规律:条件里只要不是纯数字,都要加引号包住;大于小于号、星号问号、文字,统统算非纯数字。
通配符这里和查找替换里是同一套:星号代表任意多个字符,问号代表一个。数姓张的人数写 =COUNTIF(A2:A100,“张*”),制片、张三丰、张一一都算进去。
COUNTIFS:条件叠加
现实里很少只有一个条件:三班的、且及格的、且女生。COUNTIFS 就是多个条件一起数,句式是 =COUNTIFS(区域1,条件1,区域2,条件2,...):
=COUNTIFS(A2:A100,“三班”,B2:B100,“>=60”,C2:C100,“女”)
三个条件同时满足的人才数进去。条件之间是与关系,缺一不可。区域要一一对应,每个条件前面都要有自己的区域,不能一次区域配多个条件。 公式里区域和条件永远成对出现,最多一口气叠 127 对。想数或的关系(三班或者四班),COUNTIFS 本身没有或的写法,要分别写两个 COUNTIF 再相加:=COUNTIF(A2:A100,“三班”)+COUNTIF(A2:A100,“四班”)。
SUMIF 和 AVERAGEIF 的孪生兄弟
条件家族是一个模子:SUMIF 条件求和、AVERAGEIF 条件平均。写法和 COUNTIF 同出一个师门,=AVERAGEIF(B2:B100,“>=60”) 算及格那批人的平均分。多条件版本分别叫 SUMIFS、AVERAGEIFS,参数顺序与 COUNTIFS 一样,注意的是 SUMIFS 把求和区域放在最前面:=SUMIFS(D2:D100,B2:B100,“>=60”,C2:C100,“三班”),先说要求和的那一列,再一对对写条件。
| 函数 | 干什么 | 参数顺序 |
|---|---|---|
| COUNTIF | 条件计数 | 区域,条件 |
| COUNTIFS | 多条件计数 | 区域,条件,区域,条件 |
| SUMIF | 条件求和 | 条件区域,条件,求和区域 |
| SUMIFS | 多条件求和 | 求和区域,条件区域,条件 |
| AVERAGEIFS | 多条件平均 | 平均区域,条件区域,条件 |
参数顺序记不住?SUMIF 单条件时求和区域在最后可以省略,SUMIFS 多条件时求和区域挪到最前面,这是 Excel 设计上留下的历史包袱,多用几次就顺手了。
真实案例:考勤月报
考勤表 A 列姓名、B 列部门、C 列日期、D 列状态(正常、迟到、缺勤)。月底要出的统计有:
- 全月迟到总人次:=COUNTIF(D2:D1500,“迟到”)。
- 销售部缺勤人次:=COUNTIFS(B2:B1500,“销售部”,D2:D1500,“缺勤”)。
- 每个人迟到几次:=COUNTIFS(A2:A1500,A2,D2:D1500,“迟到”),把 A2 换成具体姓名即可,或者引用旁边单元格的姓名做成动态公式。
这三个公式能覆盖月报八成以上的数据需求,剩下的只是把结果摆放整齐好看。条件统计的威力和 VLOOKUP 一样,属于你一旦学会就回不去的技能。
日期作为条件怎么写
考勤统计这种活离不开日期条件。两种姿势:一是直接写日期字符串,比如 =COUNTIF(C2:C1500,“>=2026-10-1”);二是引用单元格里的日期,条件参数写单元格地址不加引号,=COUNTIF(C2:C1500,“>=”&E1),E1 单元格里放着十月一号,符号和的用途是把文字和单元格内容拼成完整条件。第二种改日期只改一格,推荐你养成这个习惯。
条件统计的三个坑
- 条件忘加引号:>=60 这种本该加引号却裸写,Excel 直接报错。
- 星号问号被当成真字符:想统计真的含星号的文本,前面要加波浪线转义,否则星号被当通配符。
- 区域错位:COUNTIFS 每对区域行列数必须一致,A 列配 B 列还好,A 列配 B2:B101 就会出错。
函数本身不难,难的是把业务条件翻译成函数能懂的写法。翻译口诀:与关系一对对写、或关系拆开加、范围用比较号、模糊用星问号。
把统计结果用条件格式标出大于 10 的人事,谁需要重点关注一目了然;数字配上颜色,月报也能读出点名堂来。
数据条数与透视的两条路
条件统计适合固定几个指标的月报;如果指标经常变——换部门、换状态、按月看、按周看——就别写几十个 COUNTIFS 了,直接上数据透视表:把字段拖进去,各种组合的计数自动算好,要什么拖什么。透视表在后面篇章有专门一篇,这里先知道什么时候该换工具:条件固定的时候用函数,维度多变的时候用透视。
一个练习:销售明细自查
给你一张三个月的销售明细,自己出四个数:总订单数、十一月订单数、华东区订单数、华东区十一月订单数。前三个分别用 COUNTA、COUNTIF 日期条件、COUNTIF 地区条件,最后一个 COUNTIFS 叠两个条件。四个数写完,条件统计你就出师了,比你看十篇教程都管用。
