EXCEL基础函数应用-COUNTIFS函数
**Excel COUNTIFS 函数:多条件统计的 “全能工具”,精准筛选一步到位!
在 Excel 数据统计中,“多条件同时满足的筛选计数” 是更贴近实际需求的场景 —— 比如统计 “销售部且销售额≥10000 元” 的员工数、“9 月且客户为北京” 的订单数、“电子产品且库存≤50 件” 的 SKU 数。过去要么手动多次筛选(先筛部门再筛销售额,易漏算),要么用 COUNTIF 嵌套复杂公式(难维护),而COUNTIFS 函数作为 COUNTIF 的升级版本,能像 “智能组合筛子” 一样,一键按多个条件同时统计,所有条件满足才计数,是数据精准分析的 “核心工具”。今天就带大家从基础到进阶,全面掌握这个实用函数,高效完成多条件统计需求!
一、吃透基础:COUNTIFS 函数的语法与参数
COUNTIFS 函数的核心是 “对多个区域按对应条件同时统计,仅计数所有条件均满足的非空单元格”,语法支持多组 “区域 - 条件” 配对,需重点理解 “条件同时满足” 的逻辑和参数配对规则。
1. 基本语法
COUNTIFS(criteria\_range1, criteria1, \[criteria\_range2, criteria2], ...)
-
函数至少 1 组必选参数(
criteria_range1, criteria1),最多支持 127 组可选参数(每组均为 “区域 + 条件” 配对); -
返回结果为 “非负整数”:仅统计所有
criteria_range中满足对应criteria条件的非空单元格个数(只要有一个条件不满足,即不计数)。
2. 参数详细说明
结合 “销售数据多条件统计” 场景(统计 “销售部且销售额≥10000” 的订单数),参数含义拆解如下,重点标注 “参数配对规则” 和 “条件逻辑”,避免混淆:
| 参数名称 | 作用解释 | 通俗举例(销售表场景) | 关键注意事项 |
|---|---|---|---|
| criteria_range1 | 第一组条件对应的 “统计区域”(需与 criteria1 匹配,支持连续 / 跨表区域,数据类型与条件一致) | 部门列(C2:C100) | 1. 每组 “区域 - 条件” 必须配对(有 criteria_range 就必须有对应的 criteria);2. 所有 criteria_range 的 “行数必须一致”(列数可不同),否则返回 #VALUE! 错误 |
| criteria1 | 第一组条件(文本、数值、表达式、通配符,书写规则与 COUNTIF 一致) | “销售部”(文本条件) | 文本 / 数值比较 / 通配符条件需加英文双引号,单元格引用无需加引号(如 A2) |
| [criteria_range2] | 第二组条件对应的 “统计区域”(与 criteria2 配对,逻辑上需与第一组区域对应同一批数据行) | 销售额列(B2:B100) | 例如 criteria_range1 是 “部门列第 2-100 行”,criteria_range2 也需是 “销售额列第 2-100 行”,确保统计同一批订单的两个属性 |
| [criteria2] | 第二组条件(与 criteria_range2 对应,条件类型需与区域数据类型匹配) | “>=10000”(数值比较条件) | 多组条件之间是 “同时满足” 关系(逻辑 “AND”),而非 “或” 关系(逻辑 “OR” 需用其他方法实现) |
| … | 更多组 “区域 - 条件” 配对(每组逻辑与前两组一致) | 订单日期列(A2:A100)+“>2025/9/1”(日期条件) | 新增条件仅需添加 “区域 + 条件” 配对,无需修改原有参数,扩展性强 |
关键提醒:
-
所有
criteria_range的行数必须一致(如 criteria_range1 是 100 行,criteria_range2 也必须是 100 行),否则 Excel 无法对应行判断条件,返回 #VALUE! 错误; -
条件逻辑为 “同时满足”(AND):例如 “部门 = 销售部” 且 “销售额≥10000” 且 “日期 > 2025/9/1”,只有一行数据同时满足这三个条件,才会被计数。
二、核心前提:COUNTIFS 的 3 个关键使用规则
使用 COUNTIFS 前,必须先掌握 3 个核心规则,这是避免统计错误的基础,尤其是参数配对和条件逻辑,是新手最易出错的地方:
规则 1:“区域 - 条件” 强制配对,顺序不可乱
-
每组参数必须是 “先区域、后条件”(如
C2:C100, "销售部",不能写为"销售部", C2:C100); -
多组配对时,区域和条件需一一对应:criteria_range1 对应 criteria1,criteria_range2 对应 criteria2,不能交叉配对(如用 criteria_range1 的区域对应 criteria2 的条件)。
规则 2:条件逻辑为 “同时满足”(AND),非 “或”(OR)
- 例如统计 “销售部或技术部且销售额≥10000”,不能直接写
COUNTIFS(C2:C100, "销售部", C2:C100, "技术部", B2:B100, ">=10000")(这样会要求 “部门同时是销售部和技术部”,矛盾),需用COUNTIFS(...) + COUNTIFS(...)实现 “或” 逻辑(见示例 6)。
规则 3:条件书写规则与 COUNTIF 一致,支持多类型条件
-
文本条件:
"销售部"(加引号); -
数值比较条件:
">=10000"(加引号); -
通配符条件:
"*电子*"(加引号,匹配含 “电子” 的文本); -
日期条件:
">2025/9/1"(加引号或用 DATE 函数); -
单元格引用条件:
">="&A2(A2 为目标值,用 “&” 连接)。
三、实战场景:COUNTIFS 函数的 6 大核心应用
COUNTIFS 函数的价值体现在 “多条件组合的灵活统计”,下面用 6 个高频场景示例,覆盖 “多列筛选、数值叠加、日期区间、通配符组合” 等需求,每个示例均包含 “公式 + 逻辑解析 + 对比传统操作”,凸显效率优势。
示例 1:基础应用 —— 两列文本 + 数值条件(统计指定部门达标销售额订单数)
需求:在 “销售表” 中,统计 “C2:C100(部门)= 销售部” 且 “B2:B100(销售额)≥10000 元” 的订单数。
传统操作(无 COUNTIFS):
-
筛选 C 列 “销售部”;
-
在筛选结果中再次筛选 B 列 “≥10000”;
-
查看状态栏计数(如 18 个),两步筛选易漏选,且修改条件需重新操作两次。
COUNTIFS 公式(一键统计):
\=COUNTIFS(C2:C100, "销售部", B2:B100, ">=10000")
解析:
-
第一组配对:
C2:C100, "销售部"(部门条件);第二组配对:B2:B100, ">=10000"(销售额条件); -
逻辑:仅当同一行的 “部门是销售部” 且 “销售额≥10000” 时,才计数;
-
结果:若有 18 行同时满足两个条件,返回 18,无需多次筛选。
示例 2:进阶应用 —— 三列多条件(统计指定日期 + 区域 + 金额的订单数)
需求:在 “订单表” 中,统计 “A2:A100(日期)>2025/9/1” 且 “D2:D100(客户区域)= 北京” 且 “B2:B100(订单金额)>5000” 的订单数。
传统操作(无 COUNTIFS):
-
筛选日期 “>2025/9/1”;
-
二次筛选客户区域 “北京”;
-
三次筛选订单金额 “>5000”;
-
计数后记录,步骤繁琐且易因筛选顺序错误导致结果偏差。
COUNTIFS 公式(三条件统计):
\=COUNTIFS(A2:A100, ">2025/9/1", D2:D100, "北京", B2:B100, ">5000")
解析:
-
三组 “区域 - 条件” 配对,分别对应日期、客户区域、订单金额;
-
优势:新增条件(如 “支付方式 = 微信”)只需添加
E2:E100, "微信",公式扩展为COUNTIFS(A2:A100, ">2025/9/1", D2:D100, "北京", B2:B100, ">5000", E2:E100, "微信"),无需修改原有逻辑。
示例 3:单元格引用条件(动态多条件统计)
需求:在 “销售表” 中,根据 A2(目标部门:销售部)、B2(目标销售额:9000),动态统计 “C2:C100=A2” 且 “D2:D100≥B2” 的订单数,修改 A2/B2 时结果自动更新。
传统操作(无 COUNTIFS):
-
每次修改目标部门 / 销售额后,重新手动筛选两次;
-
计数后记录,重复操作效率低,易出错。
COUNTIFS 公式(动态统计):
\=COUNTIFS(C2:C100, A2, D2:D100, ">="\&B2)
解析:
-
第一组条件用单元格引用 A2(无需加引号),第二组条件用 “>=”&B2(连接符号和单元格,B2 是数值型,无需额外转换);
-
逻辑:A2=“销售部”、B2=9000 时,统计 “销售部且销售额≥9000” 的订单;A2 改为 “技术部”、B2 改为 8000 时,结果自动同步为 “技术部且销售额≥8000” 的订单数。
示例 4:通配符 + 数值组合条件(统计含指定文本且达标库存的产品数)
需求:在 “库存表” 中,统计 “B2:B100(产品名称)含‘电子’” 且 “C2:C100(库存数量)≤50” 的产品 SKU 数(如 “电子 - 手机”“电子 - 电脑” 且库存≤50)。
传统操作(无 COUNTIFS):
-
筛选产品名称 “包含‘电子’”;
-
二次筛选库存数量 “≤50”;
-
计数后记录,通配符筛选需手动输入条件,易输错。
COUNTIFS 公式(组合条件统计):
\=COUNTIFS(B2:B100, "\*电子\*", C2:C100, "<=50")
解析:
-
第一组条件用通配符 “电子”(匹配含 “电子” 的所有产品名称),第二组条件用 “<=50”(库存数量条件);
-
结果:若有 12 个电子类产品库存≤50,返回 12;
-
拓展:统计 “以‘电子’开头且库存> 30” 的产品,公式改为
=COUNTIFS(B2:B100, "电子*", C2:C100, ">30")。
示例 5:日期区间条件(统计指定时间段内的订单数)
需求:在 “订单表” 中,统计 “2025 年 9 月 1 日 - 2025 年 9 月 30 日”(即 A2:A100≥2025/9/1 且 A2:A100≤2025/9/30)且 “B2:B100(订单金额)>8000” 的订单数。
传统操作(无 COUNTIFS):
-
筛选日期 “介于 2025/9/1 和 2025/9/30 之间”;
-
二次筛选订单金额 “>8000”;
-
计数后记录,日期区间筛选需手动输入起止日期,易出错。
COUNTIFS 公式(日期区间统计):
\=COUNTIFS(A2:A100, ">="\&DATE(2025,9,1), A2:A100, "<="\&DATE(2025,9,30), B2:B100, ">8000")
解析:
-
用 DATE 函数避免日期格式问题(DATE (年,月,日)),两组日期条件分别对应 “≥9 月 1 日” 和 “≤9 月 30 日”,实现区间筛选;
-
优势:修改日期区间只需调整 DATE 函数的参数(如改为 10 月,改为 DATE (2025,10,1) 和 DATE (2025,10,31)),无需重新选择筛选条件。
示例 6:“或” 逻辑多条件(统计两个部门且达标销售额的订单数)
需求:在 “销售表” 中,统计 “C2:C100 = 销售部” 或 “C2:C100 = 技术部” 且 “B2:B100≥10000” 的订单数(COUNTIFS 默认 “且” 逻辑,“或” 逻辑需用两个 COUNTIFS 相加)。
传统操作(无 COUNTIFS):
-
筛选 “销售部” 且 “销售额≥10000”,计数;
-
筛选 “技术部” 且 “销售额≥10000”,计数;
-
手动求和两个结果,步骤多且易漏加。
COUNTIFS 公式(“或” 逻辑统计):
\=COUNTIFS(C2:C100, "销售部", B2:B100, ">=10000") + COUNTIFS(C2:C100, "技术部", B2:B100, ">=10000")
解析:
-
第一个 COUNTIFS 统计 “销售部且达标” 的订单数(如 18 个),第二个统计 “技术部且达标” 的订单数(如 12 个);
-
求和得到总订单数(18+12=30 个),实现 “或” 逻辑;
-
优势:新增 “财务部” 只需再加一个 COUNTIFS(
+ COUNTIFS(C2:C100, "财务部", B2:B100, ">=10000")),扩展性强。
四、总结:COUNTIFS 函数的核心优势与注意事项
1. 核心优势(对比传统手动筛选 + COUNTIF)
| 对比维度 | COUNTIFS 函数 | 传统手动多步筛选 / COUNTIF 嵌套 |
|---|---|---|
| 效率 | 1 秒完成多条件统计,支持动态更新 | 3-5 步筛选 + 计数,修改条件需重新操作,耗时 5-10 分钟 |
| 准确性 | 自动判断所有条件同时满足,无人工误差 | 易因筛选顺序错误、漏选条件导致结果偏差 |
| 灵活性 | 支持 127 组条件,文本 / 数值 / 日期 / 通配符组合 | 最多 2-3 步筛选,复杂组合条件无法实现 |
| 维护性 | 条件集中修改,公式扩展简单 | 条件修改需重新筛选多步,逻辑分散难追溯 |
2. 必记注意事项
-
参数配对与行数一致:每组 “区域 - 条件” 必须配对,且所有区域的行数必须相同(如 C2:C100 和 B2:B100 均为 99 行),否则返回 #VALUE! 错误;
-
条件逻辑为 “且” 非 “或”:默认统计同时满足所有指定条件的单元格数量。例如设置条件 1 为 “部门 = 销售部”,条件 2 为 “业绩 > 5000”,仅会统计销售部中业绩大于 5000 的记录,而非满足任一条件的数据。若需实现 “或” 逻辑,可嵌套使用 SUM 与 COUNTIF 函数组合解决;
-
通配符灵活运用:支持使用 “_”(匹配任意字符序列)和 “?”(匹配单个字符)作为通配符。如统计姓名以 “张” 开头的人数,可设置条件为 “张_”;统计姓名为 2 个字的员工,条件设置为 “??”;
-
单元格引用动态化:条件参数可使用单元格引用替代固定值,便于批量计算。例如将条件 “>5000” 写入 D1 单元格,在 COUNTIFS 函数中引用为 D1,后续修改 D1 数值即可自动更新统计结果。