小白一学就会,反向vlookup函数的使用方法详解
VLOOKUP函数是Excel中的一个非常常用的函数,它用于在表格或区域中查找特定值并返回相应的数据。然而,有时候我们需要进行反向查询,即根据查找值返回对应的行号或列号。传统的VLOOKUP函数无法实现这一功能,但我们可以使用一些技巧来实现反向查询。 一、VLOOKUP函数的常规用法 VLOOKUP函数的常规用法是从左向后查询,如下面的示例 =VLOOKUP(L3,B:C,2,FALSE) 这个公式的作用是通过姓名(L4)查询值,从B列开始,返回B:C列(查询区域)姓名对应的第2列数据,也就是身份证号码。 那么,如果通过用姓名查询返回对应的社保卡号呢? VLOOKUP函数的常规用法是做不到的,它只能从左向右查询,那如何才能实现反向查询呢,也就是从右向左查询呢? 二、VLOOKUP函数的反向查询用法 由于VLOOKUP函数的常规用法是不能实现反向查询的,但是可以借助其他函数实现反向查询(从右向左)。 比如上面的示例中,要通过姓名查询到社保卡号,可以使用以下公式: =VLOOKUP(L3,IF({1,0},$B$3:$B$19,$A$3:$A$19),2,FALSE) 这里引入了IF{1,0}这个公式。由于在日常办公中我们一般很少用到,因此很多人在看到IF{1,0}时就毫无头绪。现在我们把这个公式按照VLOOKUP函数的语法拆解开了,进行分析一下: 上面的图片很清晰,除了IF({1,0},$B$3:$B$19,$A$3:$A$19),其他部分都是VLOOKUP函数的常规写法。 下面我们详细讲解一下这个IF({1,0},$B$3:$B$19,$A$3:$A$19)。 首先,我们来看IF函数的常规用法。 IF函数的常规用法是IF(测试条件, 真值, 假值)。它的作用是:如果测试条件为真,则返回真值,否则返回假值。 前面的示例中,IF({1,0},$B$3:$B$19,$A$3:$A$19)实际上是一个数组公式。我们不讲数组,只用最简单的方法说明这个数组公式的用法,让大家真正的理解。我们在Excel中输入以下公式: =IF(1,"这是真值","这是假值"),返回结果是:这是真值。 =IF(0,"这是真值","这是假值"),返回结果是:这是假值。 这里的1和0是判断条件的TRUE和FALSE。在 IF 结构中,所有非 0的数字都等同于TRUE,而0相当于FALSE。 我们继续在Excel中输入以下公式: =IF({1,0},"这是真值","这是假值") 返回的结果是两列,这里{1,0}作为条件,首先是用1判断,返回第一个结果,再用0判断,返回第二个结果,两个结果分别放在单独的一列中。 我们再看原来VLOOKUP公式中的IF返回了什么结果: =IF({1,0},$B$3:$B$19,$A$3:$A$19) 返回的结果是两列,左边是姓名,右边是社保卡号。现在大家能理解了吧,实际上IF({1,0},$B$3:$B$19,$A$3:$A$19)实际上是将姓名列和社保卡列进行了转置,这样,VLOOKUP函数就可以根据姓名查询到对应的社保卡号了。 通过这个例子,我们可以看到,虽然VLOOKUP函数不能直接实现反向查询,但是通过和其他函数的组合使用,我们仍然可以实现反向查询的功能。 不过在实际工作中,我更加倾向于用辅助列,比如直接把姓名列复制并插入到最左侧,按照常规的VLOOKUP函数进行查询,更加简单。查完后删除辅助列即可。 如果你的Excel和WPS升级到最新版的话,还可以用新的函数XLOOKUP,这个函数在我往期的文章中也有讲解,正向反向随意查询,而且使用方法简单。 希望以上的文章能帮助到大家。 最后,说一下我为什么发图文而不发视频教程的原因。一个是很多时候都是用到才会看文章,往往是大家都在工位上的时候,看视频并不方便;另一个是视频比较直观,但是不动手的话,又会形成眼睛会了,手又不会。文章则可以一段一段的看,或者跳的自己需要的部分,甚至是直接复制公式,稍微修改一下就能用,减去了大家试错成本。 |