Excel 2016︱VLOOKUP 函数

VLOOKUP函数是使用频率非常高的查询函数之一,函数名称中的“V”表示Vertical,即“垂直的”。VLOOKUP 函数的语法为:
第一参数是要在表格或区域的第一列中查询的值。
第二参数是需要查询的单元格区域,这个区域中的首列必须要包含查询值,否则公式将返回错误值。如果查询区域中包含多个符合条件的查询值,VLOOKUP 函数只能返回首个结果。
第三参数用于指定返回查询区域中第几列的值,如果该参数超出待查询区域的总列数,VLOOKUP函数将返回错误值 #N/A。
第四参数决定函数的查找方式,如果为 0 或 FALSE,用精确匹配方式,而且支持无序查找;如果为 TRUE 或被省略,则使用近似匹配方式,同时要求查询区域的首列按升序排序。
示例 VLOOKUP常规精确查找
如图 16-29 所示,A~G 列是基础数据源,I~P 列是根据不同情况及需求进行相应的查找。
I 常规查找
在 K3 单元格输入以下公式,查找学号 901 对应的人员姓名。
=VLOOKUP(J3,B:C,2,0)
目标值 J3 位于查找区域 B:C 的第一列 B 列中,返回区域中的第 2 列,即 C 列对应位置的值“陆逊”。
II 文本数字查找
在 O3 单元格输入以下公式,查找学号 903 对应的人员总分。
=VLOOKUP(--N3,B:G,6,0)
N3 单元格中的 903 是文本型数字,所以需要将其转化为数值型数字。
III 屏蔽错误值
在 K6 单元格输入以下公式,查找学号 907 对应的人员姓名。
=IFERROR(VLOOKUP(J6,B:C,2,0),' 查无此人 ')
在分数表中,学号信息没有对应的 907 这个人,所以 VLOOKUP 部分会返回错误值 #N/A。在此公式外层嵌套 IFERROR 函数处理错误值,使结果返回“查无此人”。
IV 通配符查找
在 O6 单元格输入以下公式,查找第一个姓“黄”人员的总分。
=VLOOKUP(' 黄 *',C:G,5,0)
VLOOKUP 支持通配符查找,“黄 *”代表以“黄”字开头的单元格,即返回结果为黄月英对应的总分 102。
V 查找一系列值
在 K9 单元格输入以下公式,并复制到 K9:N10 单元格区域,可以完成对一个目标值返回一系列结果。
=VLOOKUP($J9,$C:$G,COLUMN(B:B),0)
COLUMN(B:B) 计算结果为 2,向右复制时,得到起始值为 2、步长为 1 的自然数序列,用作VLOOKUP 函数的第三参数。
VLOOKUP 函数根据 J9 单元格中的员工姓名,在 $C:$G 单元格区域中查找其位置,并分别返回同一行中第 n 列的内容。
VI 逆向查找
在 K13 单元格输入以下公式,并复制到 K13:L14 单元格区域,可以完成查找列在右,结果列在左的逆向查找。
=VLOOKUP($J13,IF({1,0},$C$2:$C$7,A$2:A$7),2,0)
IF({1,0},$C$2:$C$7,A$2:A$7) 部分,当 IF 函数第一参数为 1 时,返回第二参数指定的内容,当IF 函数第一参数为 0 时,返回第三参数指定的内容。本例中,IF 函数第一参数使用常量数组 {1,0},因此返回 C 列在左,A 列在右的内存数组,相当于区域的重排。
然后通过 VLOOKUP 函数根据 J13 的查找值,返回这个新区域中的第 2 列的内容。
VII 查找指定列
在 O13 单元格输入以下公式,并复制到 O13:P14 单元格区域,可以完成在多行多列的二维区域内的查找。
=VLOOKUP($N13,$C:$G,MATCH(O$12,$C$1:$G$1,0),0)
MATCH(O$12,$A$1:$G$1,0) 确定出数学科目在 A1:G1 单元格区域中位于第几列,将此参数作为 VLOOKUP 的第 3 参数。
当 O12:P12 或 N13:N14 单元格区域变换查询内容时,不用修改公式即可自动更新结果,如图16-30 所示。
(0)

相关推荐