第09章:SUMIF 函数 —— 单条件求和

单条件求和:按部门汇总工资,三参数与两参数

📥 本章配套练习册(数据已录入、写完公式自动判分):点击下载 第09章-SUMIF函数-练习.xlsx

难度:⭐⭐ | 建议用时:35 分钟 | 前置知识:第08章 COUNTIF(条件写法完全相同)

本章学习目标

  • 会用 SUMIF 对"满足条件的行"求和
  • 掌握三参数写法和两参数写法的区别
  • 与 COUNTIF 对比记忆,条件规则直接迁移

一、这个函数是干什么的?

SUMIF = SUM(求和)+ IF(如果):如果满足条件,就把对应的数字加进来

生活化场景:

  • 只算销售部的工资总额
  • 只算"苹果"这一种产品的销量
  • 只把大于 1000 的订单金额加起来

COUNTIF 数"有几个",SUMIF 算"加起来是多少"——两兄弟条件写法一模一样。

二、语法结构

1
=SUMIF(条件区域, 条件, [求和区域])
参数 是否必须 说明
条件区域 必须 检查条件的区域,如部门列 B2:B9
条件 必须 与 COUNTIF 完全相同的四种写法
求和区域 可选 真正要加总的数字区域,如工资列 D2:D9

两种用法对比(重点!)

三参数:条件在一列,求和在另一列(最常用)

1
2
=SUMIF(B2:B9, "销售部", D2:D9)
   检查部门列 ↑        ↑ 加总工资列

两参数:条件和求和是同一列(省略第三参数)

1
2
=SUMIF(D2:D9, ">10000")
   工资列既检查条件,又自己加总自己

三、基础示例(手把手)

员工表(与第08章相同):

A B C D
1 姓名 部门 性别 工资
2 张三 销售部 8500
3 李四 技术部 12000
4 王五 销售部 9200
5 赵六 技术部 11500
6 孙七 人事部 7800
7 周八 销售部 11000
8 吴九 技术部 13500
9 郑十 人事部 8200

示例1:销售部工资总额

1
=SUMIF(B2:B9, "销售部", D2:D9)

结果:28700(8500 + 9200 + 11000)

逐步解读

  1. COUNTIF 式的扫描:逐行检查 B 列是否 = “销售部”
  2. 第2行 ✓ → 把同行 D 列的 8500 加进来
  3. 第4行 ✓ → 加 9200;第7行 ✓ → 加 11000
  4. 其他行 ✗ → 跳过
  5. 合计 28700

关键理解:条件区域和求和区域按行一一对应——B2 满足条件,就加 D2。

示例2:工资大于 10000 的工资总和(两参数)

1
=SUMIF(D2:D9, ">10000")

结果:48000(12000 + 11500 + 11000 + 13500)

解读:省略第三参数时,第一参数身兼两职:既负责检查 “>10000”,又负责加总。

示例3:通配符求和

1
=SUMIF(B2:B9, "*部", D2:D9)

结果:94000(所有部门都带"部"字,等于全部工资)——演示通配符在 SUMIF 中同样可用。

四、进阶用法

1. 条件外置(做成可切换的汇总表)

在 F1 输入部门名"销售部",公式引用它:

1
=SUMIF(B2:B9, F1, D2:D9)

文本条件直接引用单元格时不需要 & 拼接(只有比较符号才需要 ">"&F1)。把 F1 改成"技术部",合计自动变——一个会动的汇总表就做好了。

2. COUNTIF 与 SUMIF 联手算"条件平均"

技术部的平均工资:

1
=SUMIF(B2:B9,"技术部",D2:D9) / COUNTIF(B2:B9,"技术部")

结果:37000 / 3 = 12333.33。虽然没有 AVERAGEIF 直接,但用你学过的两个函数就能拼出来。

3. 常见搭配数据模型

SUMIF 最适合"一列分类、一列数值"的表:按部门汇总工资、按产品汇总销量、按月份汇总支出、按客户汇总订单……职场报表十张里有八张是这个结构。

五、常见错误与注意事项

