Excel 统计函数 #
函数概览 #
统计函数是数据分析的核心工具,用于对数据进行计数、求和、排名等操作。
text
┌─────────────────────────────────────────────────────────────┐
│ 统计函数一览 │
├─────────────────────────────────────────────────────────────┤
│ │
│ COUNTIF 条件计数 =COUNTIF(A:A, ">60") │
│ COUNTIFS 多条件计数 =COUNTIFS(A:A, ">60", B:B, "男") │
│ SUMIF 条件求和 =SUMIF(A:A, ">60", B:B) │
│ SUMIFS 多条件求和 =SUMIFS(B:B, A:A, ">60", C:C, "销售")│
│ AVERAGEIF 条件平均 =AVERAGEIF(A:A, ">60", B:B) │
│ RANK 排名 =RANK(A1, A:A) │
│ LARGE 第N大值 =LARGE(A:A, 2) │
│ SMALL 第N小值 =SMALL(A:A, 2) │
│ MEDIAN 中位数 =MEDIAN(A:A) │
│ MODE 众数 =MODE(A:A) │
│ STDEV 标准差 =STDEV(A:A) │
│ VAR 方差 =VAR(A:A) │
│ │
└─────────────────────────────────────────────────────────────┘
COUNTIF 函数 #
语法 #
excel
=COUNTIF(range, criteria)
参数:
- range: 要计数的范围
- criteria: 计数条件
基本用法 #
excel
=COUNTIF(A:A, "销售部") 计算销售部人数
=COUNTIF(A:A, ">60") 计算大于60的个数
=COUNTIF(A:A, "<>0") 计算非零值的个数
=COUNTIF(A:A, "") 计算空单元格个数
=COUNTIF(A:A, "<>") 计算非空单元格个数
条件表达式 #
excel
等于:=COUNTIF(A:A, "销售部")
不等于:=COUNTIF(A:A, "<>销售部")
大于:=COUNTIF(A:A, ">60")
大于等于:=COUNTIF(A:A, ">=60")
小于:=COUNTIF(A:A, "<60")
小于等于:=COUNTIF(A:A, "<=60")
通配符 #
excel
包含"销售":=COUNTIF(A:A, "*销售*")
以"销售"开头:=COUNTIF(A:A, "销售*")
以"销售"结尾:=COUNTIF(A:A, "*销售")
单个字符:=COUNTIF(A:A, "销售?")
单元格引用条件 #
excel
=COUNTIF(A:A, B1) 条件在单元格中
=COUNTIF(A:A, ">"&B1) 条件包含运算符和单元格引用
=COUNTIF(A:A, "*"&B1&"*") 包含单元格内容的条件
实际示例 #
text
销售数据:
A B
1 产品 销售额
2 产品A 1000
3 产品B 2000
4 产品A 1500
5 产品C 3000
6 产品A 2500
产品A的销售次数:
=COUNTIF(A2:A6, "产品A") → 3
销售额大于2000的次数:
=COUNTIF(B2:B6, ">2000") → 2
销售额大于平均值的次数:
=COUNTIF(B2:B6, ">"&AVERAGE(B2:B6)) → 2
COUNTIFS 函数 #
语法 #
excel
=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
多条件计数,所有条件必须同时满足
基本用法 #
excel
=COUNTIFS(A:A, "销售部", B:B, ">5000")
销售部且销售额大于5000的人数
=COUNTIFS(A:A, "男", B:B, ">30", C:C, "本科")
男性、年龄大于30、学历本科的人数
实际示例 #
text
员工数据:
A B C
1 部门 性别 年龄
2 销售部 男 25
3 销售部 女 30
4 技术部 男 35
5 销售部 男 28
6 技术部 女 32
销售部男性人数:
=COUNTIFS(A2:A6, "销售部", B2:B6, "男") → 2
年龄大于25的女性人数:
=COUNTIFS(B2:B6, "女", C2:C6, ">25") → 2
销售部年龄大于25的人数:
=COUNTIFS(A2:A6, "销售部", C2:C6, ">25") → 2
区间计数 #
excel
计算60-80分的人数:
=COUNTIFS(A:A, ">=60", A:A, "<=80")
计算某月份的数据:
=COUNTIFS(A:A, ">=2024-01-01", A:A, "<=2024-01-31")
SUMIF 函数 #
语法 #
excel
=SUMIF(range, criteria, [sum_range])
参数:
- range: 条件判断范围
- criteria: 条件
- sum_range: 求和范围(可选,默认与 range 相同)
基本用法 #
excel
=SUMIF(A:A, "销售部", B:B) 销售部的销售额总和
=SUMIF(A:A, ">60", B:B) 大于60的对应值求和
=SUMIF(A:A, ">60") 范围本身大于60的值求和
实际示例 #
text
销售数据:
A B C
1 产品 数量 金额
2 产品A 100 1000
3 产品B 200 2000
4 产品A 150 1500
5 产品C 300 3000
6 产品A 250 2500
产品A的总数量:
=SUMIF(A2:A6, "产品A", B2:B6) → 500
产品A的总金额:
=SUMIF(A2:A6, "产品A", C2:C6) → 5000
数量大于200的总金额:
=SUMIF(B2:B6, ">200", C2:C6) → 5500
通配符使用 #
excel
=SUMIF(A:A, "产品*", B:B) 以"产品"开头的求和
=SUMIF(A:A, "*A*", B:B) 包含"A"的求和
SUMIFS 函数 #
语法 #
excel
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
注意:第一个参数是求和范围,与 SUMIF 不同
基本用法 #
excel
=SUMIFS(C:C, A:A, "销售部", B:B, ">5000")
销售部且销售额大于5000的总和
=SUMIFS(D:D, A:A, "男", B:B, ">30", C:C, "本科")
男性、年龄大于30、学历本科的工资总和
实际示例 #
text
销售数据:
A B C D
1 日期 产品 数量 金额
2 2024-01-01 产品A 100 1000
3 2024-01-01 产品B 200 2000
4 2024-01-02 产品A 150 1500
5 2024-01-02 产品B 180 1800
6 2024-01-03 产品A 200 2000
产品A的总金额:
=SUMIFS(D2:D6, B2:B6, "产品A") → 4500
2024-01-01的总金额:
=SUMIFS(D2:D6, A2:A6, "2024-01-01") → 3000
产品A在2024-01-02的金额:
=SUMIFS(D2:D6, B2:B6, "产品A", A2:A6, "2024-01-02") → 1500
数量大于150的总金额:
=SUMIFS(D2:D6, C2:C6, ">150") → 5800
日期范围求和 #
excel
1月份的总销售额:
=SUMIFS(C:C, A:A, ">=2024-01-01", A:A, "<=2024-01-31")
某日期范围的总和:
=SUMIFS(C:C, A:A, ">="&开始日期, A:A, "<="&结束日期)
AVERAGEIF 和 AVERAGEIFS #
AVERAGEIF #
excel
=AVERAGEIF(range, criteria, [average_range])
条件平均值
excel
=AVERAGEIF(A:A, "销售部", B:B) 销售部的平均销售额
=AVERAGEIF(A:A, ">60") 大于60的值的平均
AVERAGEIFS #
excel
=AVERAGEIFS(average_range, criteria_range1, criteria1, ...)
多条件平均值
excel
=AVERAGEIFS(C:C, A:A, "销售部", B:B, ">5000")
销售部且销售额大于5000的平均值
RANK 函数 #
语法 #
excel
=RANK(number, ref, [order])
参数:
- number: 要排名的数值
- ref: 参考范围
- order: 排序方式
- 0 或省略:降序(最大值为第1名)
- 1:升序(最小值为第1名)
基本用法 #
excel
=RANK(A1, A$1:A$10) 降序排名
=RANK(A1, A$1:A$10, 0) 降序排名
=RANK(A1, A$1:A$10, 1) 升序排名
实际示例 #
text
成绩数据:
A B C
1 学生 成绩 排名
2 张三 85 =RANK(B2, $B$2:$B$6) → 3
3 李四 92 =RANK(B3, $B$2:$B$6) → 1
4 王五 78 =RANK(B4, $B$2:$B$6) → 5
5 赵六 88 =RANK(B5, $B$2:$B$6) → 2
6 钱七 82 =RANK(B6, $B$2:$B$6) → 4
RANK.EQ 和 RANK.AVG #
excel
=RANK.EQ(number, ref, [order])
相同值返回最高排名(如两个第2名,下一个是第4名)
=RANK.AVG(number, ref, [order])
相同值返回平均排名(如两个第2名,都显示2.5,下一个是第4名)
text
数据:100, 90, 90, 80
RANK.EQ:1, 2, 2, 4
RANK.AVG:1, 2.5, 2.5, 4
LARGE 和 SMALL 函数 #
语法 #
excel
=LARGE(array, k) 返回第k大的值
=SMALL(array, k) 返回第k小的值
基本用法 #
excel
=LARGE(A:A, 1) 最大值(等同于 MAX)
=LARGE(A:A, 2) 第二大值
=LARGE(A:A, 3) 第三大值
=SMALL(A:A, 1) 最小值(等同于 MIN)
=SMALL(A:A, 2) 第二小值
=SMALL(A:A, 3) 第三小值
实际示例 #
text
销售数据:
A B
1 销售员 销售额
2 张三 5000
3 李四 8000
4 王五 6000
5 赵六 9000
6 钱七 7000
第一名销售额:
=LARGE(B2:B6, 1) → 9000
第二名销售额:
=LARGE(B2:B6, 2) → 8000
第三名销售额:
=LARGE(B2:B6, 3) → 7000
倒数第一名:
=SMALL(B2:B6, 1) → 5000
前三名求和 #
excel
=SUM(LARGE(B2:B6, {1,2,3}))
或
=LARGE(B2:B6, 1)+LARGE(B2:B6, 2)+LARGE(B2:B6, 3)
MEDIAN、MODE、STDEV、VAR #
MEDIAN 中位数 #
excel
=MEDIAN(number1, [number2], ...)
返回一组数的中位数
excel
=MEDIAN(1, 2, 3, 4, 5) → 3
=MEDIAN(1, 2, 3, 4) → 2.5
=MEDIAN(A1:A100) 范围的中位数
MODE 众数 #
excel
=MODE(number1, [number2], ...)
返回出现次数最多的数
excel
=MODE(1, 2, 2, 3, 3, 3) → 3
=MODE(A1:A100) 范围的众数
STDEV 标准差 #
excel
=STDEV.S(number1, [number2], ...) 样本标准差
=STDEV.P(number1, [number2], ...) 总体标准差
excel
=STDEV.S(A1:A100) 样本标准差
=STDEV.P(A1:A100) 总体标准差
VAR 方差 #
excel
=VAR.S(number1, [number2], ...) 样本方差
=VAR.P(number1, [number2], ...) 总体方差
excel
=VAR.S(A1:A100) 样本方差
=VAR.P(A1:A100) 总体方差
函数组合应用 #
综合统计分析 #
excel
数据范围:A1:A100
计数:=COUNT(A1:A100)
求和:=SUM(A1:A100)
平均:=AVERAGE(A1:A100)
中位数:=MEDIAN(A1:A100)
众数:=MODE(A1:A100)
最大值:=MAX(A1:A100)
最小值:=MIN(A1:A100)
标准差:=STDEV.S(A1:A100)
方差:=VAR.S(A1:A100)
分组统计 #
excel
按部门统计人数:
=COUNTIF(部门列, 部门名)
按部门统计销售额:
=SUMIF(部门列, 部门名, 销售额列)
按部门统计平均销售额:
=AVERAGEIF(部门列, 部门名, 销售额列)
百分比排名 #
excel
=PERCENTRANK.INC(A:A, A1)
返回 A1 在范围中的百分比排名(0-1)
=PERCENTRANK.EXC(A:A, A1)
排除端点的百分比排名
实战案例 #
案例1:销售业绩分析 #
text
数据:
A B C D
1 销售员 部门 销售额 月份
2 张三 华东 50000 1月
3 李四 华东 80000 1月
4 王五 华北 60000 1月
5 赵六 华北 90000 2月
6 钱七 华东 70000 2月
华东区总销售额:
=SUMIF(B2:B6, "华东", C2:C6) → 200000
华东区平均销售额:
=AVERAGEIF(B2:B6, "华东", C2:C6) → 66666.67
销售额大于60000的人数:
=COUNTIF(C2:C6, ">60000") → 3
华东区销售额大于60000的人数:
=COUNTIFS(B2:B6, "华东", C2:C6, ">60000") → 2
销售额排名:
=RANK(C2, $C$2:$C$6) → 5
=RANK(C3, $C$2:$C$6) → 2
案例2:成绩分析 #
text
数据:
A B C D
1 学生 语文 数学 英语
2 张三 85 92 88
3 李四 78 85 90
4 王五 92 88 85
5 赵六 88 78 92
语文及格人数(>=60):
=COUNTIF(B2:B5, ">=60") → 4
语文优秀人数(>=90):
=COUNTIF(B2:B5, ">=90") → 1
总分:
=SUM(B2:D2) → 265
平均分:
=AVERAGE(B2:D2) → 88.33
最高分:
=MAX(B2:D5) → 92
各科平均分:
=AVERAGE(B2:B5) → 85.75 语文
=AVERAGE(C2:C5) → 85.75 数学
=AVERAGE(D2:D5) → 88.75 英语
案例3:考勤统计 #
text
数据:
A B C
1 员工 日期 状态
2 张三 2024-01-01 出勤
3 张三 2024-01-02 出勤
4 张三 2024-01-03 请假
5 李四 2024-01-01 出勤
6 李四 2024-01-02 迟到
7 李四 2024-01-03 出勤
张三出勤天数:
=COUNTIFS(A2:A7, "张三", C2:C7, "出勤") → 2
张三请假天数:
=COUNTIFS(A2:A7, "张三", C2:C7, "请假") → 1
迟到总人次:
=COUNTIF(C2:C7, "迟到") → 1
小结 #
统计函数是数据分析的核心工具:
| 函数 | 用途 | 示例 |
|---|---|---|
| COUNTIF | 条件计数 | =COUNTIF(A:A, ">60") |
| COUNTIFS | 多条件计数 | =COUNTIFS(A:A, ">60", B:B, "男") |
| SUMIF | 条件求和 | =SUMIF(A:A, "销售", B:B) |
| SUMIFS | 多条件求和 | =SUMIFS(B:B, A:A, "销售", C:C, ">1000") |
| RANK | 排名 | =RANK(A1, A:A) |
| LARGE | 第N大值 | =LARGE(A:A, 2) |
| SMALL | 第N小值 | =SMALL(A:A, 2) |
接下来,让我们学习 文本函数,掌握文本处理技巧。
最后更新:2026-04-11