vlookup精准匹配的公式(Excel中的VLOOKUP函数8大经典用法大全,一定要收藏哦)

wufei123 发布于 2024-09-19 阅读(3)

点击下面名片,关注我们,从此更多Excel秘籍分享给您!

Excel秘籍大全全网极具影响力excel精英培训、Excel杨公众号、Excel之家excelhome、Excel不加班,excel广场,秋叶Excel,为你提供Excel免费在线培训,Excel模板、教程,Excel函数公式大全,excel全套自学教程

534篇原创内容公众号Excel秘籍大全,前言在Excel中的公式非常多,要评选哪个是最应该掌握的,相信一定绕不过VLOOKUP函数说到VLOOKUP函数,只要是使用Excel的,相信对它一定不陌生,它的使用好处说多少都不为过,今天就重点给大家分享下VLOOKUP函数的一些常用的技巧。

首先我们先看下VLOOKUP函数的语法结构:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)lookup_value:查找值table_array:查找的区域col_index_num:返回数据在查找区域的第几列range_lookup:匹配模式(0为精确查找,1为模糊查找)

Excel秘籍大全,正文开始1普通查找根据姓名查询其姓名对应的销量,F2公式:=VLOOKUP(E2,$B$1:$C$15,2,0)

E2:查找的内容,B1:C15为查找的区域(注意需按F4锁定),返回的列数为2,0代表的精确查找。2屏蔽错误值错误值查找

=VLOOKUP(D2,A:B,2,0)VLOOKUP函数如果查找不到对应值会显示错误值#N/A,这个看起来很不美观这时可以在外面加个容错函数IFERROR,如果是2013版本那就更好,可以用IFNA函数,这个是专门处理#N/A这种错误值。

=IFERROR(VLOOKUP(D2,A:B,2,0),"")=IFNA(VLOOKUP(D2,A:B,2,0),"")函数语法:=IFERROR(表达式,错误值要显示的结果)说白了就是将错误值显示成你想要的结果,不是错误值就返回原来的值。

IFNA函数的作用也是一样,只是IFERROR函数是针对所有错误值,而IFNA函数只针对#N/A3逆向查找VLOOKUP函数是我们在查询数据时使用频率最高的一种函数,它本身是不支持逆向查询的,需要配合IF函数达到逆向查询的目的。

如图1所示,根据薪资查询对应的员工姓名,其公式为:=VLOOKUP(H2,IF({1,0},F1:F8,A1:A8),2,0)

图1IF函数搭配数组{1,0},当{1,0}为1时,IF函数返回第二参数F1:F8,当{1,0}为0时,IF函数返回第三参数A1:A8,这样就从空间上构建了F1:F8和A1:A8组成的顺向数据区域,IF函数的作用就是将原本逆向排布的数据区域进行顺向排布。

4按顺序返回多列值内容比如如下,我们想根据工号,分别输出姓名和销量,要如何快速实现呢?

我们可以在F2输入公式,然后向下向右填充即可=VLOOKUP($E2,$A$1:$C$15,COLUMN(B1),0)

此公式的关键在于$E2的混合引用(列绝对引用,行相对引用),以及COLUMN函数返回的需要的列数5多条件查询如果不想或不能改变数据源的格式,或者想向同事展示一下自己的技能,就不能使用第一种方法那就只能用第二种方法, Vlookup+if.。

思路就是:手工创建一个复合条件,将多个条件变成一个条件手工创建一个复合数据列,将月份和姓名合并成一个数据列;步骤1. 手工创建复合条件和第一种方法一样在H2输入=I2&J2 步骤2. 手工创建复合数据列。

我们可以利用if函数创建复合数据列公式为IF({1,0},B:B&C:C,F:F)B:B&C:C是将月份列和姓名列合并成一列F:F是查询结果列If({1,0})是将B:B&C:C和F:F和成两列数据第一列是复合数据列B:B&C:C。

第二列是查询结果列F:F步骤3. 将以上手工创建的复合数据IF({1,0},B:B&C:C,F:F),代入Vlookup.在K2输入=VLOOKUP(H2,IF({1,0},B:B&C:C,F:F),2,0)

并将光标移到公式编辑栏,按Ctrl+Shift+Enter键另外,步骤1也可以省略公式直接改为在K2输入=VLOOKUP(I2&J2,IF({1,0},B:B&C:C,F:F),2,0) ,并将光标移到公式编辑栏,按Ctrl+Shift+Enter键。

6一对多查询通过一个公式怎么快速引用所有的结果值,首先要思考解题的思路有了创建辅助列解答的经验,其实我们可以借鉴countif函数获取一个唯一值列表但countif函数输出的是一个结果,如何使一个结果转换成一个列表,则是问题的关键。

这里作者利用row函数来获取一个数字列表,然后结合indirect函数的单元格引用,来创建一个单元格列表,再利用countif函数计数时,将会得到一个数组结果到了这一步,其实已经能够获取不重复的唯一值列表。

但语言描述太笼统,下面直接上公式:=VLOOKUP($D$5&COLUMN(A1),IF({1,0},$B$2:$B$29&COUNTIF(INDIRECT("b2:b"&ROW($2:$29)),$D$5)

,$C$2:$C$29),2,0)

这个公式组合了if数组、countif、indirect和row函数,如上所讲,countif函数得到一个计数的数组结果时,然后直接与货号列进行合并,直接得到了与创建辅助列的结果相同的查询列表然后利用if数组在vlookup函数中的应用,进行查询列和返回列的设置。

从这一步来看,其实之前讲解的vlookup+if函数的两种用法,也是这个案例中的一个解题要点!最后给vlookup的第1参数查找值连接上column函数,进行横向的动态引用。

7Vlookup+Match函数公式如下:=VLOOKUP($H2,$A$2:$F$17,MATCH(I$1,$A$1:$F$1,0),0)

这个函数也是非常简单的一个搭配,如果没有看懂,可以看看视频中的详细解析!8Vlookup+通配符查找举个例子,左边是员工工资表数据,现在需要根据姓名的简称来快速匹配工资

如果我们直接使用VLOOKUP公式是查找不出结果的,因为查找值,和查找列数据不一样

这个时候,我们需要用到通配符*号,表示任意多个字符,我们用"*"&E2&"*"来查找,表示悟空前面和后面都可以连接任意的字符,都能进行匹配出来所以使用公式:=VLOOKUP("*"&E2&"*",A:C,3,0)

需要注意的是,如果我们的原数据中有多个满足的条件,那只会返回第1个结果,比如我们原始数据中有假悟空和孙悟空两个姓名,因为我们用的通配符,所以会找到第1个满足的条件,返回对应的结果。

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。