EP12. “求和与查找函数速查”
🔒 登录后可标记已读- Google Sheets 最常用的求和类函数 SUM、SUMIF、SUMIFS,以及查找函数 VLOOKUP
- SUM 在 EP03 已经介绍过基本用法,这篇简短带过,重点放在 SUMIF/SUMIFS 的条件参数写法,以及 VLOOKUP 的四个参数
- 前置知识:先看过 EP03 的公式基础、EP10 的条件写法(SUMIF/SUMIFS 的条件参数格式跟 IF/COUNTIF 一致)
- 适合报表汇总(按分店/按类别加总)、以及按编号/名称查另一张表数据(查薪资、查价格)这类场景
重点内容
SUM:基本加总(EP03 已介绍,快速复习)
以下面这份各分店月营业额表为例(A2:C9):
| 分店 | 月份 | 营业额(RM) |
|---|---|---|
| KL | Jan | 15000 |
| Penang | Jan | 9800 |
| JB | Jan | 7600 |
| KL | Feb | 16200 |
| Penang | Feb | 10500 |
| JB | Feb | 8100 |
| KL | Mar | 14800 |
| Penang | Mar | 11200 |
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| SUM | =SUM(value1, [value2, ...]) | 把范围内的数字全部加总 | =SUM(C2:C9) |
=SUM(C2:C9) 把 8 行营业额全部加起来,结果是 RM93,200。
SUMIF / SUMIFS:按条件加总
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| SUMIF | =SUMIF(range, criterion, [sum_range]) | 加一个条件,只加总符合条件的部分 | =SUMIF(A2:A9,"KL",C2:C9) |
| SUMIFS | =SUMIFS(sum_range, criteria_range1, criterion1, [criteria_range2, ...], ...) | 加多个条件(AND 关系),全部满足才纳入加总 | =SUMIFS(C2:C9,A2:A9,"KL",C2:C9,">=15000") |
SUMIF 例子:=SUMIF(A2:A9,"KL",C2:C9) 只加总分店是 "KL" 的营业额——三个月分别是 15000、16200、14800,加总结果是 RM46,000。
📌 SUMIF 的三个参数顺序是 (条件范围, 条件, 要加总的范围)——条件范围在最前面,要加总的范围放最后,跟 AVERAGEIF 的参数顺序逻辑一致。
SUMIFS 例子:=SUMIFS(C2:C9,A2:A9,"KL",C2:C9,">=15000") 再加一个条件,只加总 KL 分店而且营业额 >=15000 的月份——Jan(15000) 和 Feb(16200) 符合,Mar(14800) 不满足 >=15000 被排除,加总结果是 RM31,200。
📌 SUMIFS 跟 SUMIF 参数顺序不一样——SUMIFS 把要加总的范围(sum_range)放在最前面,后面才接一组一组的「条件范围, 条件」;SUMIF 则是要加总的范围放最后。两个函数名字很像,参数顺序却相反,套用前一定要确认自己在用哪一个。
VLOOKUP:按编号/名称查另一张表的数据
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| VLOOKUP | =VLOOKUP(search_key, range, index, [is_sorted]) | 用一个值(编号/名称)去另一张表最左栏找,回传同一行指定栏位的值 | =VLOOKUP(H2, F2:G6, 2, FALSE) |
四个参数分别是:
- search_key:要拿去查找的值,通常是引用一个单元格,比如 H2 里输入的员工编号
- range:查找用的整个表格范围,第一栏(最左栏)一定要是拿来比对 search_key 的那一栏
- index:要回传的数据在第几栏,从 range 最左栏开始数,最左栏是第 1 栏
- [is_sorted]:range 的第一栏资料有没有先排序好——
TRUE/1代表已排序(允许用估计值近似查找),FALSE/0代表没排序(要求完全一致才算找到)。几乎所有场景都建议直接写 FALSE,除非确定数据已经严格由小到大排序,不然用 TRUE 容易查到不精确的结果
例子一:按员工编号查薪资
薪资表(F2:G6):
| 员工编号 | 薪资(RM) |
|---|---|
| E001 | 3500 |
| E002 | 4200 |
| E003 | 3800 |
| E004 | 5000 |
| E005 | 4600 |
在 H2 输入要查的员工编号 "E003",公式 =VLOOKUP(H2, F2:G6, 2, FALSE)——search_key 是 H2("E003"),range 是 F2:G6,index 是 2(薪资栏是范围里第 2 栏),is_sorted 用 FALSE。结果回传 RM3,800。
例子二:按产品名称查价格
价格表(J2:K6):
| 产品 | 价格(RM) |
|---|---|
| 钢笔 | 5 |
| 笔记本 | 12 |
| 文件夹 | 8 |
| 订书机 | 15 |
| 胶带 | 4 |
在 L2 输入要查的产品名称 "文件夹",公式 =VLOOKUP(L2, J2:K6, 2, FALSE)——同样 index 是 2(价格栏是第 2 栏),结果回传 RM8。
常见错误
- ❌ VLOOKUP 的 range 没有把“用来比对的那一栏”放在最左边——VLOOKUP 只能往右查,想找的数据如果在比对栏的左边,一定会查找失败或查到错的结果,这种情况要改用 INDEX MATCH 或调整表格栏位顺序
- ❌ is_sorted 图方便都写 TRUE 或干脆留空——不确定数据有没有严格排序时用 TRUE,容易在找不到完全相符的值时回传一个看起来正常、实际上不对的估计值,比明显报错更难 debug;不确定就写 FALSE
- ❌ SUMIF 和 SUMIFS 的参数顺序搞混——SUMIF 要加总的范围放最后,SUMIFS 要加总的范围放最前面,两个函数名字长得很像,直接照抄容易调换顺序
- ❌ SUMIFS 的条件之间以为是 OR(满足其中一个就算)——SUMIFS 所有条件都是 AND 关系,要全部同时满足才会被纳入加总,想要 OR 逻辑(满足任一条件)需要分开写多个 SUMIF 再相加
Sources
Blog / Website: