excel中vlookup函数的使用方法_VLOOKUP函数反向查找,if「1,0」和choose「1,2」方法详细讲解...

b403bfad5deec1904977f640aa561ffc.png

想必大家在工作中都遇到过这样的问题,当我们要进行VLOOKUP匹配的时候,发现我们需要返回的列在查找列的前面,像下图这样,此时如果我们直接用VLOOKUP函数进行匹配,我们会发现,无论如何选择第二参数,查找列都不可能位于第一列,此时Excel就会返回错误值,遇到这种情况你是束手无策,还是略知一二,还是只知道怎么用反向查找,而不知道其中原理?相信看完这篇文章,你所有的疑惑都会得到解答。

17650d2461c98a8f155e22449bedb777.png

我们知道,VLOOKUP函数的查找列必须位于第二参数的第一列,我们最直接的办法就是将姓名列和学号列交换一下位置,但是一般数据源不允许随意改动,此时我们就需要用到辅助函数来在计算机内存中构造一个内存数组,这个内存数组只包含两列,第一列是查找值列,第二列是返回值列,具体如何操作呢?请接着往下看。

方法一:if{1,0}方法。首先我们知道if函数中1和0可以等价替换逻辑值TRUE和FALSE,举个例子,公式=if(1,"A","B"),得到的结果是"A",而=if(0,"A","B"),得到的结果则是"B"。如果我们将1和0同时写进if函数的第一参数,则会得到1和0分别在if函数中运行得到的结果,比如:=if({1,0},"A","B"),则会得到结果{A;B}。如果将公式中的A和B换成对应的数据列,则会得到由A和B(此时的A和B代表两列数据)构成的内存数组,A和B是我们自己选择的,此时我们可以将查找列放在A位置,返回列放在B位置,如下图所示:

c7513fbbae8b407aae5e2cf38f3236e0.png

当我们得到这个内存数组的时候,是不是就可以将这个内存数组作为VLOOKUP函数的第二参数,就可以进行正常的数据匹配了,公式:=VLOOKUP(G3,IF({1,0},C$2:C$23,B$2:B$23),2,),注意:首先我们内存数组只有两列,所以第三参数是2;然后这个函数是数组公式,需要用Ctrl+shift+回车,三件结束,才能得到正确结果,结果如下:

c18606c9a89881771a372bbefdf06d78.png

方法二:choose{1,2},其实内在逻辑和if{1,0}是一样的,只不过是构造内存数组的函数换了一个,我们只需要将if{1,2}换成choose{1,2}即可,公式:=VLOOKUP(G3,CHOOSE({1,2},C$2:C$23,B$2:B$23),2,),结果展示:

e0dac5b25abefa0ae9195b4e786e6e82.png

看到这里,相信你对VLOOKUP函数反向查找心中的疑惑已经豁然开朗了,如果还觉得不够具体,请观看笔者对于VLOOKUP函数反向查找讲解的视频。纯手打不易,希望大家多多支持,能与大家互相学习,共同进步!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值