Skip to main content

count

统计函数三剑客:COUNT()、COUNTIF()、COUNTIFS()详解

一、函数家族概述​

1. 核心函数对比表​

函数语法功能统计内容条件数量
COUNT()=COUNT(value1, [value2], ...)统计数值个数数字、日期、时间无条件
COUNTIF()=COUNTIF(range, criteria)按单条件统计满足条件的单元格单条件
COUNTIFS()=COUNTIFS(range1, criteria1, ...)按多条件统计满足多个条件的单元格多条件

2. 重要特性​

  • 所有函数返回数字类型
  • 最多255个参数(COUNT)
  • 条件区域大小必须一致
  • 支持通配符(* ? ~)
  • 忽略错误值

二、详细示例数据表​

表1:学生成绩统计表(20条记录)​

学号姓名班级语文数学英语物理化学是否寄宿是否班干部
S001张三1班8592788890是是
S002李四1班7895887582是否
S003王五2班9288769085否是
S004赵六2班4565588572是否
S005孙七3班8896929295否是
S006周八3班7685797880是否
S007吴九1班9539946870否是
S008郑十2班8278858884是否
S009钱一3班8992878288否是
S010王一1班7368527665是否
S011刘二2班8479868987否否
S012陈三3班3942459288是是
S013杨四1班9187937781否否
S014黄五2班6771698479是是
S015赵七3班9896998592否是
S016周九1班5356519186是否
S017吴十2班8288857983否是
S018郑一3班8992878890是否
S019王二1班7469728377否是
S020孙三2班4751499691是否

表2:产品销售记录表(15条记录)​

订单ID产品名称类别销售日期销售数量单价销售金额销售员地区是否退货
ORD001iPhone 15手机2024-01-052599911998张三北京否
ORD002华为P60手机2024-01-06149994999李四上海否
ORD003小米13手机2024-01-085399919995王五广州是
ORD004MacBook Pro电脑2024-01-1011499914999张三北京否
ORD005索尼耳机配件2024-01-1210199919990李四上海否
ORD006三星电视家电2024-01-152899917998王五广州否
ORD007华为平板平板2024-01-18329998997张三北京是
ORD008戴尔笔记本电脑2024-01-20179997999李四上海否
ORD009iPhone 15手机2024-01-22159995999王五广州否
ORD010华为P60手机2024-01-25249999998张三北京否
ORD011小米电视家电2024-01-28134993499李四上海否
ORD012苹果手表穿戴2024-01-30329998997王五广州是
ORD013联想电脑电脑2024-02-012599911998张三北京否
ORD014华为手环穿戴2024-02-0353991995李四上海否
ORD015三星手机手机2024-02-05169996999王五广州否

表3:员工信息表(12条记录)​

工号姓名部门入职日期基本工资绩效等级年龄性别是否已婚籍贯
E001张明销售部2018-03-158000A35男是北京
E002李华技术部2019-07-2010000B28男否上海
E003王芳人事部2020-01-107000A32女是广州
E004赵强财务部2017-05-189000C40男是深圳
E005孙丽市场部2021-11-307500B26女否杭州
E006周伟销售部2019-04-148500A33男是成都
E007吴刚技术部2018-09-1211000A37男是武汉
E008郑洁人事部2020-08-227200B29女否南京
E009钱勇财务部2019-12-058800C31男是西安
E010王静市场部2022-01-056800B25女否重庆
E011刘洋销售部2020-03-258200A30男是天津
E012陈晨技术部2021-06-309500B27男否长沙

三、COUNT()函数详解​

1. 基本语法与参数​

=COUNT(value1, [value2], [value3], ...)

2. 实际应用示例​

示例1:统计有效成绩数量​

在表1的K列(有效成绩数):
=COUNT(D2:H2)

结果:
张三:D2:H2 = 85,92,78,88,90 → 5个数值
如果某科缺考(如赵六数学65是数值,包含在内)

