当前位置: 欣欣网 > 办公

Vlookup完美谢幕,介绍一下强大的继任者Xlookup函数

2024-06-29办公


XLOOKUP 这个函数本身是有一点难度,有6个参数,这固然使函数具备了强大功能,但也让一些初学者望而却步。今天就通过一些我们平时常见的案例,来和大家一起了解XLOOKUP的基本用法。

XLOOKUP函数的基本结构是:

=XLOOKUP(lookup_value,lookup_array,return_array,[if_not_found],[match_mode],[search_mode])

翻译成大白话就是:

=XLOOKUP(查找值,查找范围,结果范围,[找不到时显示的值],[匹配方式],[查询模式])

在这六个参数中,前三个是必须的,后面三个根据自己的需要选择使用。

示例1:常规匹配(对标LOOKUP)

按照姓名匹配入职日期,公式为 =XLOOKUP(G2,B:B,C:C)

这种用法和LOOKUP的使用结构非常像,但是有本质的区别。LOOKUP函数要求查找范围必须升序排列,而XLOOKUP则无此限制。就这个问题使用LOOKUP的结果如图所示:

再比如按姓名匹配员工ID,这在VLOOKUP的用法中叫反向查找,XLOOKUP还是一样的用法,公式为 =XLOOKUP(G2,B:B,A:A)

这是给大家介绍的第一种用法, XLOOKUP(查找值,查找范围,结果范围) 没有顺序要求,没有方向要求 ,这体验一下子就超过了VLOOKUP和LOOKUP。

示例2:一次查找多个值(数组用法)

如果XLOOKUP的第一参数选择一个单元格区域,可以对应得到多个结果。在Excel365中更容易看到这种数组自动扩展的效果。

在此提醒那些用VLOOKUP时,第一参数习惯选一列的朋友,如果你这样用XLOOKUP的话,电脑能卡死!

XLOOKUP的这种特性非常重要,比如要统计某几个人的岗位津贴总和,就可以直接用公式 =SUM(XLOOKUP(F2:F5,A:A,D:D)) 得到结果,这个公式非365用户需要按 Ctrl+Shift+Enter 三键。

示例3:第四参数的妙用

来看这个例子,按照姓名找对应的成绩,当出现数据源中不存在的姓名是,结果为#N/A。

通常遇到这种情况我们的第一反应是外面嵌套一个IFERROR函数,实际上XLOOKUP的第四参数就可以取代IFERROR函数了。

公式修改为 =XLOOKUP(D2,A:A,B:B,"姓名有误")

对于这个参数,我想大家都很容易掌握,毕竟使用一个参数就能少嵌套一个函数,这是非常好的体验。

示例4:多样的匹配方式

XLOOKUP提供了四种匹配方式。

从函数自带的提示不难看出四种匹配方式的意思。0或者省略是精确匹配,之前的例子都是这种方式。-1是精确匹配或下一个较小的项,例如按照成绩匹配等级,可以使用公式 =XLOOKUP(B2,F:F,G:G,"",-1)

这个公式的意思是在F列中找52,找不到的时候就找小于52的一个值,也就是0,最后得到的结果就是0所对应的等级。如果就这样看的话,似乎用LOOKUP更简单。

但是LOOKUP要求查找范围升序,假如数据变成这样,结果就全错了。

可以看出XLOOKUP函数完全不受顺序的影响,LOOKUP则多了一些限制。

如果匹配方式用1的话则正好相反,找不到要找的值时,则会找较大的一个值。例如公式 =XLOOKUP(B2,F:F,G:G,"",1) 就会得到这样的结果。

从这个例子可以看出,在做区间匹配时,-1对应下限值,1对应上限值。

示例5:使用通配符

有时候在匹配数据时会用到通配符,例如根据单位检查匹配对应的业务人员,公式为 =XLOOKUP("*"&D2&"*",A:A,B:B,"无对应人员",2)

XLOOKUP函数默认不支持通配符的,如果要用通配符,第五参数必须填2,这也是XLOOKUP函数的一个特殊之处。

示例6:多种查询方式

查询方式和匹配方式是不一样的概念,XLOOKUP提供了四种查询方式:

查询方式1是从上向下,默认的也是这种方式。查询方式-1是从下向上,如果要查找的值是唯一的,那么这两种方式得到的结果是一样的,但是当要查找的值有多个的时,两种方式的区别就出现了。

例如公式 =XLOOKUP(E2,B:B,C:C,"",0,1) 得到的就是每个人的首日销量。

而公式 =XLOOKUP(E2,B:B,C:C,"",0,-1) 得到的则是每个人的末日销量。

这两种查询方式都是遍历法原理,只是查询方向的区别,而查询方式2和-2,则用的是二分法原理,区别就是二分法的时候默认升序还是降序。

示例7:横向匹配和多列匹配

横向查找之前多是用HLOOKUP函数来解决,现在也可以用XLOOKUP,只要查找范围和结果范围是横向的就行。例如公式 =XLOOKUP(B6,1:1,2:2) 就是横向查找的结果。

在没有XLOOKUP的时候,我们使用VLOOKUP做多列匹配往往要用到COLUMN函数,现在就方便了,只要将结果区域选择多列即可,注意这种用法只能对连续的多列匹配适用。

以上就是XLOOKUP函数的基本用法,功能确实很多也很强大,希望有条件的伙伴能够赶紧练起来,在你使用的过程中有什么心得也欢迎留言和大家分享。

最后是给大家的福利课程, 免费学习 Excel函数、AI人工智能等等课程,大家扫码领取!