当前位置:首页 > 办公设计 > Office教程 > XLOOKUP函数经典用法总结

XLOOKUP函数经典用法总结

3年前 (2023-12-16)Office教程1690

HI,大家好,我是星光。

今天给大家分享的Excel函数是XLOOKUP,例先说一下它的基本语法。它有六个参数,成功超越大哥大OFFSET,成为参数最多的函数之一。

=XLOOKUP(查找值,查找范围,结果范围,[容错值],[匹配方式],[查询模式])

参数看起来很多,不过只有前三个是必须的,后面均可省略。

下面我们举12个例子+两道练习题,由易入难、从简到繁、从入门到进阶,让大家对XLOOKUP的作用和运算方式有一个全面的了解。

……

 

1)单条件查询

如下图所示,B:D列是数据明细,需要根据F列姓名查询相关电话号码。

公式如下:

G2输入公式▼

复制
=XLOOKUP(F2,B:B,D:D)

F2是查找值,B列是查找范围,D列是结果范围,公式的意思也就是在B列查找F2,找到后返回D列对应的结果。

 

2)容错查询

如下图所示,B:D列是数据明细,需要根据F列姓名查询相关电话号码,但和上一个案例所不同的是,如果查无结果,需要返回指定值:查无结果。

公式如下:

G2输入公式▼

复制
=XLOOKUP(F2,B:B,D:D,"查无")

XLOOKUP的第4参数可以指定容错值,当查无结果时避免返回错误值#N/A,省去了外围再嵌套一个IFERROR函数。

 

3)模糊条件查询

如下图所示,A:B列是数据明细,需要根据F列姓名的简称查询相关特长。这是一个模糊查询的示例,比如查找星光,对应的结果为看见星光。

公式如下:

E2输入公式▼

复制
=XLOOKUP("*"&D2&"*",A:A,B:B,"查无",2)

XLOOKUP的查找值是”*”&D2&”*”,*是通配符,可以代替0到多个字符串,”*”&D2&”*”也就指包含D2的字符串。

但和VLOOKUP所不同的是,XLOOKUP默认不支持通配符匹配,只有将第5参数设置为常数2时,才支持通配符匹配。

XLOOKUP的第5参数可以指定匹配方式,包含了精确匹配、区间匹配以及通配符匹配等。

 

4)区间查询

如下图所示,F:G列是评分标准,60以下不及格,80以下及格等,需要根据该评分标准,对C列的成绩计算评级。

公式如下:

D2输入公式▼

复制
=XLOOKUP(C2,$F$2:$F$5,$G$2:$G$5,"",-1)

XLOOKUP第5参数为-1,指定了匹配方式是’精确匹配或下一个较小的项’,比如查找84,找不到精确匹配,则寻找比它小的项,也就是80,然后取其对应结果:’良好’。

这儿的XLOOKUP等同于LOOKUP函数▼

=LOOKUP(C2,F:G)

但和LOOKUP所不同的是,XLOOKUP函数不要求查找区域首列数据升序排列,即便把F:G列的数据打乱了,也不妨碍它寻找’精确匹配或下一个较小的项’的计算规则▼

除此之外,XLOOKUP还支持’精确匹配或下一个较大的项’的计算规则▼

复制
=XLOOKUP(C2,$F$2:$F$5,$G$2:$G$5,"",1)

第5参数指定值为1,比如查找80,找不到精确匹配,则寻找比它大的项,也就是90。

 

5)查询符合条件的最后一个结果

如下图所示,A:C列是数据明细,其中日期字段升序排列。需要根据E列姓名查询相关销售额,但和前面案例所不同的是,它需要查找每个人最后一次销售额,也就是符合条件的最后一条记录。

公式如下:

F2输入公式▼

复制
=XLOOKUP(E2,B:B,C:C,"查无",0,-1)

XLOOKUP的第6参数可以指定查询方式,默认是从前往后找~找到即止;此外也可以从后往前找~找到即止;如果数据源有排序,还可以执行二分法查找。