示例2:统计多列数值​

统计所有学生的语文和数学成绩总数:
=COUNT(D:D, E:D) // 统计D列和E列

或:
=COUNT(D2:D20, E2:E20)

示例3:统计销售金额条目​

在表2的J列(有效销售记录数):
=COUNT(G2:G16) // G列是销售金额

结果:统计所有数值型销售金额 → 15

示例4:统计工资条目​

在表3的K列(有工资记录人数):
=COUNT(E2:E13) // E列是基本工资

结果:所有员工都有工资记录 → 12

3. COUNT的局限性​

注意:COUNT只统计数值
以下情况不计数:
1. 文本:=COUNT("100") → 0(文本"100")
2. 逻辑值:=COUNT(TRUE) → 0
3. 空单元格:=COUNT("") → 0
4. 错误值:=COUNT(#N/A) → 0

四、COUNTIF()函数详解​

1. 基本语法​

=COUNTIF(range, criteria)

2. criteria参数详解​

条件类型写法示例说明
数值条件">60"大于60
文本条件"张三"等于"张三"
通配符"张*"以"张"开头
日期条件">2024-01-01"2024年1月1日后
单元格引用">"&A1大于A1的值

3. 实际应用示例​

示例5:统计及格人数​

在表1统计语文及格人数:
=COUNTIF(D2:D20, ">=60")

结果:统计语文≥60的人数
计算:查看D列,只有赵六45<60,陈三39<60 → 18人及格

示例6:统计班级人数​

统计1班人数:
=COUNTIF(C2:C20, "1班")

结果:C列中"1班"的数量 → 6人

示例7:统计寄宿生​

统计寄宿学生数:
=COUNTIF(I2:I20, "是") // I列是否寄宿

结果:"是"的数量 → 10人

示例8:统计特定产品销量​

在表2统计手机类别订单数:
=COUNTIF(C2:C16, "手机") // C列是类别

结果:类别为"手机"的数量 → 5单

示例9:统计高单价订单​

统计单价>5000的订单:
=COUNTIF(F2:F16, ">5000") // F列是单价

结果:单价>5000的数量 → 7单

示例10:使用通配符统计​

统计华为产品订单:
=COUNTIF(B2:B16, "华为*") // B列产品名称

结果:产品名以"华为"开头的数量 → 3单

示例11:统计特定日期后订单​

统计1月15日后的订单:
=COUNTIF(D2:D16, ">2024-01-15") // D列销售日期

结果:日期>2024-01-15的数量 → 7单

示例12:统计非空单元格​

统计有退货记录的订单:
=COUNTIF(I2:I16, "<>") // I列是否退货

结果:非空单元格数量 → 15(所有行都有值)

五、COUNTIFS()函数详解​

1. 基本语法​

=COUNTIFS(range1, criteria1, [range2, criteria2], ...)

2. 实际应用示例​

示例13:多条件统计学生​

统计1班且寄宿的学生数:
=COUNTIFS(C2:C20, "1班", I2:I20, "是")

解释:
range1: C2:C20(班级),criteria1: "1班"
range2: I2:I20(是否寄宿),criteria2: "是"
结果:既是1班又寄宿的人数 → 3人

示例14:统计优秀学生​

统计数学≥90且英语≥90的学生:
=COUNTIFS(E2:E20, ">=90", F2:F20, ">=90")

结果:数学和英语都≥90的人数 → 4人

示例15:统计特定产品在特定地区​

统计北京地区手机订单数:
=COUNTIFS(C2:C16, "手机", H2:H16, "北京")

结果:类别为"手机"且地区为"北京"的数量 → 2单

示例16:统计特定销售员的高金额订单​

统计张三销售且金额>10000的订单:
=COUNTIFS(G2:G16, ">10000", H2:H16, "张三")

注意:H列是销售员,但在表2中销售员列是H列
实际应为:
=COUNTIFS(G2:G16, ">10000", 销售员列, "张三")

示例17:统计日期区间订单​

统计1月10日到1月20日的订单:
=COUNTIFS(D2:D16, ">=2024-01-10", D2:D16, "<=2024-01-20")

结果:日期在2024-01-10到2024-01-20之间的数量 → 5单

示例18:统计员工信息(多维度)​

在表3统计:
销售部已婚男性员工数:
=COUNTIFS(C2:C13, "销售部", H2:H13, "男", I2:I13, "是")

结果:部门=销售部、性别=男、已婚=是 → 3人

示例19:统计年龄和工资范围​

统计年龄30-40岁且工资>8000的员工:
=COUNTIFS(G2:G13, ">=30", G2:G13, "<=40", E2:E13, ">8000")

结果:年龄30-40且工资>8000 → 6人

示例20:排除特定条件统计​

统计非退货的北京地区订单:
=COUNTIFS(H2:H16, "北京", I2:I16, "<>是")

注意:"<>是"表示不等于"是"
结果:地区=北京且非退货 → 4单

3. COUNTIFS高级技巧​

技巧1:动态条件范围​

使用单元格引用作为条件:
=COUNTIFS(D2:D20, ">="&K1, D2:D20, "<="&K2)
// K1=开始日期,K2=结束日期

技巧2:处理空值​

统计有成绩但非班干部的学生:
=COUNTIFS(D2:H2, "<>", J2:J20, "否")
// "<>"表示非空

技巧3:多条件或关系​

统计数学≥90或英语≥90的学生:
=COUNTIFS(E2:E20, ">=90") + COUNTIFS(F2:F20, ">=90") -
COUNTIFS(E2:E20, ">=90", F2:F20, ">=90")

六、综合对比与选择指南​

1. 何时使用哪个函数?​

场景推荐函数示例
统计所有数值COUNT统计成绩数量
统计非空单元格COUNTA统计填写人数
统计空单元格COUNTBLANK统计缺考科目
单条件统计COUNTIF统计及格人数
多条件统计COUNTIFS统计1班及格人数

2. 性能考虑​

简单统计用COUNT,条件统计用COUNTIF/COUNTIFS
大数据量时,COUNTIFS比多个COUNTIF相加更高效

3. 常见错误与解决​

错误1:区域大小不一致​

错误:=COUNTIFS(A1:A10, ">0", B1:B9, ">0")
正确:=COUNTIFS(A1:A10, ">0", B1:B10, ">0")

错误2:条件格式错误​

错误:=COUNTIF(A1:A10, >60) // 缺少引号
正确:=COUNTIF(A1:A10, ">60")

错误:=COUNTIF(A1:A10, ">A1") // 文本比较
正确:=COUNTIF(A1:A10, ">"&A1)

错误3:通配符冲突​

如果要查找真正的"*"号:
=COUNTIF(A1:A10, "~*") // ~是转义符

七、实战综合案例​

案例1:学生成绩统计分析系统​

需求:统计各种学生数据

1. 总学生数:=COUNTA(B2:B20) // 姓名非空数
2. 各班人数:=COUNTIF(C2:C20, "1班") // 1班人数
3. 及格率:=COUNTIF(D2:D20, ">=60")/COUNT(D2:D20)
4. 优秀生(均分≥85):需要先计算平均分,或用:
=COUNTIFS(D2:D20, ">=85", E2:E20, ">=85", F2:F20, ">=85")
5. 寄宿班干部:=COUNTIFS(I2:I20, "是", J2:J20, "是")

案例2:销售业绩分析报告​

生成销售报告:

1. 总订单数:=COUNTA(A2:A16) // 订单ID数
2. 有效订单(非退货):=COUNTIF(I2:I16, "否")
3. 各销售员业绩:
张三:=COUNTIFS(H2:H16, "张三", I2:I16, "否")
李四:=COUNTIFS(H2:H16, "李四", I2:I16, "否")
王五:=COUNTIFS(H2:H16, "王五", I2:I16, "否")
4. 高价值订单(金额>10000):=COUNTIF(G2:G16, ">10000")
5. 手机品类北京销量:=COUNTIFS(C2:C16, "手机", H2:H16, "北京", I2:I16, "否")

案例3:人力资源统计​

员工统计:

1. 各部门人数:
销售部:=COUNTIF(C2:C13, "销售部")
技术部:=COUNTIF(C2:C13, "技术部")
人事部:=COUNTIF(C2:C13, "人事部")
2. 各年龄段分布:
20-29岁:=COUNTIFS(G2:G13, ">=20", G2:G13, "<=29")
30-39岁:=COUNTIFS(G2:G13, ">=30", G2:G13, "<=39")
40岁以上:=COUNTIF(G2:G13, ">=40")
3. 绩效分布:
A级:=COUNTIF(F2:F13, "A")
B级:=COUNTIF(F2:F13, "B")
C级:=COUNTIF(F2:F13, "C")
4. 已婚男性员工:=COUNTIFS(H2:H13, "男", I2:I13, "是")

案例4:智能数据监控​

数据质量监控:

1. 数据完整率:
=1 - COUNTBLANK(D2:H20)/COUNT(D2:H20) // 成绩完整率
2. 异常数据检测:
成绩异常(<0或>100):=COUNTIF(D2:H20, "<0") + COUNTIF(D2:H20, ">100")
3. 一致性检查:
寄宿但非班干部:=COUNTIFS(I2:I20, "是", J2:J20, "否")
4. 趋势分析:
本月新增:=COUNTIF(D2:D16, ">="&EOMONTH(TODAY(),-1)+1)

八、练习与测试​

基础练习​

  1. 统计表1中所有学生的数学成绩数量
  2. 统计表2中单价在3000-8000之间的订单数
  3. 统计表3中技术部未婚员工人数

中级练习​

  1. 统计表1中2班数学及格但英语不及格的学生数
  2. 统计表2中1月份手机品类非退货订单数
  3. 统计表3中工资在8000-10000且绩效为A或B的员工数

高级练习​

  1. 创建一个动态统计面板,根据选择的班级、科目、分数段统计学生数
  2. 设计一个销售分析模板,自动统计各销售员、各品类、各地区的销售数据
  3. 建立一个员工信息仪表盘,实时显示各部门、各年龄段、各绩效等级人数

九、总结与最佳实践​

核心要点总结​

  1. COUNT:数数字
  2. COUNTIF:按条件数
  3. COUNTIFS:按多条件数

使用建议​

  1. 明确统计目标:先想清楚要统计什么
  2. 检查数据质量:确保数据格式一致
  3. 验证统计结果:手动抽查验证公式正确性
  4. 使用名称管理器:给常用区域定义名称
  5. 添加注释说明:复杂公式添加说明

记忆口诀​

COUNT函数数数字,文本逻辑它不理
COUNTIF加条件,筛选统计真便利
COUNTIFS多条件,复杂查询不再难
区域大小要一致,条件格式别忘记

一句话总结​

COUNT家族是Excel的"计数器家族"——COUNT是基础款,COUNTIF是智能款,COUNTIFS是豪华款,满足你从简单到复杂的所有统计需求!


掌握了COUNT、COUNTIF、COUNTIFS这三个函数,你就能轻松应对Excel中90%的统计需求。记住:先明确需求,再选择函数,最后验证结果!

一、COUNT() 函数​

用途​

统计包含数字的单元格数量

语法​

COUNT(value1, [value2], ...)

参数说明​

  • value1:必需。要计数的第一个参数
  • value2, ...:可选。要计数的其他参数,最多可包含255个参数
  • 只统计数字:包括正数、负数、百分比、日期、时间、公式结果
  • 忽略的内容:文本、逻辑值、空单元格、错误值

示例数据表​

ABCDE
姓名销售额是否达标日期备注
张三1500TRUE2023/1/5优秀
李四FALSE需跟进
王五2400TRUE2023/1/6
赵六18002023/1/7良好

示例题目​

  1. 统计销售额列有几个数字

    =COUNT(B2:B5)
    结果:3(李四为空,不计)
  2. 统计日期列有几个数字

    =COUNT(D2:D5)
    结果:3(李四为空,不计)
  3. 多区域统计

    =COUNT(B2:B5, D2:D5)
    结果:6(销售额3个 + 日期3个)

二、COUNTIF() 函数​

用途​

按单个条件统计单元格数量

语法​

COUNTIF(range, criteria)

参数说明​

  • range:必需。要计数的单元格区域
  • criteria:必需。统计条件,可以是:
    • 数字:100
    • 文本:"北京"(必须用双引号)
    • 表达式:">100"
    • 通配符:"张*"(以张开头的文本)
    • 单元格引用:A2

示例数据表​

ABC
姓名部门销售额
张三销售部1500
李四技术部800
王五销售部2400
赵六销售部1800
孙七技术部1200

示例题目​

  1. 统计销售部人数

    =COUNTIF(B2:B6, "销售部")
    结果:3
  2. 统计销售额大于1000的人数

    =COUNTIF(C2:C6, ">1000")
    结果:4(李四800不符合)
  3. 使用通配符统计姓张的人数

    =COUNTIF(A2:A6, "张*")
    结果:1(只有张三)
  4. 统计空白单元格数量

    =COUNTIF(A2:A6, "")
    结果:0(没有空白)
  5. 统计非空白单元格

    =COUNTIF(A2:A6, "<>")
    结果:5

三、COUNTIFS() 函数​

用途​

按多个条件统计单元格数量(所有条件必须同时满足)

语法​

COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)

