Excel中的VLOOKUP

一、功能及语法结构。

功能:根据指定的查询条件和区域,返回指定列的值。

语法结构:=Vlookup(查询值,数据范围,返回值的相对列数,匹配模式)。

解读:

1、“查询值”即查询条件。

2、“数据范围”指包括查询值和返回值的一个相对数据范围,最少包括2列,而且“数据范围”的第一列必须是“查询值”所在的列。

3、“返回值的相对列数”是根据“数据范围”的情况而决定的,并不是根据数据表的情况而决定的。

4、“匹配模式”分为“0”和“1”两种,“0”为精准匹配,即100%相同;“1”为模糊匹配,即包含或等于“查询值”均可。


二、Vlookup函数用法解读。

1、根据“姓名”查询对应的“月薪”(从左到右顺序查询)。

image-20210319150032255

方法:

在目标单元格中输入公式:=VLOOKUP(K2,C2:H11,6,0)。

解读:

1、公式中K3单元格的值为“查询值”,C3:H12为“数据范围”,而且此范围的第一列(即C列)必须包含了K3单元格的值;因为返回值为“月薪”,而在数据范围C3:H12中“月薪”位于第6列,所以Vlookup函数的第三个参数为6;“0”就是精准查询,100%匹配。

2、此方法也是Vlookup函数最常用、最简单的用法,是Vlookup函数的基础用法。


2、根据“姓名”查询对应的“工号”(从右向左逆向查询)。

image-20210319150350557

方法:

在目标单元格中输入公式:=VLOOKUP(K2,IF({1,0},C2:C11,B2:B11),2,0)。

解读:

1、此用法为Vlookup函数的特殊用法,逆向查询。

2、公式的参数从总体上还是分为4个部分,“数据范围”部分为:IF({1,0},C2:C11,B2:B11),其目的就是重组组成新的数据查询范围,使查询值在左,返回值在右。


3、根据“姓名”、“性别”查询对应的“月薪”(从左向右逆向查询)。

image-20210319150547276

方法:

1、在“备注”列中用&符号合并“姓名”和“性别”,公式为:=C2&D2。

2、在目标单元格中输入公式:=VLOOKUP(K5&L5,IF({1,0},I2:I11,H2:H11),2,0)。

解读:

其本质为从右向左的逆向查询。

4、根据“姓名”、“性别”查询对应的“工号”(从右向左逆向查询)。

image-20210319150803083

方法:

1、在“备注”列中用&符号合并“姓名”和“性别”,公式为:=C2&D2。

2、在目标单元格中输入公式:=VLOOKUP(K8&L8,IF({1,0},I2:I11,B2:B11),2,0)。

解读:

本质为从右向左的逆向查询。


5、批量查询(+Column)。

目的:根据“工号”查询对应的“姓名”、“性别”、“学历”等信息。

image-20210319150935780

方法:

在目标单元格中输入公式:

=VLOOKUP($K$2,$B$2:$I$11,COLUMN(B1),0)

解读:

1、参数查询值K3、数据范围B2:H11为什么绝对引用?

答:在相对引用情况下,当用鼠标拖动从左向右填充时,其公式中的单元格(数据范围)地址也会相对改变,而在此例中,无论范围那一列的值,其查询值和数据范围都是固定不变,所以采用绝对引用的方式。

(采用绝对引用的方式是为了大家更好地理解,其实也可以采用混合引用的形式,=VLOOKUP($K3,$B3:$H12,COLUMN(B1),0))

2、参数“返回值的相对列数”:Column(B1),其作用就是动态返回对应值的相对列数。首先要理解Column函数的作用(返回指定单元格地址的列数),从A列开始依次为1、2、3……;在数据范围B2:H11中,“姓名”在第2列,所以Column函数的参数为B1(或B2等,只要是B列即可),而“性别”在第3列,当用公式查询完“姓名”后,拖动填充式,Column函数的参数也会发生变化(C1,依次为D1、E1、……),因为此处必须采用相对引用。


6、精准查询(+Match)。

目的:根据“姓名”和“季度”查询对应的“销售额”。

image-20210319152444251

方法:

在目标单元格中输入公式:=VLOOKUP(K2,C2:H11,MATCH(L2,C1:H1,0),0)

解读:

1、Match函数的作用为:返回指定值在指定范围中的相对位置,语法结构为:=Match(定位值,定位范围,[匹配模式]),其中“匹配模式”分为-1、0、1三种,分别为:“大于”、“精准”、“小于”。

2、公式中用Match函数定位出季度的相对列数,并作为Vlookup的第三个参数,从而达到精准查询的目的。


7、隐藏错误值得查询!

此处的“错误值”并不是真正意义上的错误值,而是指在公式正确的情况下,部分查询值没有对应的返回值,返回#N/A 的情况,可以借用Iferror函数巧妙的隐藏错误代码或者返回指定的值。

目的:根据员工“姓名”查询对应的“月薪”,如果未能查询到员工信息,返回“未查询到此员工,请确认!”。

image-20210319152632376

方法:

在目标单元格中输入公式:=IFERROR(VLOOKUP(K2,C2:H11,6,0),"未查询到此员工,请确认")。

解读:

1、Iferror函数的作用为:检测指定的表达式是否存在错误,如果存在错误,则返回指定的值,否则返回表达式的执行结果;语法结构为:=Iferror(表达式,表达式存在错误时的返回值)。

2、公式在查询”蔡文姬“时,未能在指定的数据范围中查询到此信息,所以返回#N/A, 并将此结果返回Iferror函数,经过Iferror函数执行后,返回“未查询到此员工,请确认!”。


8、制作工资条。

工资条大家并不陌生,但是如何根据工资表制作工资条呢?

image-20210319152844797

方法:

1、在工资表的最左侧插入一列,命名为序号或No,并进行填充(如果已经有此列,则可以省略此步骤)。

2、根据序号查询对应的其它列信息,在目标单元格中输入公式:=VLOOKUP($K2,$A$2:$H$11,COLUMN(B1),0)

3、选定标题行以及查询的数据行,拖动右下角的填充柄向下填充即可。

解读:

1、公式中的第一个参数查询值的引用方式为混合引用,$K2,而不能是绝对引用($k$2)或相对引用(K2),原因是列不变,行要变。

2、利用填充柄填充时根据需要可以隔行,也可以不隔行。


9、批量查询并求和(+Sum)。

目的:根据“姓名”查询全年的销售额。

image-20210319153313076

方法:

在目标单元格中输入公式:=SUM(VLOOKUP(K2,C2:H11,{3,4,5,6},0))并用Ctrl+Shift+Enter填充。

解读:

公式中返回值的相对列数为{3,4,5,6}并配合组合快捷键Ctrl+Shift+Enter就是依次查询指定范围中第3、4、5、6列的值并返回,最后用Sum函数求和。

原文地址:https://www.cnblogs.com/James-221/p/14558696.html