excel表格_excel函数公式大全_execl从入门到精通
查找函数XLOOKUP的玩法(仅限Office365)2024-04-11 23:42:38
这个函数刚出来的时候被炒得有点火,说啥的都有,一直想写一下关于它的玩法,毕竟拖的时间太长了。注意的是:此函数只在Office365版本中有。
一、基本用法:
跟VLookup函数非常类似,也就是说上手非常容易。不用苦于重新记忆一些参数什么的。直接先看我们最熟悉的案例:
原始数据:
接下来就是根据员工编号来查找对应的结果,首先是直接查询:
公式直接就是:
=XLOOKUP(H2,$A$2:$A$20,$B$2:$B$20)
第一个参数是查找的对象,第二个是对象所在的列,第三个是结果列,注意的是第二个参数和第三个参数中的数据数量是相同的。
通俗的理解就是:从A2到A20单元格区域中去找A0230003对应的B2到B20单元格区域中的姓名。
上述直接就是精确查找了。
二、反向查询
之前在网易云课堂--Excel从起步到起飞课程中给大家说过VLOOKUP的反向查询需要借助IF函数来创建虚拟数组去实现,XLOOKUP就不用这么麻烦了。
公式是:
=XLOOKUP(I6,$B$2:$B$20,$A$2:$A$20)
这里不用多解释吧,反正把结果列放在最后就对了。
三、批量查询
以前用VLOOKUP函数查询其他列的时候,需要借助COLUMN函数进行其他单元格的公式填充,XLOOKUP函数自带数组功能。
直接在查询的姓名单元格中输入:
=XLOOKUP(H10,$A$2:$A$20,$B$2:$E$20)
后面的结果在Office365版本的加持下直接就全部出来了。
这里特别提示一下的是:
跟上述两个不同的地方,第三个参数中的列不是一个单列,而是一个大的范围了。
四、查无此人
之前用VLOOKUP函数无法找到结果的时候,为避免出现错误值的情况,经常会与IFERROR进行联合使用,对于XLOOKUP函数这一步就省了。
公式是:
=XLOOKUP(H14,$A$2:$A$20,$B$2:$B$20,"无此编号")
直接在后面再跟一个参数,这个参数是可写可不写的。对于XLOOKUP函数来说,前三个参数必不可少,后面的就视情况而添加。
五、多条件查询
VLOOKUP进行多条件查询的时候,同样要结合IF函数创建虚拟数组,XLOOKUP同样可以不要这一步来实现。
案例:
要查询的结果:
公式是:
=XLOOKUP(G25&H25&I25,A24:A26&B24:B26&C24:C26,D24:D26)
直接用连接符“&”就搞定了。
六、模糊查询
XLOOKUP肯定也少不了模糊查询,毕竟VLOOKUP有的它都有,没有的它也有。
案例:
公式是:
=XLOOKUP(D2,$G$2:$G$6,$H$2:$H$6,0,-1)
这里的-1是什么意思呢?在写函数的时候,系统会自动给出提示:
-1代表的是精确匹配或下一个较小的项,是什么意思呢?拿分数69来举例说一下吧。69的考核结果应该是及格,数据表示的话是在60那个挡里面,在我们引用的数据源中没有69这个分数,必须是模糊查询,那么较小的项就是60,这里参数换成1,表示下一个较大的项,那么对应的就是70了。
这里还有个跟Lookup和Vlookup不一样的地方是,LOOKUP和VLOOKUP函数在进行模糊查询的时候需要数据源按照升序排列。
XLOOKUP函数则不需要。如:
公式为:
=XLOOKUP(J9,$J$2:$J$6,$K$2:$K$6,0,-1)
得到的依然是正确的结果。
最后,再举个例子说明一下我对上述中下一个较小的项和下一个较大的项的理解吧。
解释一下案例:
授课时长的参照标准是右边的表格,大于8小时的对应金额仍然是1000。
对应到左边的授课时长,需要计算对应的金额,公式就是:
=XLOOKUP(A20,$E$20:$E$24,$F$20:$F$24,0,1)
所以当授课时长是3个小时的时候,满足条件的应该是2<X<=4这个挡位,但是3在时长对应列表中找不到,通过参数1寻找比3大的下一项,那么结果就是4,对应的金额就是600了。
但是最后一个9这里我特意标注了红色,是因为9在时长对应列表中也找不到,如果是1的话,要找的结果应该是比9大的数字,但是查找对应的数据源中是没有的,这里改成-1,寻找的就是最接近9并且比9小的数字了,也就是8,对应的金额就是1000了。
至于XLOOKUP函数还可以跟其他函数进行套用等等之类的,在以后遇到了再来写。
标签: excel找不到xlookup函数