一、 什么是 VLOOKUP 函数?
VLOOKUP(垂直查找)是 Excel 中用于在表格中查找特定值并返回对应数据的函数。它常用于在大型数据集中快速查找信息。
二、 函数语法
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
-lookup_value: 要查找的值。
-table_array: 查找范围,包括查找列(也就是‘lookup_value’所在列)和查找数据(即‘lookup_value’对应数据),并且查找列必须在查找范围的第一列。
-col_index_num: 返回值的列号,从 `table_array` 的第一列开始计数。
-range_lookup: 可选参数,决定查找方式:
‘TRUE’或省略:近似匹配。
‘FAUSE’:精确匹配。
三、 使用步骤
(1)选择单元格:点击要显示结果的单元格。
(2)输入函数:输入 `=VLOOKUP(`,然后填写参数。
(3)填写参数:
- `lookup_value`:输入或选择要查找的值。
- `table_array`:选择查找范围。
- `col_index_num`:输入返回值的列号。
- `range_lookup`:输入‘FALSE’进行精确匹配,或‘TRUE’进行近似匹配。
(4)按下 Enter:函数将返回查找结果。
四、 示例
假设有以下数据表:
查找员工ID为 `002` 的姓名:
=VLOOKUP("002", A2:C4, 2,FALSE)
结果为:李四。
五、 注意事项
(1)精确匹配:通常使用‘FALSE’确保精确匹配。
(2)查找值必须在第一列:`VLOOKUP` 只在 `table_array` 的第一列查找。
(3)列号从1开始:`col_index_num` 从 `table_array` 的第一列计数。
(4)近似匹配:`range_lookup` 为‘TRUE’时,数据表需按升序排列,并且近似匹配时经常找小于等于自己的最大值,以下题目为例:
请为小梅、小雅、晓燕,匹配年龄相仿的对象,公式以及数据如下(公司员工数据已经按照升序排好):
结果如下:
分析:按照题目要求,小梅应该匹配张三作为她的对象,小雅应该匹配李四作为她的对象,但由于近似匹配时经常找小于等于自己的最大值,所以小梅找不到对象,小雅的对象为张三,晓燕的对象为李四。
六、 常见错误
-#N/A:未找到匹配值,检查 `lookup_value` 和 `table_array`,此时可以用
-#REF!:`col_index_num` 超出 `table_array` 的列数。
-#VALUE!:`col_index_num` 小于1或非数值。
七、 进阶技巧
1. 结合ISNA函数:检查错误。
(1)函数表达式:
=ISNA(value),其中value: 要检查的值或表达式。
(2)返回值:
- TRUE: 如果 `value` 是 `#N/A` 错误。
-FALSE: 如果 `value` 不是 `#N/A` 错误。
2. 动态列号。
(1)背景
`MATCH` 函数用于查找某个值在范围中的位置,而 `VLOOKUP` 函数用于在表格中查找特定值并返回对应的数据。通过将 `MATCH` 与 `VLOOKUP` 嵌套使用,可以实现动态列查找,避免手动输入列号。
(2)函数语法
-MATCH 函数:
=MATCH(lookup_value, lookup_array, [match_type])
- `lookup_value`: 要查找的值。
- `lookup_array`: 查找范围。
- `match_type`: 匹配类型:
- `0`:精确匹配。
- `1`:模糊匹配
(3)嵌套使用
通过将 `MATCH` 函数嵌套在 `VLOOKUP` 的 `col_index_num` 参数中,可以动态确定返回值的列号。
(4)例题
假设有以下数据表:
目标:查找员工ID为 `002` 的工资。
步骤:
-使用 MATCH 函数确定列号:
=MATCH("工资", A1:E1, 0)
结果: `5`,因为 `"工资"` 在第5列。
-嵌套 MATCH 函数到 VLOOKUP 中:
=VLOOKUP("002", A2:E4, MATCH("工资", A1:E1, 0), FALSE)
结果:函数返回 `6000`,即员工ID为 `002` 的工资。
VLOOKUP 是 Excel 中强大的查找工具,适用于各种数据查找任务。掌握其用法能显著提高工作效率。