跳转至

COUNT函数

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

一、函数家族概述

1. 核心函数对比表

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

2. 重要特性

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

二、详细示例数据表

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

学号 姓名 班级 语文 数学 英语 物理 化学 是否寄宿 是否班干部
S001 张三 1班 85 92 78 88 90
S002 李四 1班 78 95 88 75 82
S003 王五 2班 92 88 76 90 85
S004 赵六 2班 45 65 58 85 72
S005 孙七 3班 88 96 92 92 95
S006 周八 3班 76 85 79 78 80
S007 吴九 1班 95 39 94 68 70
S008 郑十 2班 82 78 85 88 84
S009 钱一 3班 89 92 87 82 88
S010 王一 1班 73 68 52 76 65
S011 刘二 2班 84 79 86 89 87
S012 陈三 3班 39 42 45 92 88
S013 杨四 1班 91 87 93 77 81
S014 黄五 2班 67 71 69 84 79
S015 赵七 3班 98 96 99 85 92
S016 周九 1班 53 56 51 91 86
S017 吴十 2班 82 88 85 79 83
S018 郑一 3班 89 92 87 88 90
S019 王二 1班 74 69 72 83 77
S020 孙三 2班 47 51 49 96 91

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

订单ID 产品名称 类别 销售日期 销售数量 单价 销售金额 销售员 地区 是否退货
ORD001 iPhone 15 手机 2024-01-05 2 5999 11998 张三 北京
ORD002 华为P60 手机 2024-01-06 1 4999 4999 李四 上海
ORD003 小米13 手机 2024-01-08 5 3999 19995 王五 广州
ORD004 MacBook Pro 电脑 2024-01-10 1 14999 14999 张三 北京
ORD005 索尼耳机 配件 2024-01-12 10 1999 19990 李四 上海
ORD006 三星电视 家电 2024-01-15 2 8999 17998 王五 广州
ORD007 华为平板 平板 2024-01-18 3 2999 8997 张三 北京
ORD008 戴尔笔记本 电脑 2024-01-20 1 7999 7999 李四 上海
ORD009 iPhone 15 手机 2024-01-22 1 5999 5999 王五 广州
ORD010 华为P60 手机 2024-01-25 2 4999 9998 张三 北京
ORD011 小米电视 家电 2024-01-28 1 3499 3499 李四 上海
ORD012 苹果手表 穿戴 2024-01-30 3 2999 8997 王五 广州
ORD013 联想电脑 电脑 2024-02-01 2 5999 11998 张三 北京
ORD014 华为手环 穿戴 2024-02-03 5 399 1995 李四 上海
ORD015 三星手机 手机 2024-02-05 1 6999 6999 王五 广州

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

工号 姓名 部门 入职日期 基本工资 绩效等级 年龄 性别 是否已婚 籍贯
E001 张明 销售部 2018-03-15 8000 A 35 北京
E002 李华 技术部 2019-07-20 10000 B 28 上海
E003 王芳 人事部 2020-01-10 7000 A 32 广州
E004 赵强 财务部 2017-05-18 9000 C 40 深圳
E005 孙丽 市场部 2021-11-30 7500 B 26 杭州
E006 周伟 销售部 2019-04-14 8500 A 33 成都
E007 吴刚 技术部 2018-09-12 11000 A 37 武汉
E008 郑洁 人事部 2020-08-22 7200 B 29 南京
E009 钱勇 财务部 2019-12-05 8800 C 31 西安
E010 王静 市场部 2022-01-05 6800 B 25 重庆
E011 刘洋 销售部 2020-03-25 8200 A 30 天津
E012 陈晨 技术部 2021-06-30 9500 B 27 长沙

三、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个参数
  • 只统计数字:包括正数、负数、百分比、日期、时间、公式结果
  • 忽略的内容:文本、逻辑值、空单元格、错误值

示例数据表

A B C D E
姓名 销售额 是否达标 日期 备注
张三 1500 TRUE 2023/1/5 优秀
李四 FALSE 需跟进
王五 2400 TRUE 2023/1/6
赵六 1800 2023/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

示例数据表

A B C
姓名 部门 销售额
张三 销售部 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关系)

示例数据表

A B C D
姓名 部门 销售额 是否达标
张三 销售部 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(李四、孙七)
    


五、综合练习题

数据表

A B C D
产品 类别 单价 库存
手机 电子产品 2999 50
笔记本 电子产品 6999 30
衬衫 服装 199 100
裤子 服装 299 80
耳机 电子产品 399 150
鞋子 服装 499 60

练习题

  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(手机)