用好Xlookup函数,查询引用不再烦恼,条件及逆向查询统统搞定
yuyutoo 2025-01-02 20:10 2 浏览 0 评论
Lookup以及Vlookup函数,是Excel中应用最广泛的函数,但在2019年,微软公布了Xlookup函数,但只能在Office 365版本中使用;如果你使用的是版本较低的Office,也可以在新版的WPS中使用,和VLOOKUP函数相比,只是将字母V变成了X,但其功能确发生了很大的变化。
功能:在某个范围或数组中搜索匹配项,并通过第二个范围或数组返回相应的项,默认情况下使用精准匹配。
语法结构:=Xlookup(查询值,查询值范围,返回值范围,[未查询到值时的返回值],[匹配模式],[搜索模式])。
解读:
1、 参数“查询值”、“查询值范围”、“返回值范围”很好理解,就是字面意思,其中“值”就是指定的字段或单元格地址,“范围”就是单元格的区域。
2、参数“未查询到值时的返回值”是指:在查询值范围中未找到要查询的值时,返回的指定值,在Vlookup函数中,如果查询不到指定的值,则返回#N/A,但在Xlookup中,可以指定具体的值,如果省略则返回#N/A。
3、参数“匹配模式”共有4种,分别为0、-1、1、2。其中0为精准匹配;-1为精准匹配或下一个较小的项;1为精准匹配或下一个较大的项;2位通配符匹配;省略时默认为精准匹配。
4、参数“搜索模式”共有4种,分别为1、-1、2、-2。其中1为从第一项到最后一项全部搜索;-1为从最后一项到第一项搜索;2为二进制文件搜索(升序模式);-2为二进制文件搜索(降序模式)。省略时默认从第一项到最后一项全部搜索。
如果要用好Xlookup函数,参数中后3个参数代码的意思是必须要掌握的,可以不用强迫记忆,在使用时根据系统的联想功能填充即可。
下面我们从具体的案例了解和掌握Xlookup函数的用法。
一、普通查询。
目的:根据员工姓名查询对应的月薪。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,C3:C12,H3:H12)。
解读:
1、此方法中应用了Xlookup必须的3个参数,其省略的参数全部按照默认的值执行。
二、多条件查询。
如果只有如下图的基础数据,该如何查询“李丽”的“月薪”呢?
通过对数据源的分析,我们不难发现,“李丽”有2个人,除了性别不同外,其它基础信息均相同,此时,我们要精准的查询李丽的月薪,就需要增加条件。即通过姓名和性别两个条件来查询。
目的:通过员工姓名和性别查询对应的月薪。
方法:
在目标单元格中输入公式:=XLOOKUP(I3&J3,B3:B12&D3:D12,G3:G12)。
解读:
如果此功能用VLOOKUP函数去实现,公式该如何去编辑了?但如果用Xlookup函数,条件及数据区域之间只需用“&”符号链接即可,是不是非常简单?
三、逆向查询。
目的1:根据员工的姓名查询对应的工号。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,C3:C12,B3:B12)。
解读:
用Xlookup逆向查询时,只需将对应的数据范围填写到对应的参数区域即可,不需要重构数组等操作。
四、未找到查询内容时返回指定的内容。
目的:如果查询不到相关人员的信息,则返回“查无此人”。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,C3:C12,H3:H12,"查无此人")。
解读:
如果不指定第4个参数,则默认返回值为错误代码#N/A。指定第4个参数后,公式和数据的可读性更强。
五、精准查询或向下匹配。
目的:查询等于或低于指定月薪的最高月薪员工姓名。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,H3:H12,C3:C12,,-1)。
解读:
此用法的关键在于第5个参数,在前文中我们已经介绍过,“匹配模式”共有4种,当为-1时为精准匹配或下一个较小的项,也就是返回等于或小于当前值的最大值。
六、精准查询或向上匹配。
目的:查询等于或高于指定月薪的最低月薪员工姓名。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,H3:H12,C3:C12,,1)。
解读:
如果明白了第5个示例,第六个示例也就很容易理解了,其关键还是在第5个参数,当参数值为1时为精准匹配或下一个较大的项,也就是返回等于或大于当前值的最小值。
七、从数据库的末尾逆向查询。
目的:查询产品最后一次的销售单价。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,C3:C12,D3:D12,,0,-1)。
解读:
此用法的关键在于第6个参数,在前文中我们已经介绍过,“搜索模式”共有4种,当为-1时为从最后一项到第一项搜索,即从数据库的末尾逆向搜索。如果要从数据库的第一条记录开始查询,则将第6个参数修改为1或省略即可。
八、一对多查询。
目的:根据产品编号查询对应的所有信息。
方法:
在目标单元格中输入公式:=XLOOKUP(J3,B3:B12,C3:G12),并用Ctrl+Shift+Enter填充。
解读:
由于返回的时数组区域,所以必须用Ctrl+Shift+Enter填充。
最美尾巴:
本节课内容中我们重点介绍了Xlookup的用法,其实上述功能也可以用VLOOKUP或Lookup等函数完成,但具体该如何实现了,欢迎大家在留言区讨论哦!
相关推荐
- 如何在HTML中使用JavaScript:从基础到高级的全面指南!
-
“这里是云端源想IT,帮你...
- 推荐9个Github上热门的CSS开源框架
-
大家好,我是Echa。...
- 硬核!知网首篇被引过万的论文讲了啥?作者什么来头?
-
整理|袁小华近日,知网首篇被引量破万的中文论文及其作者备受关注。知网中心网站数据显示,截至2021年7月23日,由华南师范大学教授温忠麟等人发表在《心理学报》2004年05期上的学术论文“中介效应检验...
- 为什么我推荐使用JSX开发Vue3_为什么用vue不用jquery
-
在很长的一段时间中,Vue官方都以简单上手作为其推广的重点。这确实给Vue带来了非常大的用户量,尤其是最追求需求开发效率,往往不那么在意工程代码质量的国内中小企业中,Vue占据的份额极速增长...
-
- 【干货】一文详解html和css,前端开发需要哪些技术?
-
网站开发简介...
-
2025-02-20 18:34 yuyutoo
- 分享几个css实用技巧_cssli
-
本篇将介绍几个css小技巧,目录如下:自定义引用标签的符号重置所有标签样式...
- 如何在浏览器中运行 .NET_怎么用浏览器运行代码
-
概述:...
- 前端-干货分享:更牛逼的CSS管理方法-层(CSS Layers)
-
使用CSS最困难的部分之一是处理CSS的权重值,它可以决定到底哪条规则会最终被应用,尤其是如果你想在Bootstrap这样的框架中覆盖其已有样式,更加显得麻烦。不过随着CSS层的引入,这一...
-
- HTML 基础标签库_html标签基本结构
-
HTML标题HTML标题(Heading)是通过-...
-
2025-02-20 18:34 yuyutoo
- 前端css面试20道常见考题_高级前端css面试题
-
1.请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?display:flex;在父元素设置,子元素受弹性盒影响,默认排成一行,如果超出一行,按比例压缩flex:1;子元素设置...
- vue引入外部js文件并使用_vue3 引入外部js
-
要在Vue中引入外部的JavaScript文件,可以使用以下几种方法:1.使用``标签引入外部的JavaScript文件。在Vue的HTML模板中,可以直接使用``标签来引入外部的JavaScrip...
- 网页设计得懂css的规范_html+css网页设计
-
在初级的前端工作人员,刚入职的时候,可能在学习前端技术,写代码不是否那么的规范,而在工作中,命名的规范的尤为重要,它直接与你的代码质量挂钩。网上也受很多,但比较杂乱,在加上每年的命名都会发生一变化。...
- Google在Chrome中引入HTML 5.1标记
-
虽然负责制定Web标准的WorldWideWebConsortium(W3C)尚未宣布HTML5正式推荐规格,而Google已经迁移到了HTML5.1。即将发布的Chrome38将引入H...
- HTML DOM 引用( ) 对象_html中如何引用js
-
引用对象引用对象定义了一个同内联元素的HTML引用。标签定义短的引用。元素经常在引用的内容周围添加引号。HTML文档中的每一个标签,都会创建一个引用对象。...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)