问题 原因 解决
结果明显偏小/为0 条件区域和求和区域行数不一致(如 B2:B9 配 D2:D8) 两个区域必须同样大小、行对齐
把求和区域写成条件区域 参数顺序记混 记住:先条件,后求和
两参数三参数乱用 想用三参数结果省略了第三参数 条件列≠求和列时必须写三参数
文本条件不命中 数据有空格(“销售部 “) 检查并清理数据
整列引用变慢 老旧电脑 + 巨大数据 限制范围如 B2:B10000

六、练习题(请先独立完成)

练习数据准备

使用与第08章相同的员工表(A1:D9)。如果你第08章已经录入过,直接沿用即可。

题目

题号 题目 在何处作答
1 计算技术部工资总额 F2
2 计算人事部工资总额 F3
3 计算女性员工工资总额 F4
4 计算工资大于 10000 的工资总和(两参数写法) F5
5 计算工资小于等于 9000 的工资总和 F6
6 在 H1 输入"销售部”,用引用 H1 的方式计算该部门工资总额;然后把 H1 改成"技术部"观察变化 F7
7 挑战:计算销售部的平均工资(用 SUMIF ÷ COUNTIF) F8

七、练习讲解(做完再看)

第1题讲解

条件在 B 列(部门),求和在 D 列(工资)→ 三参数:=SUMIF(B2:B9,"技术部",D2:D9)。 验证:12000 + 11500 + 13500 = 37000。

第2题讲解

同上结构:=SUMIF(B2:B9,"人事部",D2:D9) → 7800 + 8200 = 16000。

第3题讲解

条件换成了性别列(C 列),求和仍是工资列:=SUMIF(C2:C9,"女",D2:D9)。 验证:王五 9200 + 赵六 11500 + 孙七 7800 + 郑十 8200 = 36700。 要点:条件区域不一定是 B 列,哪列装条件就检查哪列。

第4题讲解

条件和求和都是工资列本身 → 两参数:=SUMIF(D2:D9,">10000")。 验证:12000 + 11500 + 11000 + 13500 = 48000。 也可以写三参数 =SUMIF(D2:D9,">10000",D2:D9),效果相同,两参数更简洁。

第5题讲解

=SUMIF(D2:D9,"<=9000") → 8500 + 7800 + 8200 = 24500。注意 9200 不满足 ≤9000。

第6题讲解

=SUMIF(B2:B9,H1,D2:D9)。文本条件直接引用单元格即可,不用引号不用 &。 H1 = 销售部 → 28700;改成技术部 → 37000。这就是动态汇总表的雏形。

第7题讲解

条件平均 = 条件和 ÷ 条件数:

1
=SUMIF(B2:B9,"销售部",D2:D9)/COUNTIF(B2:B9,"销售部")

28700 ÷ 3 ≈ 9566.67。如果想保留两位小数,套一个第03章的 ROUND:

1
=ROUND(SUMIF(B2:B9,"销售部",D2:D9)/COUNTIF(B2:B9,"销售部"),2)

八、参考答案

题号 公式 结果
1 =SUMIF(B2:B9,"技术部",D2:D9) 37000
2 =SUMIF(B2:B9,"人事部",D2:D9) 16000
3 =SUMIF(C2:C9,"女",D2:D9) 36700
4 =SUMIF(D2:D9,">10000") 48000
5 =SUMIF(D2:D9,"<=9000") 24500
6 =SUMIF(B2:B9,H1,D2:D9) 28700(H1=销售部时)
7 =SUMIF(B2:B9,"销售部",D2:D9)/COUNTIF(B2:B9,"销售部") 9566.67

本章小结

  • =SUMIF(条件区域, 条件, 求和区域):条件区域满足条件 → 把求和区域同一行的数字加进来
  • 条件列和求和列是同一列时,可以省略第三参数(两参数写法)
  • 条件规则与 COUNTIF 完全相同(引号、比较符、通配符、& 拼接)
  • 两区域必须行对齐、一样大

下一章:第10章:COUNTIFS 函数

世界是你们
使用 Hugo 构建
主题 StackJimmy 设计