Excel中的VLOOKUP
一、功能及语法结构。
功能:根据指定的查询条件和区域,返回指定列的值。
语法结构:=Vlookup(查询值,数据范围,返回值的相对列数,匹配模式)。
解读:
1、“查询值”即查询条件。
2、“数据范围”指包括查询值和返回值的一个相对数据范围,最少包括2列,而且“数据范围”的第一列必须是“查询值”所在的列。
3、“返回值的相对列数”是根据“数据范围”的情况而决定的,并不是根据数据表的情况而决定的。
4、“匹配模式”分为“0”和“1”两种,“0”为精准匹配,即100%相同;“1”为模糊匹配,即包含或等于“查询值”均可。
二、Vlookup函数用法解读。
1、根据“姓名”查询对应的“月薪”(从左到右顺序查询)。
方法:
在目标单元格中输入公式:=VLOOKUP(K2,C2:H11,6,0)。
解读:
1、公式中K3单元格的值为“查询值”,C3:H12为“数据范围”,而且此范围的第一列(即C列)必须包含了K3单元格的值;因为返回值为“月薪”,而在数据范围C3:H12中“月薪”位于第6列,所以Vlookup函数的第三个参数为6;“0”就是精准查询,100%匹配。
2、此方法也是Vlookup函数最常用、最简单的用法,是Vlookup函数的基础用法。
2、根据“姓名”查询对应的“工号”(从右向左逆向查询)。
方法:
在目标单元格中输入公式:=VLOOKUP(K2,IF({1,0},C2:C11,B2:B11),2,0)。
解读:
1、此用法为Vlookup函数的特殊用法,逆向查询。
2、公式的参数从总体上还是分为4个部分,“数据范围”部分为:IF({1,0},C2:C11,B2:B11),其目的就是重组组成新的数据查询范围,使查询值在左,返回值在右。
3、根据“姓名”、“性别”查询对应的“月薪”(从左向右逆向查询)。
方法:
1、在“备注”列中用&符号合并“姓名”和“性别”,公式为:=C2&D2。
2、在目标单元格中输入公式:=VLOOKUP(K5&L5,IF({1,0},I2:I11,H2:H11),2,0)。
解读:
其本质为从右向左的逆向查询。
4、根据“姓名”、“性别”查询对应的“工号”(从右向左逆向查询)。
方法:
1、在“备注”列中用&符号合并“姓名”和“性别”,公式为:=C2&D2。
2、在目标单元格中输入公式:=VLOOKUP(K8&L8,IF({1,0},I2:I11,B2:B11),2,0)。
解读:
本质为从右向左的逆向查询。
5、批量查询(+Column)。
目的:根据“工号”查询对应的“姓名”、“性别”、“学历”等信息。
方法:
在目标单元格中输入公式:
=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)。
目的:根据“姓名”和“季度”查询对应的“销售额”。
方法:
在目标单元格中输入公式:=VLOOKUP(K2,C2:H11,MATCH(L2,C1:H1,0),0)
解读:
1、Match函数的作用为:返回指定值在指定范围中的相对位置,语法结构为:=Match(定位值,定位范围,[匹配模式]),其中“匹配模式”分为-1、0、1三种,分别为:“大于”、“精准”、“小于”。
2、公式中用Match函数定位出季度的相对列数,并作为Vlookup的第三个参数,从而达到精准查询的目的。
7、隐藏错误值得查询!
此处的“错误值”并不是真正意义上的错误值,而是指在公式正确的情况下,部分查询值没有对应的返回值,返回#N/A 的情况,可以借用Iferror函数巧妙的隐藏错误代码或者返回指定的值。
目的:根据员工“姓名”查询对应的“月薪”,如果未能查询到员工信息,返回“未查询到此员工,请确认!”。
方法:
在目标单元格中输入公式:=IFERROR(VLOOKUP(K2,C2:H11,6,0),"未查询到此员工,请确认")。
解读:
1、Iferror函数的作用为:检测指定的表达式是否存在错误,如果存在错误,则返回指定的值,否则返回表达式的执行结果;语法结构为:=Iferror(表达式,表达式存在错误时的返回值)。
2、公式在查询”蔡文姬“时,未能在指定的数据范围中查询到此信息,所以返回#N/A, 并将此结果返回Iferror函数,经过Iferror函数执行后,返回“未查询到此员工,请确认!”。
8、制作工资条。
工资条大家并不陌生,但是如何根据工资表制作工资条呢?
方法:
1、在工资表的最左侧插入一列,命名为序号或No,并进行填充(如果已经有此列,则可以省略此步骤)。
2、根据序号查询对应的其它列信息,在目标单元格中输入公式:=VLOOKUP($K2,$A$2:$H$11,COLUMN(B1),0)
。
3、选定标题行以及查询的数据行,拖动右下角的填充柄向下填充即可。
解读:
1、公式中的第一个参数查询值的引用方式为混合引用,$K2
,而不能是绝对引用($k$2)
或相对引用(K2),原因是列不变,行要变。
2、利用填充柄填充时根据需要可以隔行,也可以不隔行。
9、批量查询并求和(+Sum)。
目的:根据“姓名”查询全年的销售额。
方法:
在目标单元格中输入公式:=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函数求和。