添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首页
学习
活动
专区
工具
TVP
发布

XLOOKUP函数比VLOOKUP好用在什么地方?两者有什么区别

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函数早已深入人心。

  • 发表于:
  • 原文链接 https://kuaibao.qq.com/s/20221130A00WXJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据 《腾讯内容开放平台服务协议》 转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云 开发者 公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券