【WPS表格案例】利用XLOOKUP函数实现多条件查询 您所在的位置:网站首页 wps函数匹配公式怎么用 【WPS表格案例】利用XLOOKUP函数实现多条件查询

【WPS表格案例】利用XLOOKUP函数实现多条件查询

2024-07-15 20:17| 来源: 网络整理| 查看: 265

📌

大家好,最近天气渐渐冷起来了,大家记得及时添加衣物,小心感冒哦!今天想为大家带来的是XLOOKUP实现多条件查询,最近社区中也出现了利用XLOOKUP进行多条件查询的问题,所以今天拿出来一个案例来详细讲解一下适用情形及使用方法,希望大家有所收获!

案例介绍

如下图所示,在左侧的A1:C11区域中,有对应的学生姓名、科目和科目的成绩,我们想在K2:M5区域用公式查找各位学生各个学科的成绩,如果没有查找到学生的成绩,则显示空值。

多条件查询成绩

这样的问题看起来可能比较难,但是利用XLOOKUP函数以及动态数组的特性,我们就可以很轻松地解决这个问题。接下来,我们就尝试使用XLOOKUP函数来解决这个问题吧!

思路分析

遇到这样的多条件查询,且原始数据的数据表较为规范的情况,我们可以使用“合二为一”的思想。

“合二为一”的意思是,我们可以将多条件转换为唯一的条件,同时将表格中的多个字段合并为一个,这样我们的检索内容就变成了唯一的值,表格中的新字段也变成了唯一值,我们就可以借助唯一值定位唯一的分数,从而得到正确的结果。

这样说可能不好理解,让我们利用本案例来详细地为大家解释一下“合二为一”是怎么体现的。

在这个案例中,我们发现原始数据中,姓名和科目都存在重复的情况,那么我们就可以将这两个字段使用AND连接符(&)合并,这样合并后的字段便是表中的唯一值,也便于我们的查找,如下图所示:

💡

函数公式:=A2:A11&B2:B11

将表中的姓名和科目合并在一起,得到唯一的字段

同样地,我们在设置查找条件时,也可以将查找条件合并,得到一个唯一的检索值:

💡

函数公式:=J2#&K1#

细心的同学可能注意到,为什么我在J2和K1后面加了井号(#),就能够返回这样的结果呢?这是因为J2:J5区域,K1:M1区域是对原始数据使用UNIQUE函数提取唯一值得到的数组,所以我们可以使用动态数组溢出范围运算符#,这样就可以根据数组的长度自动调整区域,在函数书写时能够有效缩短长度,得到更简洁的结果。

如果大家对井号#运算符的用法还不是很清楚,可以点击下面的链接进行学习哦:

【WPS表格技巧】WPS表格中井号(#)用法小结

好的,思路介绍完了,那么我们就把XLOOKUP函数召唤出来为我们所用吧!

解决问题

首先我们介绍一下XLOOKUP函数各个参数的含义:

XLOOKUP函数的各个参数

我们在表格中输入XLOOKUP之后,可以得到这样的提示,那么各个参数该如何使用呢?下面给出一个较为简单的说明,希望能有助于大家理解:

查找值:要搜索的值,注意,如果这个参数省略,XLOOKUP 将返回在“查找值”中找到的空白单元格;

查找数组:要搜索的数组或区域;

返回数组:要返回的数组或区域;

[未找到值]:可选参数,

如果这个参数填写了内容,则返回你提供的 [未找到值] 的内容。

如果未找到有效的匹配项,并且缺少[未找到值]时需要返回的内容,则返回 #N/A 错误。

[匹配模式]:可选参数,

指定匹配类型:

0 - 完全匹配。 如果未找到,则返回 #N/A。 这是默认选项。

-1 - 完全匹配。 如果没有找到,则返回下一个较小的项。

1 - 完全匹配。 如果没有找到,则返回下一个较大的项。

2 - 通配符匹配,其中 *, ? 和 ~ 有特殊含义。

[搜索模式]:可选参数,

指定要使用的搜索模式:

1 - 从第一项开始执行搜索。 这是默认选项。

-1 - 从最后一项开始执行反向搜索。

2 - 执行依赖于 查找数组 按升序排序的二进制搜索。 如果未排序,将返回无效结果,这与LOOKUP函数的查找逻辑相同。

我们在K2单元格中使用XLOOKUP函数,我们将查找值合并为唯一条件,同时将原始数据的“姓名”列和“科目”列的内容连接在一起,将其作为查找数组,返回的数组为“分数”列的数据,如果【未找到值】,则返回空值。

🔔

=XLOOKUP(J2#&K1#,A2:A11&B2:B11,C2:C11,"")

XLOOKUP函数(含动态数组)的返回结果

注意,我们的K1:M1区域和J2:J5区域是动态数组,所以我们可以使用溢出运算符#,如果上述区域不是数组,我们可以将公式修改为:

🔔

=XLOOKUP($J2&K$1,$A$2:$A$11&$B$2:$B$11,$C$2:$C$11,"")

XLOOKUP函数(无动态数组)的返回结果

这种情况在使用时需要注意绝对引用的位置,在K2填写好上述公式之后,我们点击K2单元格,点击下方的填充柄进行向右填充和向下填充的操作就可以了。

总结

在面对多条件查询的问题时,我们可以首先考虑“合二为一”的办法,然后使用XLOOKUP函数辅助查询。当然,如果利用VLOOKUP函数也是没有问题的,但是VLOOKUP函数如果有错误值会直接返回错误值,我们没有办法在VLOOKUP函数中直接设置错误的返回值,我们可以在VLOOKUP函数的前面,利用IFNA函数或者IFERROR函数来指定出现错误值之后的返回内容。

题外话:

最近发现WPS AI也可以实现多条件查询,大家可以尝试输入命令体验一下,可使用的案例见社区的这篇帖子:

请问:大家是如何使用WPS AI进行多条件查询的?

接下来我也会探索、学习利用WPS AI实现多条件查询的方式,如果有好的结果,我会第一时间分享到社区供大家学习~

练习文档下载:

【WPS表格案例】利用XLOOKUP函数实现多条件查找

下载方法:点击上方链接,然后点击左上角的菜单栏,点击【下载】即可学习使用。

练习文档下载方式

如果大家在阅读时有所收获,那么大家可以点击小红心❤️和收藏⭐~

如果大家也有自己的头脑风暴,那么不要吝啬自己的评论💬和转发✅哦~

WPS表格系列文章指路:

【WPS表格案例】实现按照自定义序列排序的多种方式

【WPS表格案例】利用表格完成填空题的填写

【WPS函数使用】利用EXPAND函数隔行插入空行

【WPS表格案例】高级筛选在筛选多重内容时的应用

【WPS函数使用】多对一查找问题的新解法

【WPS表格技巧】WPS表格中星号(*)使用方法小结

【WPS表格技巧】WPS表格中问号(?)用法小结

【WPS表格技巧】WPS表格中艾特"@"符号用法小结

【WPS表格技巧】WPS表格中井号(#)用法小结

【WPS表格案例】财务项目余额表与额度统计表数据按部门分类导出

【函数使用】EVALUATE函数的基本用法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有