本帖最后由 祝洪忠- 于 2017-3-11 10:16 编辑
小伙伴们好啊,今天和大家来说说VLOOKUP的那些事儿,深入了解一下VLOOKUP函数的各种用法,看看这位大众情人还藏着多少不为人知的秘密。 函数的语法为: VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找) 第一参数是要在表格或区域的第一列中查询的值。 第二参数是需要查询的单元格区域,这个区域中的首列必须要包含查询值,否则公式将返回错误值。如果查询区域中包含多个符合条件的查询值,VLOOKUP函数只能返回第一个查找到的结果。 第三参数用于指定返回查询区域中第几列的值,该参数如果超出待查询区域的总列数,VLOOKUP函数将返回错误值#REF!,如果小于1返回错误值#VALUE!。 第四参数决定函数的查找方式,如果为0或FASLE,用精确匹配方式,而且支持无序查找;如果为TRUE或被省略,则使用近似匹配方式,同时要求查询区域的首列按升序排序。
1、常规查询
如图,需要从B~E的数据表中,根据H3单元格的姓名查询对应的职务。 公式为:=VLOOKUP(H3,C:E,3,0) 提示:
2、带通配符的查询 如图,需要从B~E的数据表中,根据H3单元格的姓氏,查询对应的姓名和部门。 公式为:=VLOOKUP($H3&"*",$C:$E,COLUMN(A1),0) 提示: 通配符“*”表示任意多个字符,VLOOKUP函数第一参数使用$H3&"*",即在C列中查询以H2单元格内容开头的内容,并返回对应列的信息。
3、近似查询 如图,需要根据H~I的对照表,判断D列成绩对应的评议结果。 公式为:=VLOOKUP(D2,H:I,2) 提示:
4、逆向查询 如图,需要从B~E的数据表中,根据H3单元格的部门,查询对应的姓名。 公式为:=VLOOKUP(H3,CHOOSE({1,2},D2:D11,C2:C11),2,0) 提示: VLOOKUP函数的查询值要求必须位于查询区域中的首列,如果被查找值不在数据表的首列时,需要先将目标数据进行特殊的转换。 CHOOSE函数第一参数使用常量数组{1,2},将查询值所在的D2:D11和返回值所在的C2:C11整合成一个新的两列多行的内存数组。 生成的内存数组符合VLOOKUP函数的查询值必须处于数据区域中首列的要求。VLOOKUP函数以职务做查询条件,在内存数组中查询并返回对应的姓名信息,从而实现了逆向查询的目的。
5、多条件查询 如图,需要从B~E的数据表中,根据H3单元格的部门和I3单元格的职务,查询对应的姓名。 J3单元格公式为:=VLOOKUP(H3&I3,IF({1,0},D2:D11&E2:E11,C2:C11),2,) 提示: 使用连接符“&”将部门和职务合并成新的字符串,以此作为VLOOKUP函数的查询条件。 IF部分,先将D列的部门和E列的职务进行连接,再使用IF({1,0}的方式,构造出部门职务在前、姓名在后的内存数组。 VLOOKUP函数在IF函数构造出的内存数组首列中查询部门职务字符串的位置,返回对应的姓名。 数组公式,不要忘了按<Ctrl+Shift+Enter>组合键。
6、一对多查询 如图,需要从B~E的数据表中,根据H3单元格的职务,查询对应的多个姓名。 首先在A2单元格输入以下公式,向下复制: =(E2=$H$3)+A1
然后在I3单元格输入以下公式,向下复制: =IFERROR(VLOOKUP(ROW(A1),A:C,3,0),"") 提示:
7、按指定次数重复数据 如图,需要根据C列指定的次数,重复显示B列的内容。
首先在A2单元格输入以下公式,向下复制: =A1+C2
然后在E2单元格输入以下公式,向下复制: =IFERROR(VLOOKUP(ROW(A1),A:B,2,0),E3)&""
|