查找内容不在首列,Vlookup函数如何逆向查找?

2020年7月29日 分类:Excel 作者:企业网盘

上一篇文章《excel函数vlookup函数的操作实例》分享了vlookup函数的基本用法:单条件精确查询。同事文章又结合了单元格引用,对vlookup函数的用法做了进一步说明。

想必大家现在对vlookup函数已经有所了解,并能够基本应用起来。但事实上,vlookup函数作为最最基本的查询函数,功能非常之强大,前面讲的基本用法只是冰山一角。所以,接下来的文章,我会围绕vlookup函数的延伸用法来展开。

今天就来分享,当查找内容不在首列时,vlookup要怎么实现查询?

请回忆一下,我在《excel函数vlookup函数的操作实例》中有展示过vlookup函数的功能界面:

当时,我主要介绍的是4个参数。现在,你可以进一步看一下,我用红框圈出的说明。什么意思呢?可以这么理解:用vlookup函数查询时,第一个参数与第二个参数的首列,必须是同类信息。换言之,vlookup函数,只能对查找区域从左向右查。

我们之前的例子当然已经符合要求了。现在为了强调这点,我把例子调整一下来看,你会更容易理解。

需求不变,还是根据D列的“门店编码”去A~B两列中查找“门店名称”,放在E列。因为A、B两列顺序变了,所以你把公式中的第三个参数改成了1(如截图)。可是发现,结果报错了。

为什么呢?问题就出在,A、B两列的顺序变了,导致第一个参数D2是门店编码,而第二个参数的首列是门店名称,不是同类信息。

所以,请记住,在用vlookup函数查询的时候,一定是要保证查找内容是在查找区域的首列。

可能你又会问了,确实有些时候查找内容不在首列,那这个时候要怎么办?vlookup还能搞定吗?

答案是肯定的

我们来分析一下,查询区域按照原有的顺序,vlookup可以查询。现在只是查询区域的顺序改变了,导致vlookup无法查询。

所以,我们就想,在不手动调整顺序也不增加辅助列的情况下,有没有办法可以让查询区域的顺序调回到原来的顺序呢?

这个是有的,我们可以通过if构建数组来转换,因为数组可以调整数据的顺序。关于数组的知识以后再说。这里我先直接把公式写出来。

IF({1,0},$B:$B,$A:$A)部分,你这么来理解:当if为1时,返回B:B;当if为0时,返回A:A。所以,这里最终返回的结果是:B列的门店编码在左边,A列的门店名称在右边,这样就满足了vlookup的“查找内容得在首列”的条件。

如果你对if{1,0}你还不太理解,没关系,先记住这是固定搭配去用。或者你可以去补一下课:if函数用法、函数中1、0理解、数组理解,当然这些以后我会慢慢分享。

好,到这里,vlookup函数的逆向查找就讲完了。当然,如果你觉得费解,而且数据表结构也允许调整,可以考虑添加辅助列或者手动调换顺序来实现,都OK。

阅读已结束,喜欢的话就点个赞吧
注册坚果云网盘
还有其他问题,可以咨询小坚果咨询小坚果
继续阅读