跳转至

SUMM函数

Excel求和函数详解:SUM()、SUMIF()、SUMIFS()

一、SUM() 函数:基础求和

1. 基本语法

=SUM(number1, [number2], ...)

2. 参数说明

  • number1:必需,第一个数字、单元格引用或区域
  • number2, ...:可选,最多255个参数

3. 使用示例

示例1:直接数值求和

=SUM(10, 20, 30)          // 结果:60

示例2:单元格引用求和

|   A  |
|------|
|   10 |
|   20 |
|   30 |

=SUM(A1:A3)               // 结果:60
=SUM(A1, A2, A3)          // 结果:60

示例3:混合参数

|   A  |   B  |
|------|------|
|   10 |   5  |
|   20 |   8  |
|   30 |   3  |

=SUM(A1:A3, 40, B1:B2)    // 结果:10+20+30+40+5+8 = 113

示例4:跳过非数值

|   A      |
|----------|
|   10     |
|   文本   |
|   20     |
|   TRUE   |

=SUM(A1:A4)               // 结果:31(10+20+1,TRUE转为1,文本被忽略)

4. 特殊功能

|   A  |   B  |
|------|------|
|   2  |   5  |
|   3  |   4  |
|   4  |   3  |

=SUM(A1:A3*B1:B3)       // 数组公式:2*5 + 3*4 + 4*3 = 10+12+12 = 34

|   C  |
|------|
|   45 |
|   55 |
|   38 |
|   62 |

=SUM(--(C1:C4>50))      // 统计大于50的个数:结果为2

二、SUMIF() 函数:单条件求和

1. 基本语法

=SUMIF(range, criteria, [sum_range])

2. 参数详解

参数 说明 必需
range 要应用条件的单元格区域
criteria 条件,可以是数字、表达式、文本或单元格引用
sum_range 要求和的实际单元格区域(可选,省略时对range求和)

3. 条件写法大全

示例数据表1:水果销售

A B
苹果 50
香蕉 30
苹果 40
橙子 25
苹果汁 35
45
=SUMIF(A:A,"苹果",B:B)      // 等于"苹果":50+40 = 90
=SUMIF(A:A,"*果",B:B)       // 以"果"结尾:50+30+40+45 = 165
=SUMIF(A:A,"苹*",B:B)       // 以"苹"开头:50+40+35 = 125
=SUMIF(A:A,"?果",B:B)       // 两个字且以"果"结尾:50+30+40 = 120
=SUMIF(A:A,"<>苹果",B:B)    // 不等于"苹果":30+25+35+45 = 135

示例数据表2:销售金额

B
150
80
220
95
310
45
=SUMIF(B:B,">100")          // 大于100:150+220+310 = 680
=SUMIF(B:B,">=500")         // 大于等于500:0
=SUMIF(B:B,"<>0")           // 不等于0:150+80+220+95+310+45 = 900
=SUMIF(B:B,"<1000")         // 小于1000:900
=SUMIF(B:B,150)             // 等于150:150

示例数据表3:日期销售

C D
2024-01-05 500
2024-02-10 300
2024-01-15 400
2024-03-20 600
=SUMIF(C:C,">=2024-01-01",D:D)     // 500+300+400+600 = 1800
=SUMIF(C:C,">"&DATE(2024,1,10),D:D) // 大于2024-01-10:300+400+600 = 1300
=SUMIF(C:C,">="&TODAY(),D:D)       // 大于等于今天

单元格引用作为条件

|   D2  |   E2  |
|-------|-------|
| 苹果  |  100  |

=SUMIF(A:A,D2,B:B)          // D2的内容作为条件
=SUMIF(B:B,">"&E2)          // 大于E2的值

4. 实际应用示例

示例数据表4:销售数据