参数说明​

  • criteria_range1:必需。第一个条件区域
  • criteria1:必需。第一个条件
  • 后续参数:可选。可添加最多127个条件区域/条件对
  • 所有条件必须同时满足(AND关系)

示例数据表​

ABCD
姓名部门销售额是否达标
张三销售部1500是
李四技术部800否
王五销售部2400是
赵六销售部1800是
孙七技术部1200否
周八销售部900否

示例题目​

  1. 统计销售部且达标的人数

    =COUNTIFS(B2:B7, "销售部", D2:D7, "是")
    结果:2(张三、赵六)
  2. 统计销售部且销售额>1000的人数

    =COUNTIFS(B2:B7, "销售部", C2:C7, ">1000")
    结果:3(张三1500、王五2400、赵六1800)
  3. 三个条件:销售部、销售额>1000、达标

    =COUNTIFS(B2:B7, "销售部", C2:C7, ">1000", D2:D7, "是")
    结果:2(张三、赵六)
  4. 统计技术部未达标的人数

    =COUNTIFS(B2:B7, "技术部", D2:D7, "否")
    结果:2(李四、孙七)

五、综合练习题​

数据表​

ABCD
产品类别单价库存
手机电子产品299950
笔记本电子产品699930
衬衫服装199100
裤子服装29980
耳机电子产品399150
鞋子服装49960

练习题​

  1. 统计总共有多少种产品
  2. 统计电子产品有多少种
  3. 统计单价超过500的产品数量
  4. 统计服装类且库存大于70的产品数量
  5. 统计电子产品且单价在1000-5000之间的产品数量

参考答案​

1. =COUNT(A2:A7) 或 =COUNTA(A2:A7) → 6
2. =COUNTIF(B2:B7, "电子产品") → 3
3. =COUNTIF(C2:C7, ">500") → 2(笔记本、手机)
4. =COUNTIFS(B2:B7, "服装", D2:D7, ">70") → 2(衬衫、裤子)
5. =COUNTIFS(B2:B7, "电子产品", C2:C7, ">=1000", C2:C7, "<=5000") → 1(手机)