美文网首页生产力office
XLOOKUP到底有多厉害,WPS也有了哦!

XLOOKUP到底有多厉害,WPS也有了哦!

作者: 查查老师讲Excel | 来源:发表于2021-10-27 15:06 被阅读0次

    今天关注的WPS办公助手发布了一条信息:WPS正式支持XLOOKUP函数了,虽然这个函数在Microsoft 365中已经有了,不过也是众多使用WPS小伙伴的福音哦。

    这个函数怎么用,其实WPS的中文提示已经给出了很好的解释,我就再带着大家一起熟悉和对比一下之前的方法吧。(案例换汤不换药,反正都是虚构的)

    1、基本查找方法

    案例:根据唯一工号来查找对应姓名

    之前这种肯定是首选VLOOKUP,这里就不赘述了,主要看XLOOKUP的用法,在G2单元格中输入:

    =XLOOKUP(F2,A2:A11,B2:B11)

    解释:

    第一个参数对应的是要查找的数据,即工号;

    第二个参数对应的是查找的数据所在的范围,即A2:A11;

    第三个参数对应的就是最后要得到的结果所在的范围,即B2:B11;

    这里要注意的就是数组大小,也就是范围要相等,都是从第2到第11。

    当然了,XLOOKUP函数有6个参数,这三个参数是必须要的,后面的三个是可以省略的。

    2、逆向查询

    案例:根据姓名来查工号

    之前我们用VLOOKUP函数的时候,我们需要借助IF函数来创建虚拟数组,实现逆向查询,G7单元格处的公式为:

    =VLOOKUP(F7,IF({1,0},B2:B11,A2:A11),2,0)

    很多小伙伴对这个做法不是很理解,那我们看看XLOOKUP函数,在G6单元格处输入:

    =XLOOKUP(F6,B2:B11,A2:A11)

    根据刚才第一个的案例,是不是很容易就理解了。先范围,后结果。

    3、一次性对应查询

    案例:根据工号查找所有对应内容

    之前用VLOOKUP函数的时候,我们碰见这种,需要借助COLUMN函数来实现快速查找,看XLOOKUP的快速操作:直接选中G2到I2三个单元格,然后直接用键盘输入公式:

    =XLOOKUP(F2,A2:A11,B2:D11)

    公式输入完成之后,WPS需要用到Ctrl+Shift+Enter三键结束,Microsoft 365直接按下Enter就搞定了。

    当然这里的前提是要查找的内容与数据源中的内容顺序是一致的。

    4、多条件查询

    案例:根据给出的两个对应条件查找结果

    对于VLOOKUP函数来说,虽然也可以,不过同样要用到if函数来进行虚拟数组的构建,在H3单元格中输入:

    =VLOOKUP(F3&G3,IF({1,0},A2:A11&B2:B11,C2:C11),2,0)

    而且数组公式一旦用多了,很吃电脑内存,会造成速度下载从而卡顿,看XLOOKUP函数快速实现,在H2单元格中输入:

    =XLOOKUP(F2&G2,A2:A11&B2:B11,C2:C11)

    是不是就很容易操作和理解?

    5、找不到的返回结果

    案例:找不到人

    之前遇见这种找不到的情况,需要给出一个反馈的时候,往往都是用IFERROR函数和VLOOKUP嵌套使用才可以,因为VLOOKUP函数找不到得到的结果是#N/A,这里XLOOKUP函数直接给出了一个找不到结果后返回的参数,G2单元格中输入公式:

    =XLOOKUP(F2,B2:B11,C2:C11,"找不到")

    这个就是XLOOKUP的第四个参数的含义,找不到的情况下返回什么,是不是想得很周到。

    6、查找最后一次出现的情况

    案例:员工最后一次的打卡时间

    对于这种题型,原来可以用LOOKUP的固定公式搞定,比如在E3单元格中输入公式:

    =LOOKUP(1,0/(D3=B2:B11),A2:A11)

    这里掌握LOOKUP函数还要了解一下什么是二分法。对于XLOOKUP就非常简单了,它同样利用它的第6个参数可以搞定,在E2单元格中输入:

    =XLOOKUP(D2,B2:B11,A2:A11,,,-1)

    它的第6个参数是搜索模式,你函数输到这里的时候会自动有提示,我们要查找最后一个,意味着数据就要从下往上进行查找,所以要用-1。

    7、区间模糊匹配

    案例:根据分数匹配对应的等级

    之前这种区间段的模糊查找,给大家分享过LOOKUP和VLOOKUP的做法,但是,他们需要遵循一个非常重要的原则,就是查找的数据源需要按升序进行排列,否则就得不到正确的结果,也就是上方图片中红色字体范围中的排列方式,所以如果要找第一个55对应的等级,公式分别为:

    =VLOOKUP(D2,$J$8:$L$11,3,TRUE)

    =LOOKUP(D2,$J$8:$L$11)

    但放在XLOOKUP中完全不用考虑,它的第五个参数,也就是匹配模式已经帮我们想好了,对于第一种倒序排列的,公式为:

    =XLOOKUP(D2,$J$2:$J$5,$L$2:$L$5,,-1)

    对于第二种升序排列的公式为:

    =XLOOKUP(D2,$J$8:$J$11,$L$8:$L$11,,-1)

    这第五个参数,你公式写到那里同样会有提示,-1即是返回较小值,比如55,不满60,就找比60小的,也就是得到0对应的等级。而且XLOOKUP函数这里的查找范围不用考虑升序降序的问题,比如你将标准中的内容改为:

    你试试看看是不是仍然会得到正确的结果呢?

    8、通配符查找

    案例:根据姓氏查找

    这里只举一个简单的案例,假设我们要找姓“尚”的,或者是姓“尚”是三个字的,同样可以用到XLOOKUP函数中的匹配模式,比如G2单元格中的公式为:

    =XLOOKUP(F2&"*",B2:B11,A2:A11,,2)

    G3单元格中的公式为:

    =XLOOKUP("尚??",B2:B11,A2:A11,,2)

    这里的2必不可少,这是告诉XLOOKUP函数,公式中使用了通配符。

    9、交叉查找

    案例:二维表数据的交叉查找

    这种题大家肯定不陌生,而且以前也给大家介绍了一个非常好用的经典函数嵌套,及INDEX+MATCH组合函数来查找,来看看XLOOKUP是怎么写的?结果处的公式是:

    =XLOOKUP(H2,A2:A6,XLOOKUP(I2,B1:F1,B2:F6))

    第一个XLOOKUP(I2,B1:F1,B2:F6)得到的结果是个数组,也就是得到了整个3月份下的所有数值,如:

    XLOOKUP结果是会溢出的,也就是得到了一组数据,然后再跟前面的XLOOKUP进行联合,就相当于是在上面这个数据中查找一个对应的结果,所以你可以将其看成是这样的组合查找方式:

    既然出了这么好的函数公式,大家一定要与时俱进,会用好的公式或工具一定能让你事半功倍。

    下期见吧,加油!

    相关文章

      网友评论

        本文标题:XLOOKUP到底有多厉害,WPS也有了哦!

        本文链接:https://www.haomeiwen.com/subject/npkpaltx.html