本例是寻找符合查询条件的最后一条记录,需要从后往前找~找到即止,也就是将第6参数设置为-1。

 

6)二分法查询

如下图所示,A:C列是数据源,其中姓名列有升序排序,现在需要根据E列姓名查询相关电话号码。

公式如下:

F2输入公式▼

复制
=XLOOKUP(E2,A:A,C:C,"查无",0,2)

第6参数指定值为2,查找方式是升序排序情况下的二分法查找。

这里也可以使用公式:

复制
=XLOOKUP(E2,A:A,C:C,"查无")

两者相比有何不同呢?

主要是查询方式的区别。后者是从前往后找,虽然说找到即止,但效率也不是很高。后者是二分法查找,效率非常高。

比如查询看见星光,前者要从第1行开始遍历,找到第10行才找到结果,它需要找10次。而后者折半查找,只需要找3次就可以了。数据量越大后者的效率优势就越高——不过后者要求查询范围需排序处理。

 

7)横向查询

如下图所示,A:D列是数据明细,需要根据F1指定的科目查询对应的成绩。

公式如下:

F2输入公式▼

复制
=XLOOKUP(F1,B1:D1,B2:D2)

当查询范围是一个横向区域时,XLOOKUP也就可以像HLOOKUP一样,实现横向数据查询。

 

8)多列数据查询

如下图所示,A:D列是数据明细,需要根据F列的姓名,查询对应的特长、电话和得分等多列数据。

公式如下:

G2输入公式▼

复制
=XLOOKUP($F2,$A:$A,B:D)

当结果范围是一个多行多列的区域时,XLOOKUP可以根据查询范围的行列特性,返回一个多行或多列的结果区域。本例中查找范围是单列(A列),结果范围是B:D列,因此返回B:D列多列结果。

 

9)交叉表查询

如下图所示,A:D列是数据明细,需要根据F列的姓名,查询对应的电话、特长和得分等多列数据。和上面的案例所不同的是,结果表的字段排列顺序和数据源不一致,也就是通常所说的交叉表查询了。

公式如下:

G2输入公式▼

复制
=XLOOKUP($F2,$A$2:$A$11,XLOOKUP(G$1,$B$1:$D$1,$B$2:$D$11))

公式使用了两个XLOOKUP函数。

先说XLOOKUP(G$1,$B$1:$D$1,$B$2:$D$11)。

上面解释过,当结果范围是一个多行多列的区域时,XLOOKUP可以根据查询范围的行列特性,返回一个多行或多列的结果区域。本例中查找范围是单行($B$1:$D$1),结果范围是$B$2:$D$11,因此返回一个多行单列数据。

比如查找G1的值为’电话’,则返回C2:C11。以此作为第2个XLOOKUP的结果范围。

 

10)多条件查询

如下图所示,A:C列是数据明细,需要根据E列的年和F列的姓名,查询对应的得分。

公式如下:

G2输入公式▼

复制
=XLOOKUP(E2&F2,$A$2:$A$11&$B$2:$B$11,$C$2:$C$11)

XLOOKUP支持数组运算,本例中查找值为E2&F2,查找范围是年字段&姓名字段,即$A$2:$A$11&$B$2:$B$11▼

11)区域查询

如下图所示,A:B列是数据明细,A列日期升序排列。需要查询E1单元格指定开始日期和E2单元格指定结束日期之间的金额合计。

公式如下:

E3输入公式▼

复制
=SUM(XLOOKUP(E1,A:A,B:B):XLOOKUP(E2,A:A,B:B))

和VLOOKUP不同,和INDEX函数相同,XLOOKUP返回的不是一个单纯的值,而是一单元格引用;因此XLOOKUP(E1,A:A,B:B)返回的是B4单元格的引用,XLOOKUP(E2,A:A,B:B)返回B8单元格的引用,B4:B8也就是目标金额区域,最后使用SUM函数求和即可。

 

12)动态表查询

