一、VLOOKUP的用法
主要就是用来做数据的查询匹配。
XLOOKUP的用法也是完全一样的,可以看做是LOOKUP家族的合体版。
LOOKUP家族:VLOOKUP、HLOOKUP、LOOKUP、INDEX、MATCH。
二、XLOOKUP函数语法
=XLOOKUP(要查找的值,查找的区域,返回的区域)
三、XLOOKUP函数的实际用法
1、普通查找
现在要根据「姓名」,查询每个人的「在职状态」。
只需在J4单元格输入:
=XLOOKUP(I4,C4:C19,E4:E19)
小解析:
=XLOOKUP(I4,C4:C19,E4:E19)
即要查找的值为I4,查找区域为C4:C19,返回的区域为E4:E19。
2、反向查找
这里要根据「姓名」查询「部门」。
只需在J4单元格输入:
=XLOOKUP(I4,C4:C19,B4:B19)
但要注意,查找I5单元格的「秋叶」时,因为「秋叶」在左边数据表中对应了两个重名的人,如下图所示。
因此公式要相应地调整,如果我想查找最后一个「秋叶」的部门「客服部」,给XLOOKUP加个参数「0,-1」就可以了。
小解析:
0表示:匹配的模式,0表示精确匹配(默认)。
-1表示:查找的模式,1代表从上往下查找,-1代表从下往上查找。所以填写-1就是查找最后一条记录。
因此在J5单元格中输入:
=XLOOKUP(I5,C5:C20,B5:B20,0,-1)
3、一对多查找
现在要根据姓名,把员工的全部信息都查询出来,共计4列。
在J5单元格中输入:
=XLOOKUP(I4,C3:C19,D3:G19)
一个公式就搞定,奥秘就在参数3「D3:G19」上。
参数3,选择返回列的时候,把所有需要返回的列都选上,XLOOKUP会根据返回列的列数,自动填充相邻的数据列。
函数的参数如下,一共有5个参数,看起来比VLOOKUP复杂,但是没关系,每个参数根据提示我们就知道如何使用了。
5个参数的意思如下,其中第1至第3个参数和LOOKUP非常相似,分别是查找值、查找的范围和返回的范围,第4个参数表示的是匹配模式(精确或者近似等等),第5个参数是搜索模式(VLOOKUP默认是从上到下)。
通过参数的提示我们可以看到第4个参数匹配模式有如下几种。有常见的精确匹配和通配符匹配,还有精确匹配和下一个较小的项,以及精确匹配和下一个较大的项。具体怎么用,我们会在下面的例子中讲解。
而第5个参数查找模式也有4种选项。除了常规的从第一项到最后一项,也可以从最后一项搜索,另外还可以按照二进制文件的降序或者升速搜索,当然这个二进制工作中用的不多。
下面我们就通过十个案例来讲解XLOOKUP的各种用法,以及与传统的几个查找函数的对比。
一、常规纵向查找
常规的纵向查找 用XLOOKUP第4参数选择精确查找,第5参数选择从第一项到最后一项。
当然这里根据上面的参数说明也可以在第4参数和第5参数选择其他参数。
这里的用法很基础,与传统的VLOOKUP相比都很容易写出来。
当然也可以用其他函数写,基础情况就不一一列出了。
二、横向精确查找
横向精确查找使用XLOOKUP没有一点困难,因为在这个函数里,并没有纵向横向的区别,并不要求查找区域一定要横向或者纵向。
但是如果用传统的方法,VLOOKUP就不好使用了,可以用HLOOKUP或者INDEX+MATCH。当然写起来也并不困难。
三、反向精确匹配
因为XLOOKUP的查找区域和返回区域是两个参数,所以对于反向的匹配并没有任何的障碍。
但是如果要使用VLOOKUP,构造起来就有点复杂了,但是INDEX+MATCH还是相对要简单一些。
四、近似匹配-包含最小值
对于类似大于等于60分为及格这种情况,区间的最小值(60分)是算在及格的,这样可以在第4参数选择精确匹配或者下一个较小的项。
这种情况和VLOOKUP的近似匹配是一致的,所以可以使用VLOOKUP的近似匹配。另外在MATCH函数的第三参数也可以选择这种近似匹配。
五、近似匹配-包含最大值
对于超过60分不超过80分为中的情况,这里区间最小值(60分)不含在区间,最大值(80分)包含在区间。这样可以在第4参数选择精确匹配或下一个较大的项。
这个场景如果使用VLOOKUP就麻烦了,需要改变数据结构,而且这里我把分数改成了小数,所以构造还有点麻烦。当然使用INDEX+MATCH比较简单一些,但是分数区间顺序需要修改一下。
六、模糊匹配
模糊匹配我们需要使用通配符(*、?、~)来搭配,这一点在XLOOKUP里也是一样的,当然模糊匹配我们需要在第4参数选择通配符匹配。
通配符匹配用VLOOKUP也很简单,当然也可以INDEX+MATCH,这里因为比较简单也不一一列举了。
七、多条件匹配
多条件匹配在XLOOKUP里只需要将多个条件组合起来就OK了。
而这种情况使用VLOOKUP,但是构造就有点麻烦了,当然INDEX+MATCH比较容易理解。
八、查找多个值
查找多个值在XLOOKUP里显得异常简单,只需要在第一参数选择多个值就好了。当然针对查找多个值返回结果也是多个,所以一般会用聚合函数处理,比如这里的求平均。
而如果想使用VLOOKUP,难度突然上了几个档次。
九、返回多列结果
在XLOOKUP只需要在返回区域里选择多列就好了,同样这里是多个结果,需要聚合一下,比如求平均。
当然用VLOOKUP也可以实现,就是理解起来难度稍微大一点。
十、匹配最后一个
针对有多个结果,有时候往往需要匹配最近的一条数据,比如最后一次考试的分数。这里只需要将第5参数选择从最后一项到第一项进行搜索。
用VLOOKUP来匹配符合要求的最后一个就比较复杂了(有兴趣的可以试一试),当然我们可以使用LOOKUP来构造数据,也还是比较轻松就实现了。
以上的情况都是一些工作中比较常用的情景,我们完全可以使用XLOOKUP一个函数轻松搞定,对比其他函数,XLOOKUP确实是太强大了。
当然,以上的用法还是比较基础的,如果碰到更复杂的情况 我们也可以试试XLOOKUP的使用,而这些,有待于各位读者去挖掘了。
XLOOKUP的出现,可谓是Excel的一个大招,但是目前比较可惜的是,该函数只在365最新更新的版本里才有,如果你是OFFICE365版本,可以查看一下 是不是不低于我下面的版本号。
微软宣布为Excel用户提供XLOOKUP函数,解决了大多数VLOOKUP函数问题
Excel更新了超级查找函数XLOOKUP函数
XLOOKUP函数与VLOOKUP函数用法比较
Xlookup函数来了,比Vlookup函数好用10倍
