各位小伙伴们,大家好呀!在日常使用Excel处理数据的过程中,我们常常会遇到各种各样的查询需求,今天咱们就来重点说一说逆向查询这个很实用但又有些小伙伴不太熟悉的问题。

什么是逆向查询

所谓逆向查询,简单来说,就是与我们平常习惯的正向查询相反,它是通过查找后面数据列的值,然后返回前面列的数据。给大家举个例子吧,就像在下面展示的这张学生信息表中(大家可以想象一下相应的表格样式),我们通常知道学号可以很容易查到对应的学生姓名、联系电话等信息,这是正向查询;但有时候呀,我们手里只有学生的姓名或者联系电话,却需要反过来查找对应的学号,又或者通过联系电话查找姓名、学号等情况,这些就都属于逆向查询啦。接下来,本期教程就给大家总结了 3 种实现逆向查询的方法,快来看看哪个更适合你吧~

方法一、INDEX + MATCH组合查询

(一)操作步骤及示例

在咱们这个例子中,如果要使用 INDEX + MATCH 组合查询小美的学号,就可以使用下面这个公式:=INDEX (A:A, MATCH (E3, B:B, 0))。下面咱们详细讲讲这个公式是怎么运作的。

首先,要明白 MATCH 函数的作用,它是整个查询过程的第一步。MATCH 函数的语法可以表示为【= MATCH (要找谁,查找区域,匹配方式)】,在咱们这个例子里,“要找谁” 就是 E3 单元格里的 “小美” 这个值(假设 E3 单元格存放的是要查找的学生姓名),“查找区域” 就是 B:B(也就是存放所有学生姓名的那一列),“匹配方式” 这里选择 0,表示精确匹配。通过这个 MATCH 函数的运算,它就能返回 “小美” 这个名字在 B 列中的行号啦。

然后,再看 INDEX 函数,它的作用是返回查找区域对应行和列的值,语法可以表示为【=INDEX (查找的区域,返回值所在行,返回值所在列)】。在咱们这个公式里,查找的区域是 A:A(也就是学号所在的那一列),返回值所在行就是前面 MATCH 函数查找到的 “小美” 所在的行号,因为咱们这里查找区域只有一列,所以返回值所在列可以省略不写啦。这样,通过 INDEX 函数就能根据前面 MATCH 函数得到的行号,准确地返回小美所在行 A 列(也就是学号那一列)的值啦,是不是很巧妙呢?

必学!Excel逆向查询从入门到精通的三种方法-趣帮office教程网

(二)原理及适用场景

这种组合查询的原理就是巧妙地利用了MATCH函数先精准定位到目标值所在的行号,然后再借助 INDEX 函数依据这个行号从指定列中提取出对应的值。它适用于各种需要根据后面列的值来查找前面列数据的情况,而且不管数据是否有序排列,都能准确进行查询。比如在员工信息表中,已知员工的姓名去查找对应的工号,或者在销售记录里,通过客户的联系方式查找客户的编号等场景,使用 INDEX + MATCH 组合都非常方便实用。

方法二、LOOKUP函数查询

(一)操作步骤及示例

同样在这个例子中,如果我们使用 LOOKUP 函数来查询小美的学号,需要用到下面这个公式:=LOOKUP (1,0/(B3:B8 = E3), A3:A8)。这个公式看起来可能有点复杂,咱们一步步来解析一下。

首先看这个公式里的查询区域部分【0/(B3:B8 = E3)】,这里面 (B3:B8=E3) 这部分是一个条件判断,它会对 B3:B8 这个单元格区域里的每个单元格值与 E3 单元格(也就是 “小美” 这个查找值)进行比较,如果相等就返回 TRUE,不相等就返回 FALSE。然后,再用 0 除以这个由 TRUE 和 FALSE 组成的逻辑值数组,因为在 Excel 运算中,True 在运算时当作 1,False 在运算时当作 0,所以 0 / TRUE 返回 0,0 / FALSE 返回 #DIV/0!,这样就构建出了一个由 0、#DIV/0! 组成的数组啦。

接着,用 1 作为查找值去查找这个构建好的数组。LOOKUP 函数在这里的查找规则是会查找最后一个满足非空单元格条件的记录,通过这样的方式,就能在 A3:A8 这个学号所在的区域里找到与 “小美” 对应的学号啦。

必学!Excel逆向查询从入门到精通的三种方法-趣帮office教程网

(二)原理及优势

LOOKUP 函数这种查询方式的原理就是利用了它独特的查找逻辑以及数组运算的特性,巧妙地避开了常规查找时要求查找范围必须升序排列的这个弊端。它在一些数据排列不太规则,但又需要进行逆向查询的情况下非常好用,能够快速准确地找到我们想要的结果。比如说在一些历史数据记录表格中,数据的录入顺序可能比较杂乱,但是我们又要通过某个特定的后面列的值去查找前面列的数据,这时候 LOOKUP 函数就能发挥它的优势啦。

方法三、XLOOKUP函数查询

(一)操作步骤及示例

在这个例子里,如果我们要通过 XLOOKUP 函数查询小美的学号,那就可以使用下面这个公式:=XLOOKUP(E3, B3:B8, A3:A8)。

XLOOKUP 函数的功能是在某个范围或数组中搜索匹配项,并通过第二个范围或数组返回相应的项,它通俗的语法是【=XLOOKUP (要找谁,在哪里找,要返回哪里的内容) 】。在咱们这个公式里,“要找谁” 就是 E3 单元格里的 “小美” 这个值,“在哪里找” 就是 B3:B8(存放学生姓名的区域),“要返回哪里的内容” 就是 A3:A8(存放学号的区域)啦。按照这个函数的默认设置,它使用的是精确匹配方式,所以就能准确地找到 “小美” 对应的学号并返回啦。

必学!Excel逆向查询从入门到精通的三种方法-趣帮office教程网

(二)注意事项及适用场景

需要注意的是呀,XLOOKUP函数目前可在Excel 2019以及最新版本的WPS表格中使用,所以在使用的时候大家要考虑一下自己使用的软件版本是否兼容这个函数。不过它的功能非常强大且使用起来相对简洁直观,很适合在一些较新的办公环境或者对函数使用便捷性要求较高的场景中使用。比如在制作一些数据分析报表,需要频繁进行逆向查询操作时,如果你的软件支持,使用XLOOKUP函数就能大大提高查询效率。

好啦,以上就是Excel中逆向查询的3种常用方法,每种方法都有它自己的特点和适用场景,大家可以根据实际的数据情况以及自己使用的软件版本等因素,选择最适合自己的方法来进行逆向查询。