超级推荐xlookup函数(三)
连续三篇写这个函数,因为它实在太方便了,而且这里介绍的都是简单用法,没有涉及复杂的嵌套,按着教程来就可以操作成功(所需软件 WPS最新版或office 365)。这一篇介绍两个用途:返回多列值 与 二分查询法。
1
返回多列值
还是这张销售表,根据编号查询对应的多列信息,vlookup和xlookup都能完成。
栗子vlookup普通写法需要每一列都写一次修改参数,或者使用vlookup+column嵌套的形式,这里说下它怎么嵌套的。
vlookup+column嵌套公式写法:
vlookup+column---H2单元格输入
=VLOOKUP($G2,$A$2:$E$12,COLUMN(B2),0) 第一个参数锁定查找的目标的列,公式需要向后拖动。第三个参数原本是返回的列序号,由于使用了函数嵌套,所以省去了每一列都要修改序号的问题,column就是返回列序号column(B2)返回的是2,往右拖动会一次范围3-5,注意它的返回值之和列序号有关就是A-Z,和行号无关,A1-A10返回的都是1,B1-B10返回的都是2。
xlookup写法就超级简单了,它可以直接返回区域,和返回单列的语法一样
xlookup返回区域公式写法:
XLOOKUP返回区域---H2单元格输入
=XLOOKUP(G2,$A$2:$A$12,$B$2:$E$12)
这里需要注意的是:返回区域的用法只适合于office 365。WPS返回区域可能会报错,office 365在2020年已更名为Microsoft 365,只能一年一定阅(公司不报销的,自己可以合买,一个账号可以设置5个共享账号)。
2
二分查询法
这个功能主要依赖于xlookup的第六个参数
=XLOOKUP(查找值,查找范围,结果范围,[容错值],[匹配方式],[查询模式])
查询模式中有四个选项,前两个是从前往后或者从后往前遍历查询,后面两个则是二进制搜索
这个用法的功能就一个:提升查询效率。看到这不知道有没有人会不屑一笑,用个公式还要啥查询效率。Excel比不了数据库千万及上亿级的体量,比起一条SQL跑几小时才出来的结果,Excel的这点时间完全可以忽略。但效率终究会影响体验,假如你点个鼠标 它两秒后才反应 ,虽然只是短短两秒你照样会砸鼠标。
二分查询公式写法:
XLOOKUP---H2单元格输入
=XLOOKUP(G2,$B$2:$B$12,$D$2:$D$12,0,0,2)
最后一个参数,使用二分查询法会对目标区域有个要求必须升序或降序。它能提升效率的原理简单说一下,普通查询是从上往下或从下往上挨个查找,二分查询可以认为它从查询区域的中间开始查询,比如上面例子中的张小凡,用普通查询他前面需要查11个人,二分查询他前面只需要查询5个人就到了。