技术博客
WPS 新增支持重磅功能,告诉你 XLOOKUP 有多强
admin2021-11-16 05:30
365人已围观
简介WPS 新增支持重磅功能,告诉你 XLOOKUP 有多强
WPS 官微发布公告,说是自即日起 WPS 开始正式支持 XLOOKUP 函数。很多人就奇怪了,作为一款办公软件,增加个函数不是太正常了?这有啥可激动的?其实能让 WPS“激动”自然是有些道理,理由就是这个 XLOOKUP 实在太强了!
示例 1. 反向查找
目的:通过“姓名“反查“工号“
公式:=XLOOKUP (G6,B:B,A:A)
日常工作中我们经常会遇到用姓名查工号的情况,由于原始数据中,“工号”字段通常是位于“姓名”之前,因此直接使用 VLOOKUP 肯定无法得到结果。通常的办法,是借助 IF 函数建立一个虚拟数组”IF ({1,0},B:B,A:A)”,将“工号”与“姓名”临时对调一下,以满足 VLOOKUP 的操作需求。不过它的问题就是,对于新手童鞋来说,这个数组太难理解了。
如果换作 XLOOKUP 呢?很简单,直接输入“=XLOOKUP (G6,B:B,A:A)”就行。整个语法基本参照了 VLOOKUP 的习惯,先确定好要查找的内容(G6),然后告诉表格去哪里查找(B:B),最后返回对应列的结果就可以了(A:A)。相比之下,XLOOKUP 的逻辑是不是就清晰多了!
示例 2. 出错处理
目的:当查询无结果时,显示“查无此人“
公式:=XLOOKUP (G6,B:B,A:A,"查无此人")
为了防止 LOOKUP、VLOOKUP 等函数意外出错,我们通常会在函数外围包裹一层 IFERROR,用于手工控制出错信息的显示。不过这种做法一来会让公式变长,二来也不怎么高效。而 XLOOKUP 的处理方法绝对是简单粗暴,直接将出错信息标在了函数里。高效的同时,也让公式更加简练,就像下面这样:“=XLOOKUP (G6,B:B,A:A,"查无此人")”。
示例 3. 批量化查询
目的:通过“工号“查询该员工所有信息
公式:=XLOOKUP (G8,A:A,B:E)
编写搜索器时,会在原始数据中批量查询所需的内容。通常有两种解决方法,一是借助 VLOOKUP 手工确定要查询的列,二是通过 COLUMN 函数配合 VLOOKUP 做一个半自动查询器。
那么 XLOOKUP 有没有更简单的办法呢?答案是有的,方法就是直接填写“=XLOOKUP (G8,A:A,B:E)”。语法上依旧沿用了 VLOOKUP 的逻辑,先是确定好要查找的内容(G8),然后告诉表格去哪里查找(A:A),接下来返回 B:E 列里的对应信息即可。由于函数的“溢出效应”,相邻几个单元格(性别、职务、部门)也会自动填好结果,连拖拽这一步都省去了。
示例 4. 多条件查询
目的:通过“姓名”和“性别”两组条件查询员工信息
公式:=XLOOKUP (G7&H7,B:B&C:C,D:D)
现实中重名的情况并不少见,当一个条件无法确定一个人时,就要加载第二组条件。比如本例中,小编就使用了“姓名”+“性别”的双重条件验证。对于此类需求,传统的 VLOOKUP 需要借助 IF 函数生成一个虚拟数组。而在 XLOOKUP 之下,上述公式可以直接简化为“=XLOOKUP (G7&H7,B:B&C:C,D:D)”。
示例 5. 模糊查询
目的:根据分值为每个人标注等级。
公式:=XLOOKUP (D2,$H$2:$H$5,$I$2:$I$5,,-1)
熟悉 VLOOKUP 的小伙伴,大多知道这个函数最后有一个“精确匹配 FALSE”和“近似匹配 TRUE”的小参数。其中的“近似匹配”,就是我们常说的模糊查找。通常来讲,模糊查找主要用作区域数值的界定,比如 90-100 分为“优秀”、70-89 分为“良好”,类似这样的分数段筛选,就很适合使用模糊查找。不过它有一个前提,那就是数值源必须提前使用升序排列,否则无法得到准确结果。
而使用 XLOOKUP 就不用这么麻烦了,它的第五个参数(输入公式时会有提示)直接提供了“0”、“-1”、“1”、“2”四种不同匹配条件。以本例使用的“-1”为例,它的含义就是当搜索结果达不到目标值 499 时,会自动向下查找(小于 499)。正是借助这样一个选项,我们就轻松配置出了一个业绩等级设定表。
示例 6. 横向查找
目的:输入产品名称查询该产品的销量、销售额、利润、利润率
公式:=XLOOKUP (B7,B1:E1,B2:E2)
在 Excel 中,除了纵向搜索的 VLOOKUP 外,还有一个支持横向搜索的 HLOOKUP。这两组函数虽然作用不一,但语法却基本相同。区别是一个在列中查找,一个在行中查找。而我们的 XLOOKUP 其实也集合了纵向和横向两种查询机制,除了上面讲到的纵向查询外,你还可以通过变换查找区域来实现横向搜索。具体效果,如上图所示。
示例 7. 搜索最后记录
目的:快速查询某商品的最新入库价格
公式:=XLOOKUP (F4,B:B,C:C,,,-1)
很多出入库表格,都需要查找最后一次出入记录。这个看似简单的要求,实现起来却不容易。通常我们都是使用 LOOKUP 建立一个虚拟数组,然后再对其进行查找。但正如前面所言,这一类东东一来不适合新手理解,二来过多的数组函数对于系统性能也是拖累。特别在一些大型表格中,频繁地使用数组函数,会让表格变得异常缓慢。
而 XLOOKUP 的加入,让这个问题变得简单多了。它的解决方法很简单,直接用一个参数来搞定。依旧以上文为例,如果想查询某商品的最近一次入库价格,只要在它的第 6 参数位中,输入参数值“-1”。而返回的结果,正是该商品的最后一次入库价。
写在最后
怎么样?看完上面这些案例,是不是有种豁然开朗的感觉?其实在日常使用中,XLOOKUP 还有逻辑清晰、语句简练等优势。
举个最简单例子,以往在使用 VLOOKUP 时,查找范围后面的列数常常要我们手工去数,而 XLOOKUP 由于直接使用了列标作为返回列,因此也就省掉了这个步骤。
同时由于 XLOOKUP 还是一个全能型选手,特别对于新手来说更加友好,再不用劳神记忆各种复杂的函数和数组,一个 XLOOKUP 统统就搞定了!