如下图所示,一张工作簿包含了2017年、2018年、2019年等多张工作表,现在需要根据B1单元格指定的工作表名称,在其中查询A列相关人名的得分。

公式如下:

B4输入公式▼

复制
=XLOOKUP(A4,INDIRECT($B$1&"!A:A"),INDIRECT($B$1&"!B:B"))

公式使用INDIRECT函数根据B1单元格指定的工作表名称构建引用范围,其中查找范围是指定表的A列,结果范围是指定表的B列,就酱,盖木欧瓦。

……

……

最后留两道练习题:

1)多列数据源区域查询

如下图所示,A1:F4是数据源,需要据此查询A8:A10单元格人名对应的特长信息。

2)动态引用图片

上文讲过,XLOOKUP和INDEX函数一样,返回的是单元格引用,那么它就可以像INDEX一样,实现动态引用图片的功能。

实现效果如下图所示:


案例及练习文件百度网盘..▼
https://pan.baidu.com/s/1KHPxlc-4NUkz_AJTE7EcnA
提取码: 755y

扫描二维码推送至手机访问。

欢迎转载或分享本篇文章。

本文链接:https://www.jcba123.com/article/387

分享给朋友:

“XLOOKUP函数经典用法总结” 的相关文章

8个Excel常见问题及解决,你一定遇到过!

8个Excel常见问题及解决,你一定遇到过!

在使用Excel制表时,我们经常会遇到各种各样的奇葩问题,对于一些熟手来说,可能很轻易的就能解决。但是,对于一些新手来说,就有点棘手了。所以,今天小汪老师特意为大家分享Excel中一些比较常见的问题及解决。   01、我的0怎么不见了 问题:单元格中开头输入的“0”会...

带错误值的数据,要想求和怎么办

带错误值的数据,要想求和怎么办

如何对带有错误值的数据进行求和。 先来看数据源,C列是不同业务员的销量,有些单元格中是错误值: 现在需要在E2单元格计算出这些销量之和,如果直接使用SUM函数,会返回错误值,该怎么办呢? 普通青年公式是这样的,输入完成后,要按住SHift+ctrl不放,按回车。 =SUM(IFERROR(C2:C...

让你秒懂Word自动生成目录的操作方法

让你秒懂Word自动生成目录的操作方法

Word排版中自动生成目录一项是许多人的痛楚,特别是在制作长篇文档排版的时候,我们经常会生成目录,那么生成目录要满足哪些条件呢?又应该如何生成呢?今天,易老师就详细的为大家介绍讲解一下! 自动生成目录前提条件 首先,你要明白,不是什么样的长篇文档都适合生成目录的。我们需要满足一些基本条件,...

PPT证件照换背景颜色

PPT证件照换背景颜色

PPT制作技巧:如何用PPT五步绘制“逗号”时间线表达? 在网上看到一种时间线简单而且实用,问问有没有比较快速的制作方法? 颜色搭配还不错,逗号的表现形式,简洁而且实用,一定有绘制的快速方法。 场景:财务、HR、采购、市场,销售部需要PPT时间线表达的办公人士。...

让Excel自动检测录入的数据,你会用吗?

让Excel自动检测录入的数据,你会用吗?

数据验证,在早期版本中叫数据有效性,能够对用户输入的内容进行检测,限制录入不符合要求的数据。 以下图为例,要分别输入员工年龄、性别、部门和手机号。 因为员工年龄不会小于16岁,也不会大于60岁,因此输入员年龄的区间应该是16~60之间的整数。通过设置数据验证,可以限制输入的年龄范围。 性别只有男...

PPT如何制作帘幕效果

PPT如何制作帘幕效果

首先,在素材网站上搜索并下载一张幕布背景图片。 第一步:打开PPT软件,创建一个新的空白演示文稿。然后,在幻灯片上插入刚刚下载的“幕布图片”,将其设置为整个幻灯片的背景。 第二步:再新建一个幻灯片,插入一张图片。注意选择图片格式而不是其他格式。点击选中该图片,然后选择“切换”选项...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。