Excel多条件计数怎么做:COUNTIFS函数用法
讲清Excel里COUNTIFS函数怎样统计同时满足两个或多个条件的行数,包括按日期区间统计本周数据,附带公式写法、常见错误检查和核对方法。
你在表格里统计过“销售部且已完成”的订单数吗?单条件的 COUNTIF 只能看一列,一旦要同时满足部门、状态、日期等两个以上条件,就需要 COUNTIFS。这个函数在日常的报表、考勤、客户跟进表里都很常用,但很多人刚接触时会卡在参数顺序或日期写法上。
这篇文章写给已经会用基本公式、想把多条件计数做对的读者。读完后,你能写出两个条件以上的计数公式,能用它统计本周的数据,还能知道结果不对时该检查哪几处。文中的例子都可以在自己的表格里直接照做,换成你的列和条件即可。
两个条件一起算,用 COUNTIFS 还是别的办法?一句话结论
COUNTIFS 就是为“多个条件同时满足时计数”设计的函数,只要条件能写成“某一列等于、大于、小于某个值”,它通常是直接的选择。下面的表格列出了常见情形和推荐做法。
| 你的情况 | 推荐做法 | 原因 |
|---|---|---|
| 只有一个条件,比如只统计“已完成” | COUNTIF | 结构更简单,公式更短,不易出错 |
| 两个或多个条件,且都能写成比较式 | COUNTIFS | 直接把每个条件成对列出,所有条件同时生效 |
| 统计一周、一个月这类日期区间 | COUNTIFS 加两个日期条件 | 用“>=”和“<=”分别限定下限和上限 |
| 同一列要同时满足两个范围,比如成绩在 60 到 80 之间 | COUNTIFS 对同一区域写两次 | 同一列可以出现多次,各自对应一个条件 |
| 条件之间有“或”的关系,比如部门是甲或乙 | 分别统计再相加,或改用其他函数 | COUNTIFS 的条件之间只有“且”的关系 |
开始之前:先确认这几点
首先,确认每个条件都在同一行里有对应的数据。 COUNTIFS 是逐行判断的,每一行要么同时满足所有条件,要么不计数。如果订单的“部门”和“状态”分散在两个表里,公式会统计不到,需要先把两列对齐到同一张表。
第二,确认参与计数的区域行数一致。 例如条件 1 的区域是 A2 到 A100,条件 2 的区域写成 B2 到 B99,两者行数不同,公式会返回错误。写公式前建议先看一眼两个区域的首尾行号。
第三,确认日期是真正的日期,而不是看起来像日期的文本。 从其他系统导出的数据,日期常常靠左对齐,这通常是文本。文本日期无法参与“>=”“<=”比较,统计结果会偏少。可以在空白单元格输入一个公式测试,如果返回的是数值而不是原文,说明它是日期格式。
第四,明确统计的边界。 本周从周一开始还是从周日开始,是否包含周末,都要先定下来,否则公式写对了,结果也可能与你的预期不符。
在 Excel 里统计“销售部且已完成”的订单数:操作步骤
下面以一张订单表为例。假设 A 列是部门,B 列是状态,数据从第 2 行到第 200 行。
- 打开表格,确认 A2:A200 是部门,B2:B200 是状态,两列的行数一致。
- 选中一个空白单元格,例如 D2,准备输入公式。
- 输入函数名并打开括号,先写入区域 A2:A200 和条件"销售部"这一对参数。条件文字要加英文双引号。
- 接着输入第二对参数:区域 B2:B200,条件"已完成",然后闭合括号,完整公式是 =COUNTIFS(A2:A200,"销售部",B2:B200,"已完成")。
- 按回车,D2 会显示同时满足两个条件的行数。
- 检查结果是否合理:可以用筛选功能先筛出“销售部”,再在结果里看“已完成”的行数,与公式结果对照。
- 如果条件要随表格变化,把“销售部”和“已完成”分别放到 E2、F2 单元格,公式改为引用这两个单元格,例如 =COUNTIFS(A2:A200,E2,B2:B200,F2),以后只改单元格内容即可。
- 需要模糊匹配时,可以在条件中使用通配符。例如"*部"表示以“部”结尾的所有部门名称,这一步按需使用。
统计本周数据:日期区间怎么写
统计本周数据,本质上是统计日期落在某个区间内的行数。做法是给 COUNTIFS 加上两个日期条件:下限用“>=”,上限用“<=”。假设订单日期在 C 列,从 C2 到 C200。
先在两个单元格里放好区间的起止日期。比如在 H2 放本周一,在 H3 放本周日。本周一可以用以下公式算出,前提是它以周一为一周的开始:
=TODAY()-WEEKDAY(TODAY(),2)+1
WEEKDAY 函数的第二个参数为 2 时,周一返回 1,周日返回 7,所以减去它再加 1 就得到本周一。本周日则是本周一加 6。
然后统计的公式写成:
=COUNTIFS(C2:C200,">="&H2,C2:C200,"<="&H3)
这里要注意两点。第一,“>=”和“<=”后面必须用“&”把符号和单元格连接起来,不能把单元格地址放进双引号里。第二,TODAY 函数每天都会变化,如果你在做周报并希望保留某一周的结果,应把 H2、H3 改成固定日期,否则表格重新打开后统计区间会跟着移动。
如果只想统计“今天之前”或者某个月份,只需要改变两个日期的数值,公式结构保持不变。
做完后逐项核对
公式算出结果后,不要直接拿去汇报。下面几项容易出问题,逐一检查一遍。
| 检查项 | 怎么看 | 有问题怎么办 |
|---|---|---|
| 区域行数是否一致 | 对照每个区域的首行和末行号,应完全相同 | 统一为相同行号,重新写公式 |
| 条件文字是否完全匹配 | 比较“销售部”和“销售部 ”之类的差别,注意多余空格 | 用 TRIM 函数清理数据,或改用通配符 |
| 日期是否为真实日期 | 选中日期列,看是否右对齐,或在状态栏看数值 | 用分列或替换功能转换为日期格式后再计数 |
| 边界日期是否包含 | 找几条刚好在周一和周日的记录,看是否被计入 | 确认公式用的是“>=”和“<=”,而不是“>”或“<” |
| 结果与筛选是否一致 | 用筛选功能手动数一次,与公式结果对照 | 不一致时逐个条件单独用 COUNTIF 验证 |
如果公式返回错误值,多数情况是区域行数不一致或参数书写不完整。如果返回 0,通常是条件文字不匹配或日期是文本。这两类问题都可以用上面的方法排查。
📊 核心对比
多条件计数常见的几种做法,各有适合的场景:
| 做法 | 适合的情形 | 注意事项 |
|---|---|---|
| COUNTIF | 只有一个条件,快速查看单一指标 | 只能判断一列,要加条件时需改用 COUNTIFS |
| COUNTIFS | 两个或多个条件同时满足,包括日期区间 | 区域行数必须一致,条件之间只有“且”的关系 |
| 数据透视表 | 需要频繁切换维度、同时看多个分组的报表 | 设置一次后可反复查看,但数据更新后需要刷新 |
如果只是一次性统计几个数字,COUNTIFS 写一个公式就够用。如果要做成长期报表,并且经常按部门、按月份切换,数据透视表往往更省事。
❓ 常见问题(FAQ)
1. COUNTIFS 至多能放几个条件?
COUNTIFS 可以放多对“区域加条件”,具体上限取决于你的 Excel 版本。实际工作中,两到三个条件已能覆盖大多数统计需求,条件过多时建议拆分成辅助列,便于逐步核对。
2. COUNTIFS 能不能统计带颜色的单元格?
COUNTIFS 不能直接按单元格颜色计数。常见做法是增加一列手动标注的状态,或者用筛选后看状态栏的计数结果,再配合其他方法处理。
3. 条件里写“>60”为什么没有结果?
这通常是因为数据列里的数字是文本格式,或者条件的写法有误。先确认数字是否右对齐,再检查比较符号和数字之间是否多了空格,最后确认双引号的位置正确。
4. 统计两个不相邻的日期区间,要怎么写?
可以分别计算两个区间,再把结果相加。如果两个区间在同一列中,也可以在 COUNTIFS 中对同一区域写两组日期条件,但需要注意两组条件同时满足,只有符合全部条件的行才会被计入,因此通常更适合分开统计。
5. 本周数据的统计结果为什么每天都在变?
因为公式里用了 TODAY 函数,它会随日期自动更新。如果要保存某一周的固定结果,把起止日期改成具体的数值,或者复制后选择性粘贴为数值即可。
📝 总结
COUNTIFS 通过成对的“区域加条件”,让多个条件同时生效,适合统计部门加状态、按日期区间统计本周数据等场景。写好公式之后,记得检查区域行数、文本格式的日期和边界日期,确认结果与手动筛选一致。