微信公众号
很赞哦!(0)
相关文章
文章评论
评论0
站点信息
- 微信公众号:扫描二维码,关注我们

点击排行

标签云
-
php
网页设计
个人博客
JS
个人博客
Html
春节必看: 2020新春红包大战 全攻略
新增详细玩法攻略!
支付宝集五福5亿集分宝招商银行抽现金券抖
抖音 2020 发财中国年 攻略
支付宝集五福5亿集分宝招商银行抽现金券抖
最近购买威尔胜WTB0900复刻版和WT
mysql慢查询和php-fpm慢日志
PSR-2
基础代码规范
Thinkphp
响应式
公司
整站
源码
网络科技网站模板
1024
节日
百度收录
论坛
社区
2020
豆瓣
评分最高
电影
debugger
调试
Python
语法
高德
百度地图
MySQL
追寻
webpack
vue
oracle
服务器搭建
有趣
动物
人体
历史
天文
生活
名人
体育
地理
文化
科学
心理
植物
饮食
自然
图片
JVM
IDEA
Loader
Git
UNIAPP
股票
A股
同花顺
海尔
海天味业
半年报
股市总结
歌尔股份
乐普医疗
涪陵榨菜
餐饮
财报分析
酒店
年报分析
美锦能源
山煤国际
贵州茅台
张坤
腾讯
华鲁恒升
淮北矿业
药明康德
早盘关注
国电电力
北方华创
宝丰能源
TCL中环
兔宝宝
天润乳业
启明星辰
阳光电源
山西汾酒
迈瑞医疗
人福医药
比亚迪
宁德时代
汤臣倍健
伊利股份
通威股份
东鹏饮料
隆基股份
紫金矿业
五粮液
康龙化成
赣锋锂业
爱尔眼科
片仔癀
VR
永新股份
爱美客
美的集团
格力电器
科沃斯
云南白药
同仁堂
洋河股份
白云山
三体
狂飙 原著