A B
销售员 销售额
张三 5000
李四 8000
张三 3000
王五 6000
李四 4000
张三 2000
求"张三"的销售额:=SUMIF(A:A,"张三",B:B)      // 5000+3000+2000 = 10000
求销售额>5000的总和:=SUMIF(B:B,">5000")      // 8000+6000 = 14000
求非"张三"的销售额:=SUMIF(A:A,"<>张三",B:B)  // 8000+6000+4000 = 18000

示例数据表5:学生成绩

A B
班级 成绩
1班 85
2班 78
1班 92
3班 45
1班 88
2班 65
李华 90
李明 75
求1班总成绩:=SUMIF(A:A,"1班",B:B)           // 85+92+88 = 265
求及格(>=60)总成绩:=SUMIF(B:B,">=60")       // 85+78+92+88+65+90+75 = 573
求姓"李"的学生成绩:=SUMIF(A:A,"李*",B:B)    // 90+75 = 165

5. 常见错误及处理

D2 B
100 150
80
220
错误写法:=SUMIF(B:B,">D2")       // D2会被当作文本"100"
正确写法:=SUMIF(B:B,">"&D2)     // 用&连接,理解为">100"

错误:=SUMIF(A:A,条件,B1:B10)     // 区域大小不一致
正确:=SUMIF(A1:A10,条件,B1:B10)  // 区域大小相同

三、SUMIFS() 函数:多条件求和

1. 基本语法

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

2. 参数说明

参数 说明
sum_range 要求和的实际单元格区域
criteria_range1 第一个条件的区域
criteria1 第一个条件
criteria_range2, criteria2, ... 可选,最多127个条件对

3. 使用示例

示例数据表6:销售明细

A B C
部门 月份 销售额
销售部 1月 5000
技术部 1月 3000
销售部 2月 6000
人事部 1月 2000
销售部 1月 4000
技术部 2月 3500
求"销售部"在"1月"的销售额:
=SUMIFS(C:C, A:A,"销售部", B:B,"1月")  // 5000+4000 = 9000

求"销售部"在"1月"且销售额>4000的记录:
=SUMIFS(C:C, A:A,"销售部", B:B,"1月", C:C,">4000")  // 5000

求1月份所有部门销售额:
=SUMIFS(C:C, B:B,"1月")  // 5000+3000+2000+4000 = 14000

示例数据表7:日期范围销售

A B
日期 销售额
2024-01-05 500
2024-01-15 300
2024-02-10 400
2024-01-25 600
2024-02-20 200
求2024年1月的销售额:
=SUMIFS(B:B, A:A,">=2024-01-01", A:A,"<=2024-01-31")  // 500+300+600 = 1400

4. 实际工作场景

场景1:销售数据分析

销售员 产品 地区 销售额 日期
张三 手机 华东 5000 2024-01-05
李四 电脑 华南 8000 2024-01-10
张三 手机 华北 6000 2024-02-15
王五 平板 华东 3000 2024-01-20
张三 电脑 华东 4000 2024-02-25
1. 张三在华东区销售手机的总金额:
   =SUMIFS(销售额列, 销售员列,"张三", 产品列,"手机", 地区列,"华东")  // 5000

2. 2024年Q1(1-3月)手机销售额:
   =SUMIFS(销售额列, 产品列,"手机", 日期列,">=2024-01-01", 日期列,"<=2024-03-31")  // 5000+6000 = 11000

3. 销售额>4000且产品为手机或电脑的记录:
   需要结合多个SUMIFS:
   =SUMIFS(销售额列, 销售额列,">4000", 产品列,"手机") + SUMIFS(销售额列, 销售额列,">4000", 产品列,"电脑")  // 5000+8000+6000 = 19000

场景2:库存管理

| 商品ID | 类别     | 仓库   | 库存量 | 预警值 | 状态   |
|--------|----------|--------|--------|--------|--------|
| P001   | 食品     | 北京仓 |   100  |   50   | 正常   |
| P002   | 电子产品 | 上海仓 |   200  |   80   | 正常   |
| P003   | 食品     | 北京仓 |   30   |   50   | 正常   |
| P004   | 电子产品 | 北京仓 |   150  |  100   | 停用   |
| P005   | 日用品   | 上海仓 |   80   |   60   | 正常   |

