Excel VLOOKUP 函数

VLOOKUP 函数在指定单元格区域的第一列查找指定的查找值,返回所在行中指定列的值。

VLOOKP 函数以简洁的语法、易懂的原理和强大的查找功能,深得用户的喜爱和肯定。在日常工作中,使用频率极高。

简单地说,VLOOKUP 函数根据给定的一个值,在目标区域的第一列查找并匹配出该值,之后返回该值所在行指定列的数据。

函数基础

适用版本

Excel 2003+

说明

VLOOKUP 函数在指定单元格区域的第一列查找指定的查找值,返回所在行中指定列的值。

返回值

匹配的值。

语法

=VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup])
=VLOOKUP(查找值, 单元格区域, 列数, [匹配模式])

参数

  • Lookup_value 必需。 需在指定单元格区域中查找的值。
  • Table_array 必需。 在其中查找数据的数组或单元格区域, 使用对区域或区域名称的引用。
  • Col_index_num 必需。 table_array 中将返回的匹配值的列号。
  • Range_lookup 可选。 一个逻辑值,指定查找精确匹配值还是近似匹配值。
    • 如果为 TRUE 或省略,则返回近似匹配值。 如果找不到精确匹配值,则返回小于 lookup_value 的最大值。
    • 如果为 False,则将查找精确匹配值。

要点

  • 如果函数找不到 lookup_value,且 range_lookup 为 TRUE,则返回小于 lookup_value 的最大值。
  • 如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符(问号 (?) 和星号 (*))。
    • 问号匹配任意单个字符;
    • 星号匹配任意一串字符。
    • 如果要查找实际的问号或星号,请在字符前键入波形符 (~)。

基础实例

例1:使用VLOOKUP函数精确查找

VLOOKUP 函数

例2:使用VLOOKUP函数模糊查找

VLOOKUP 函数

可能出现的错误

  • #N/A
    • 如果未找到匹配的值时;
  • #REF!
    • 如果参数列号大于数据区域中的列数时;
  • #VALUE!
    • 如果提供的列号小于1或者不是数字类型;
    • 如果提供的[range_lookup]参数不是逻辑值(TRUE或FALSE)。

其他

更多信息及示例请参考微软Office网站

 

图解查找原理

假设现在有如下图示数据,员工入职信息。现需要根据员工姓名,查找该员工入职日期。

首先给出查找公式如下:

=VLOOKUP( B17, B3:F12, 4, FALSE)

使用 VLOOKUP 函数查找步骤和原理分解如下。

第一步:首先需要指定需要查找的值,这个例子中是「员工7」,即 B17。

第二步:之后需要输入查找区域,这个例子中是从 B3 到 F12 的区域,即 B3:F12。VLOOKUP 将在这个区域的第一列查找上一步指定的值。

第三步:我们需要的返回值在区域中的第几列,这个例子中是第 4 列。

第四步:最后需要指定匹配模式,在这里我们使用精确匹配,即 FALSE(或0)。

 

实例

使用相似的步骤,继续写一个VLOOKUP函数,可以查找已知员工入职部门。公式如下:


=VLOOKUP( B17, B3:F12, 3, FALSE)

根据查找区域得知,「入职部门」是区域的第 3 列,所以将返回值列改成 3 即可。

 

注意事项

1.确保查找值和查找区域第一列数据类型一致。

Excel 认为两种数据类型的数据时不相同的。虽然在表上两个数据「看起来」相同,但是数据类型不一致时,VLOOKUP函数无法匹配。

2.「锁住」查找区域。

很多时候,使用VLOOKUP函数写的公式,会被复制到其他区域。如果查找区域是相对引用方式的话,复制过后,查找区域会发生变化,出现无法匹配的错误。

3.明确指定匹配模式,不建议省略。

VLOOKUP函数第四个参数是可选参数,如果省略不输入,Excel 使用默认值 TRUE,即近似匹配。但是绝大部分情况下,我们需要精确匹配,如果我们省略该参数,很有可能出现意想不到的结果。错误情况也不容易被发现。

转载注明:文章转载自「懒人Excel - www.lanrenexcel.com
本文链接:Excel VLOOKUP 函数

您可能还喜欢...

订阅评论
提醒
11 评论
最新
最旧 最多投票
内联反馈
查看所有评论
123
1 年 前

通配符可以讲解一下吗?

vinay
1 年 前

尝试在vlookup中使用数组,当查找列为数组时,能返回几个对应值的和;但是当查找值为数组时,永远只能返回第一个查找值对应的值,请问是为什么?

daisy
2 年 前

太棒了

houdi
2 年 前

错误值如何变空白

势必拿下excel
3 年 前

一目了然啦,这个网站真的神了,终于学会

最后由势必拿下excel编辑于3 年 前
Momo
3 年 前

Xlookup 能讲一下哇~谢谢~

按按钮
3 年 前

还是不会 呜呜呜呜

11
0
希望看到您的想法,请您发表评论x