Excel 条件统计与求和 #

函数概览 #

条件统计函数用于根据条件对数据进行统计和求和,是数据分析的核心工具。

text
┌─────────────────────────────────────────────────────────────┐
│                    条件统计函数一览                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  SUMIF     单条件求和    =SUMIF(条件范围, 条件, 求和范围)    │
│  SUMIFS    多条件求和    =SUMIFS(求和范围, 条件范围1, 条件1, ...)│
│  COUNTIF   单条件计数    =COUNTIF(范围, 条件)               │
│  COUNTIFS  多条件计数    =COUNTIFS(范围1, 条件1, ...)       │
│  AVERAGEIF 单条件平均    =AVERAGEIF(条件范围, 条件, 平均范围)│
│  AVERAGEIFS 多条件平均   =AVERAGEIFS(平均范围, 条件范围1, ...)│
│                                                             │
└─────────────────────────────────────────────────────────────┘

SUMIF 函数 #

语法 #

excel
=SUMIF(range, criteria, [sum_range])

参数:
- range: 条件判断范围
- criteria: 条件
- sum_range: 求和范围(可选)

基本用法 #

excel
=SUMIF(A:A, "销售部", B:B)       销售部的销售额总和
=SUMIF(A:A, ">60", B:B)          A列大于60对应的B列求和
=SUMIF(A:A, ">60")               A列大于60的值求和

条件表达式 #

excel
等于:=SUMIF(A:A, "销售部", B:B)
不等于:=SUMIF(A:A, "<>销售部", B:B)
大于:=SUMIF(A:A, ">60", B:B)
大于等于:=SUMIF(A:A, ">=60", B:B)
小于:=SUMIF(A:A, "<60", B:B)
小于等于:=SUMIF(A:A, "<=60", B:B)

通配符 #

excel
=SUMIF(A:A, "产品*", B:B)        以"产品"开头的求和
=SUMIF(A:A, "*A*", B:B)          包含"A"的求和
=SUMIF(A:A, "???", B:B)          三个字符的求和

单元格引用 #

excel
=SUMIF(A:A, B1, C:C)             条件在单元格中
=SUMIF(A:A, ">"&B1, C:C)         条件包含运算符

SUMIFS 函数 #

语法 #

excel
=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

注意:第一个参数是求和范围

基本用法 #

excel
=SUMIFS(C:C, A:A, "销售部", B:B, ">1000")
销售部且销售额大于1000的总和

=SUMIFS(D:D, A:A, "男", B:B, ">30", C:C, "本科")
男性、年龄大于30、学历本科的工资总和

多条件组合 #

excel
AND 条件(所有条件同时满足):
=SUMIFS(C:C, A:A, "销售部", B:B, ">1000")

日期范围:
=SUMIFS(C:C, A:A, ">=2024-01-01", A:A, "<=2024-01-31")

实际示例 #

text
数据:
    A          B          C          D
1   日期       部门       产品       销售额
2   2024-01-01 销售       产品A      1000
3   2024-01-01 技术       产品B      2000
4   2024-01-02 销售       产品A      1500
5   2024-01-02 技术       产品B      1800

销售部总销售额:
=SUMIFS(D:D, B:B, "销售部")  → 2500

销售部产品A的销售额:
=SUMIFS(D:D, B:B, "销售部", C:C, "产品A")  → 2500

1月份销售额:
=SUMIFS(D:D, A:A, ">=2024-01-01", A:A, "<=2024-01-31")  → 6300

COUNTIF 函数 #

语法 #

excel
=COUNTIF(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, "*销售*")          包含"销售"的个数

COUNTIFS 函数 #

语法 #

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

多条件计数

基本用法 #

excel
=COUNTIFS(A:A, "销售部", B:B, ">1000")
销售部且销售额大于1000的个数

=COUNTIFS(A:A, "男", B:B, ">30", C:C, "本科")
男性、年龄大于30、学历本科的人数

实际示例 #

text
数据:
    A          B          C
1   部门       性别       年龄
2   销售       男         25
3   销售       女         30
4   技术       男         35
5   销售       男         28

销售部人数:
=COUNTIF(B:B, "销售部")  → 3

销售部男性人数:
=COUNTIFS(B:B, "销售部", C:C, "男")  → 2

年龄大于25的人数:
=COUNTIF(D:D, ">25")  → 3

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, ">1000")
销售部且销售额大于1000的平均值

高级应用 #

动态条件 #

excel
使用单元格引用作为条件:
=SUMIFS(C:C, A:A, H1, B:B, ">"&I1)

H1 = 部门名
I1 = 金额阈值

日期范围统计 #

excel
本月销售额:
=SUMIFS(C:C, A:A, ">="&EOMONTH(TODAY(), -1)+1, 
                 A:A, "<="&EOMONTH(TODAY(), 0))

本月第一天到最后一天

区间统计 #

excel
60-80分的人数:
=COUNTIFS(A:A, ">=60", A:A, "<=80")

1000-5000的销售额总和:
=SUMIFS(B:B, B:B, ">=1000", B:B, "<=5000")

排除条件 #

excel
非销售部的销售额:
=SUMIF(A:A, "<>销售部", B:B)

排除多个值(使用 SUMPRODUCT):
=SUMPRODUCT((A1:A10<>"销售部")*(A1:A10<>"技术部")*B1:B10)

实战案例 #

案例1:销售分析 #

text
数据:
    A          B          C          D
1   日期       部门       产品       销售额
2   2024-01-01 销售       产品A      1000
3   2024-01-01 技术       产品B      2000
4   2024-01-02 销售       产品A      1500

各部门销售额:
销售部:=SUMIF(B:B, "销售部", D:D)  → 2500
技术部:=SUMIF(B:B, "技术部", D:D)  → 2000

各产品销售额:
产品A:=SUMIF(C:C, "产品A", D:D)  → 2500
产品B:=SUMIF(C:C, "产品B", D:D)  → 2000

销售部产品A销售额:
=SUMIFS(D:D, B:B, "销售部", C:C, "产品A")  → 2500

案例2:考勤统计 #

text
数据:
    A          B          C
1   员工       日期       状态
2   张三       2024-01-01 出勤
3   张三       2024-01-02 请假
4   李四       2024-01-01 出勤

张三出勤天数:
=COUNTIFS(A:A, "张三", C:C, "出勤")  → 1

张三请假天数:
=COUNTIFS(A:A, "张三", C:C, "请假")  → 1

案例3:成绩分析 #

text
数据:
    A          B          C          D
1   学生       语文       数学       英语
2   张三       85         92         88
3   李四       78         85         90

语文及格人数:
=COUNTIF(B:B, ">=60")  → 2

语文优秀人数:
=COUNTIF(B:B, ">=90")  → 0

三科都及格的人数:
=COUNTIFS(B:B, ">=60", C:C, ">=60", D:D, ">=60")  → 2

小结 #

条件统计函数是数据分析的核心工具:

函数 用途 示例
SUMIF 单条件求和 =SUMIF(A:A, "销售", B:B)
SUMIFS 多条件求和 =SUMIFS(C:C, A:A, "销售", B:B, ">1000")
COUNTIF 单条件计数 =COUNTIF(A:A, ">60")
COUNTIFS 多条件计数 =COUNTIFS(A:A, "销售", B:B, ">1000")
AVERAGEIF 单条件平均 =AVERAGEIF(A:A, "销售", B:B)
AVERAGEIFS 多条件平均 =AVERAGEIFS(C:C, A:A, "销售", B:B, ">1000")

接下来,让我们学习 多条件查找,掌握复杂查找技巧。

最后更新:2026-04-11