Excel表格反向查找函数vlookup怎么用(Excel表格vlookup函数逆向查找的使用方法)
想必大家在工作中都遇到过这样的问题,当我们要进行VLOOKUP匹配的时候,发现我们需要返回的列在查找列的前面,像下图这样,此时如果我们直接用VLOOKUP函数进行匹配,我们会发现,无论如何选择第二参数,查找列都不可能位于第一列,此时Excel就会返回错误值,遇到这种情况你是束手无策,还是略知一二,还是只知道怎么用反向查找,而不知道其中原理?相信看完这篇文章,你所有的疑惑都会得到解答。
我们知道,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位置,如下图所示:
当我们得到这个内存数组的时候,是不是就可以将这个内存数组作为VLOOKUP函数的第二参数,就可以进行正常的数据匹配了,公式:=VLOOKUP(G3,IF({1,0},C$2:C$23,B$2:B$23),2,),注意:首先我们内存数组只有两列,所以第三参数是2;然后这个函数是数组公式,需要用Ctrl shift 回车,三件结束,才能得到正确结果,结果如下:
方法二: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,),结果展示:
看到这里,相信你对VLOOKUP函数反向查找心中的疑惑已经豁然开朗了,如果还觉得不够具体,请观看笔者对于VLOOKUP函数反向查找讲解的视频。纯手打不易,希望大家多多支持,能与大家互相学习,共同进步!