大方的长颈鹿 · 解决多个ajax页面请求,页面loading ...· 8 月前 · |
酒量小的企鹅 · vue之Error: Unknown ...· 8 月前 · |
不拘小节的鸵鸟 · electron打包make后的exe模块运 ...· 1 年前 · |
爱吹牛的柑橘 · WPF-集合通知更改《八》_wpf ...· 1 年前 · |
聪明伶俐的双杠 · python expected type ...· 1 年前 · |
XLOOKUP最先出现在Office365上面,随后Excel2021版本也更新了这个函数,功能很强大,以至于很多人表示分分钟秒杀VLOOKUP函数。
今天我们就来对比下XLOOKUP函数与VLOOKUP函数的异同点与优劣势。
表达式
XLOOKUP函数一共有 6个参数 。分别是 查找值、查找区域、返回区域、容错值、匹配类型和搜索模式 ,前3个为常用参数,后3个参数可省略,但每个都有其独特的用法,下面一一介绍。
VLOOKUP函数只有4个参数,从函数表达式上看后者要简洁一点。
常规精准匹配
下图中匹配员工的年龄字段,F2单元格输入公式:
E2是查找值,A列为查找范围,F列是返回值所在列。
可以看到XLOOKUP函数的查找区域和返回区域可以分开输入,不像VLOOKUP,返回区域必须在查找区域的后方,所以在逆向查找上,XLOOKUP函数不受丝毫影响。
逆向匹配
下图中,学号字段在姓名字段前面,如果是VLOOKUP函数,需要根据IF构建中间数组,而XLOOKUP可以直接输入。
规避错误值
XLOOKUP函数的 参数4 ——容错值,在省略的情况下,函数在未匹配到数据的时候同VLOOKUP一样返回#N/A,可以输入参数4,直接规避错误值。E2输入公式:
在查找不到的时候,函数会直接返回“无此人”。
而VLOOKUP若要规避错误值,只能结合IFNA或者IFERROR函数实现。
多个字段匹配顺序一致
下图中,根据数据源,匹配员工的性别、年龄和所在城市字段,这些字段与数据源字段顺序保持一致。直接在G2单元格输入公式:
可以看到 返回结果会自动填充到后面 两列,这里参数3返回区域我们框选的是B:D列,也就是3列数据,XLOOKUP亦会返回多列数据,并往后自动填充。
VLOOKUP函数要实现多字段的匹配,需要结合COLUMN函数使用,同时需要注意单元格的相对引用与绝对引用。
多个字段匹配顺序不一致
如果多字段顺序不一样,需要嵌套一个XLOOKUP函数,动态变更返回区域。G2单元格输入公式:
VLOOKUP函数实现此功能需要搭配MATCH函数。
近似匹配
XLOOKUP的参数5默认为0,也就是完全匹配,它还存在其它3个可选值,分别是1、-1和2,解释如下图所示,其中为 -1 时,相当于VLOOKUP函数的近似匹配。
下图中,根据左边匹配表,匹配评级字段,可以看到XLOOKUP函数返回了正确的结果,而VLOOKUP函数85/88分评级划分出错,这是因为匹配数据源B列未进行升序处理。
我们知道VLOOKUP函数的近似匹配,需要对 数据源进行升序处理 ,否则无法返回正确的结果。
而XLOOKUP函数却突破了这个限制,不需要对数据源进行排序。
同理,当参数5等于1时,在函数未匹配到数值时,会返回较大的项。
通配符匹配
XLOOKUP的参数5等于2时,函数才会启动通配符匹配功能,否则,XLOOKUP是不支持通匹配(结果返回#N/A)。
多条件匹配
下图中,利用月份+姓名两个字段进行匹配,G2单元格输入公式:
XLOOKUP函数支持数组运算,参数2直接用“&”将两列链接。
VLOOKUP函数则需要搭配IF函数实现此功能。
横向匹配
匹配一行数据,F2输入公式:
在这里XLOOKUP函数实现了HLOOKUP函数的功能,横向匹配。
参数6搜索模式
参数4可以规避错误值、参数5指定匹配模式,最后一个 参数6决定搜索模式 。
一共有4个可选值,默认(省略)状态时为1,表示从第一项开始搜索,-1时从后往前搜索,2与-2为二分法搜索,需要对数据源进行排序。
举个例子,下图中"张飞"出现了2次,XLOOKUP函数参数6等于 -1 时,函数会 从后往前查找 ,所以最先查找到的最底部的数据,这种用法适用于查找最后一次出现的记录。
等于 2或-2 时,采用二分法查找,这种算法的时间复杂度为logN,在数据量比较大的情况下,查找速度有明显优势。
劣势的地方
函数向下不兼容,是XLOOKUP目前最大的劣势。
目前XLOOKUP函数仅存在于OFFICE2021和365版本(WPS最新版也支持),2019及以下版本都是没有这个函数的。
意味着高版本向低版本传输文件时,表格会出现错误(莫要带公式、粘贴为数值)。
整体来看XLOOKUP函数相较于VLOOKUP函数操作步骤更加简洁,实现相同的效果,函数更加简短。
但版本不兼容以及用户操作习惯的问题,多数人还是更加倾向于VLOOKUP函数,毕竟针对日常的数据匹配,VLOOKUP函数早已深入人心。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券