分享

Excel查找函数应用技巧:逆向查询的方法总结

 部落窝教育BLW 2023-07-26 发布于四川

编按:VLOOKUP要求查找值必须在查找区域的最左列,这就是我们经常说的VLOOKUP函数只能实现正向查找(从左往右查)。如果查找值位于返回值所在列的右侧,单独使用VLOOKUP函数是无法查找的。那么如何在不改变原表格结构的情况下使用函数进行逆向查找(从右往左查)呢?今天就给大家介绍7种方法。


工作中我们经常遇到查找引用数据的情形。毋庸置疑,VLOOKUP函数是“查找之王”,但是,VLOOKUP函数在查找引用数据时,要求查找的值必须在查找区域的最左列,如果不在最左列,将无法返回正确的结果。这也就是我们经常说的VLOOKUP函数只能实现正向查找,单独使用VLOOKUP函数是不能实现逆向查询的。

如下图,如果在不改变原表格结构的基础上查找出书目编码对应的书名,直接使用VLOOKUP函数得出的结果是错误的。

当然,如果我们将书目编码列剪切到书名的左侧,再使用VLOOKUP函数就可以成功索引过来结果。

但工作中很多时候我们不能改变数据源的列排序,在不改变原表格结构的情况下应该如何使用函数进行逆向查找呢?今天就给大家介绍7种方法。

方法一:VLOOKUP、IF函数嵌套

在K2单元格输入公式

=VLOOKUP(J2,IF({1,0},$D$1:$D$100,$A$1:$A$100),2,0)

公式解析:通过IF({0,1}函数将A列和D列位置互换,然后在D列精确匹配与J2单元格相同的单元格,并返回互换后的区域对应第2列即A列的数据。

方法二:VLOOKUP、CHOOSE函数嵌套

在K2单元格输入公式

=VLOOKUP(J2,CHOOSE({1,2},D:D,A:A),2,0)

公式解析:通过CHOOSE({1,2}函数将A列和D列位置互换,然后在D列精确匹配与J2单元格相同的单元格,并返回互换后的区域对应第2列即A列的数据。

方法三:LOOKUP函数

在K2单元格输入公式

=LOOKUP(1,0/($D$2:$D$100=J2),$A$2:$A$100)

公式解析:D列满足等于J2的条件的逻辑值为TRUE,被0除后,就是0;其他不满足条件的逻辑值为FALSE,被0除后,就是“#DIV/0!”的错误值;通过LOOKUP在一批错误值和0组成的数列中,返回比1小的最大值,也即是0值(满足J2条件的行)对应的A列数据。

方法四:Filter函数

在K2单元格输入公式

=FILTER(A:A,D:D=J2)

公式解析:在D列中满足内容等于J2单元格的位置,在筛选区域A列返回对应位置的数据。

方法五:Index、 match函数嵌套

在K2单元格输入公式

=INDEX(A:A,MATCH(J2,D:D,0))

公式解析:通过INDEX定位到A列,并根据MATCH函数返回J2在D列中所在的行号,得到对应A列数据。

方法六:Offset、match函数嵌套

在K2单元格输入公式

=OFFSET($A$1,MATCH(J2,$D$2:$D$100,0),)

公式解析:以A列A1单元格为基准位置,向下偏移N行,而N就是通过match函数查找到的J2在D2:D100这片区域中的位置。

方法七:Indirect、match函数嵌套

在K2单元格输入公式

=INDIRECT("A"&MATCH(J2,D:D,0))

公式解析:通过match函数查找到J2在D列中的行号,列标“A”和行号构成的文本字符串表示单元格位置,用indirect函数引用这一单元格位置的具体内容。


做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

学习交流请加微信:hclhclsc进微信学习群。

相关推荐:

VLOOKUP&LOOKUP双雄战(四):在横向和逆向查询上的血拼!

如何在交叉查询中使用VLOOKUP?看完就懂!

如何在特定位置批量插入空行等12种实用办公技巧

工资表转工资条,VLOOKUP有绝招!

版权申明:

本文作者老徐;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多