VLOOKUP 和 SUMIF 这两个最常用函数的用法,保证一看就懂!
核心作用: 在一个表格区域中,根据第一列的某个值(查找值),去同一行的另一列(通常是右侧的列)中查找并返回对应的值。简单说就是“按列查字典”。
应用场景举例:
函数结构:
=VLOOKUP(找什么, 在哪找, 返回第几列的值, 怎么找)
参数详解:
| 参数位置 | 含义 | 通俗解释 & 要点 | 示例值 (假设场景) |
|---|---|---|---|
| 1 | lookup_value |
找什么? 你要查找的那个值。它必须位于你查找区域的第一列中。 | A2 (包含工号 "E1001" 的单元格) |
| 2 | table_array |
在哪找? 包含你要查找的数据的整个表格区域。务必保证查找值(参数1)在该区域的第一列! 通常用绝对引用 $A$2:$D$100。 |
$B$2:$E$100 (工号在B列第一列) |
| 3 | col_index_num |
返回第几列的值? 在table_array区域中,你想要的返回值位于第几列(从查找值所在的列开始算,查找值列是第1列)。 |
3 (想返回部门,部门在区域的第3列) |
| 4 | range_lookup |
怎么找? FALSE 或 0:精确匹配 (最常用!必须找到完全一样的值)。TRUE 或 1:近似匹配 (按升序排列时可用,慎用)。 |
FALSE (必须精确匹配工号) |
实例拆解:
Sheet1!$B$2:$E$100) 中,根据“工资查询表” (Sheet2!A2) 里的工号,查找对应的“部门”。=VLOOKUP(A2, Sheet1!$B$2:$E$100, 3, FALSE)
A2:在工资查询表里,我要查找的值是A2单元格里的工号 (比如 "E1001")。Sheet1!$B$2:$E$100:去Sheet1工作表里,从B2到E100这个区域找。注意工号必须在这个区域的第一列 (B列)。3:在这个区域 ($B$2:$E$100) 里,工号是第1列,姓名是第2列,部门是第3列,工资是第4列。我们要部门,所以填3。FALSE:必须精确匹配到工号 "E1001",不能是 "E100" 或 "E10010"。常见错误 & 解决:
#N/A: 最常见!找不到匹配项。检查:A2) 是否真的存在于 table_array 区域的第一列?A2) 和 table_array 第一列的数据类型是否一致?(数字 vs 文本?空格?)range_lookup 是不是 FALSE?有时不小心用了 TRUE 也可能导致。#REF!: col_index_num 数字大于 table_array 区域的列数。比如区域只有3列,你写了4。#VALUE!: col_index_num 小于1 或者不是数字。或者 table_array 区域太小。col_index_num 数错了列,或者 table_array 区域选错了(没包含目标列)。重要提示:
FALSE) 是最常用的模式。$) 锁定查找区域 (table_array),这样公式向下填充时区域不会变。F4 键可以快速添加绝对引用。INDEX + MATCH 组合。核心作用: 对满足一个指定条件的单元格进行求和。简单说就是“按条件加数字”。
应用场景举例:
函数结构:
=SUMIF(条件检查的区域, 条件是什么, 实际要求和哪里的数字)
参数详解:
| 参数位置 | 含义 | 通俗解释 & 要点 | 示例值 (假设场景) |
|---|---|---|---|
| 1 | range |
条件检查的区域? 你要根据哪个区域里的值来判断是否满足条件。 | C2:C100 (部门列) A2:A100 (日期列) |
| 2 | criteria |
条件是什么? 定义哪些单元格应该被求和。可以是数字、文本、表达式 (如 ">100", "=销售部", "<>财务部")、单元格引用 (如 A1)。文本和带运算符的条件要用双引号! |
"销售部" ">100" A1 (A1里是条件) |
| 3 | sum_range |
实际要求和哪里的数字? 包含你要加起来的那些数字的区域。如果省略,则直接对 range 区域中满足条件的单元格求和 (如果 range 本身是数字的话)。 |
D2:D100 (销售额列) E2:E100 (工资列) |
实例拆解:
=SUMIF(C2:C100, "销售部", E2:E100)
C2:C100:检查条件在哪个区域?—— 部门列 (C 列)。"销售部":条件是什么?—— 部门等于 “销售部”。E2:E100:要求和哪里的数字?—— 工资列 (E 列)。函数会找到所有部门是 “销售部” 的行,然后把对应 E 列里的工资加起来。=SUMIF(D2:D100, ">10000", D2:D100)
D2:D100:检查条件在哪个区域?同时也是要求和哪里的数字?—— 都是销售额列 (D 列)。所以 sum_range 可以省略,写成 =SUMIF(D2:D100, ">10000") 效果一样。">10000":条件是什么?—— 销售额大于 10000。注意带运算符 > 的条件要用双引号括起来。=SUMIF(C2:C100, "<>财务部", E2:E100)
C2:C100:检查部门列。"<>财务部":条件是什么?—— 不等于 (<>) “财务部”。E2:E100:求工资列的和。常见错误 & 解决:
criteria 是否写错(如文本拼写错误、大小写不一致?Excel 默认不区分大小写,但拼写必须一致)。range 区域的数据类型是否匹配(如条件是文本 "100",区域是数字 100)。sum_range 区域是否真的是数字?可能有文本格式的数字(左上角带绿色三角),用 VALUE() 转换或分列处理。criteria 条件写得太宽泛或无效(如 ">" 后面没跟数字),或者条件区域 (range) 选错了。#VALUE!: 通常发生在 criteria 是文本且长度超过 255 字符,或者 sum_range 和 range 的大小/形状不一致(如 range 是 10 行,sum_range 是 15 行)。重要提示:
criteria 中的文本和带运算符 (>, <, >=, <=, <>) 的条件必须用双引号 ("") 括起来。sum_range 省略,则对 range 区域中满足条件的(数字)单元格求和。range 和 sum_range 的大小和形状必须匹配(行数相同)。SUMIFS 函数。| 特性 | VLOOKUP | SUMIF |
|---|---|---|
| 主要目的 | 查找并返回特定值 | 按条件求和 |
| 核心操作 | 按列查找 (字典查询) | 条件判断 + 数值累加 |
| 关键参数 | 查找值, 查找区域, 返回列号, 精确/近似 |
条件区域, 条件, 求和区域 |
| 返回值 | 一个单元格的值 (文本、数字等) | 一个求和结果 (数字) |
| 常见错误 | #N/A (找不到) |
结果为 0 (条件不满足或格式问题) |
| 升级版 | XLOOKUP (更强大灵活), INDEX+MATCH |
SUMIFS (多条件求和) |
记住:
VLOOKUP 用于找东西:=VLOOKUP(找什么, 在哪找(第一列是关键), 返回第几列, 精确找(FALSE))
SUMIF 用于按条件加数字:=SUMIF(哪些单元格要检查条件, 条件是什么, 哪些单元格要加)
多加练习几次,结合具体数据尝试,你会发现它们真的非常实用且不难!当需要更复杂的查找或多条件求和时,再去探索 XLOOKUP、INDEX/MATCH 和 SUMIFS 吧。