今天关注的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进行联合,就相当于是在上面这个数据中查找一个对应的结果,所以你可以将其看成是这样的组合查找方式:
既然出了这么好的函数公式,大家一定要与时俱进,会用好的公式或工具一定能让你事半功倍。
下期见吧,加油!