1. "食品"类在"北京仓"的库存总量:
   =SUMIFS(库存量列, 类别列,"食品", 仓库列,"北京仓")  // 100+30 = 130

2. 库存低于预警值的"正常"商品总量:
   =SUMIFS(库存量列, 库存量列,"<"&预警值列, 状态列,"正常")  // 30+80 = 110

3. 排除"已停用"商品的库存:
   =SUMIFS(库存量列, 状态列,"<>停用")  // 100+200+30+80 = 410

5. 高级技巧

技巧1:使用通配符

|   A          |   C      |
|--------------|----------|
| 北京分公司   |   500    |
| 上海分公司   |   300    |
| 北京办事处   |   200    |
| 广州分公司   |   400    |

=SUMIFS(C:C, A:A,"*分公司")  // 以"分公司"结尾:500+300+400 = 1200

技巧2:条件为公式结果

|   B      |
|----------|
|   150    |
|   80     |
|   220    |
|   95     |

=SUMIFS(B:B, B:B,">"&AVERAGE(B:B))  // 大于平均值(150+80+220+95)/4=136.25:150+220 = 370

技巧3:处理文本型数字

|   A    |   C      |
|--------|----------|
| 001    |   100    |
| 002    |   200    |
| 003    |   150    |

=SUMIFS(C:C, A:A,TEXT(1,"0"))      // 查找文本"1",结果为0
=SUMIFS(C:C, A:A,"001")           // 直接使用文本,结果为100

四、三函数对比总结

特性 SUM() SUMIF() SUMIFS()
条件数量 无条件 单条件 多条件(最多127个)
语法顺序 SUM(求和区域) SUMIF(条件区域,条件,求和区域) SUMIFS(求和区域,条件区域1,条件1,...)
求和区域 直接是参数 第三个参数 第一个参数
性能 最快 中等 较慢(条件多时)
适用场景 简单求和 按单个条件筛选求和 复杂多条件筛选求和
通配符 不支持 支持 支持
数组公式 支持 有限支持 有限支持

五、综合应用示例

完整数据表示例

A B C D E
部门 销售员 产品 日期 销售额
销售部 张三 手机 2024-01-05 5000
技术部 李四 电脑 2024-01-10 8000
销售部 王五 手机 2024-02-15 6000
销售部 张三 平板 2024-01-20 3000
技术部 李四 手机 2024-02-25 4000
销售部 张三 手机 2024-03-10 4500
人事部 赵六 电脑 2024-01-15 5500

各种求和需求解决方案

1. 总销售额:=SUM(E:E)                      // 5000+8000+6000+3000+4000+4500+5500 = 36000

2. 销售部总销售额:
   =SUMIF(A:A,"销售部",E:E)                  // 5000+6000+3000+4500 = 18500

3. 张三的总销售额:
   =SUMIF(B:B,"张三",E:E)                    // 5000+3000+4500 = 12500

4. 手机的总销售额:
   =SUMIF(C:C,"手机",E:E)                    // 5000+6000+4000+4500 = 19500

5. 销售部张三的销售额:
   =SUMIFS(E:E, A:A,"销售部", B:B,"张三")    // 5000+3000+4500 = 12500

6. 2024年1月手机销售额:
   =SUMIFS(E:E, C:C,"手机", D:D,">=2024-01-01", D:D,"<=2024-01-31") // 5000

7. 销售部且销售额>4000:
   =SUMIFS(E:E, A:A,"销售部", E:E,">4000")   // 5000+6000+4500 = 15500

通过以上详细的示例数据表和应用场景,您可以清楚地看到SUM、SUMIF、SUMIFS三个函数在实际工作中的具体应用方式。掌握这三个函数,您就能解决Excel中90%的求和需求!