vlookup有两个结果但是只匹配一个(怪不得被反向查询难倒)

查询就是查询,本身并没有反向或者正向这回事儿,只是VLOOKUP用得多了,习惯了只能从左往右查,于是从右往左查被叫做反向查询,并且在过去很长一段时间成为Excel用户的心病。

过去只是过去,现在,这么多的解决方案可以随便选用。


VLOOKUP IF

众所周知,VLOOKUP本身只能从左往右查,结合IF或CHOOSE才可以实现反向查询,但这个数组公式对很多新手来说略微有难度。

=VLOOKUP(E3,IF({1,0},C2:C8,B2:B8),2,0)

它的逻辑是用IF函数强行构建一个新的数据区域,把原本数据区域中的两列调换位置,以此配合VLOOKUP从左往右的特性。

vlookup有两个结果但是只匹配一个(怪不得被反向查询难倒)(1)

VLOOKUP IF


XLOOKUP

如果你的Excel版本在2021以上,恭喜你,用XLOOKUP解决这个世纪难题简直是易如反掌。

=XLOOKUP(E3,C2:C8,B2:B8)

在C列查找,返回B列对应的值,就是这么简单。

vlookup有两个结果但是只匹配一个(怪不得被反向查询难倒)(2)

XLOOKUP


LOOKUP

如果确实看不上VLOOKUP,又没有高版本Excel, LOOKUP也是一个不错的选择,毕竟它在查询界的地位还是数一数二的,只是对数据有一些要求,不接地气。

=LOOKUP(1,1/(C2:C8=E3),B2:B8)

C2:C8=E3:把C2:C8的数据逐个与E3对比,相同的返回TRUE,不同的返回FALSE,所以最终结果是一个TRUE和FALSE组成的数组;

1/(C2:C8=E3):1/TRUE=1,1/FALSE=”#N/A”,上一步的数组变为一个由1和“#N/A”组成的数组;

LOOKUP在这个数组中查找1,并返回对应的B列值。

vlookup有两个结果但是只匹配一个(怪不得被反向查询难倒)(3)

LOOKUP


INDEX MATCH

LOOKUP需要用户熟练掌握【数组】和【逻辑值】这两个知识点,如果没有掌握,可以试试最强组合INDEX MATCH:

=INDEX(B2:B8,MATCH(E3,C2:C8,0))

MATCH的作用是返回查找值在区域中的相对位置,而INDEX根据这个位置获取对应的返回值。

只要分别理解了两个函数的用法,很容易理解它们的工作逻辑。

vlookup有两个结果但是只匹配一个(怪不得被反向查询难倒)(4)

INDEX MATCH

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页