【常用查找技巧】这样用VLOOKUP函数,比一般的查找好用3倍!
编按:哈喽,大家好!VLOOKUP可算得上是查询函数界的大明星。但如何用它同时在两张工作表,甚至多张,如三张、四张工作表中查询需要的数据呢?下面这篇文章就给大家揭晓答案!
俗话说一个好汉三个帮一个篱笆三个桩,在函数中也是如此,有时候要发挥出函数的全部威力,就不可避免的要请出另外的一些函数来帮忙才行,例如函数中的大明星VLOOKUP函数,就有很多这样的好朋友……
在介绍VLOOKUP的朋友们之前,让我们先来复习一下VLOOKUP的基本用法,例如要按照员工ID找出对应的姓名,就可以用公式=VLOOKUP(I2,A:B,2,0)来搞定。
在这个公式中,I2是要找的值,查找范围是A:B,要找的结果在第2列,使用了精确查找的方式。
相信对于这个基本用法,大家都能倒背如流了,以下就要结合一些更有难度的问题,为大家一一展示VLOOKUP的几个得力好友,第一个要出场的就是COLUMN。
情形1:连续多列使用VLOOKUP
有时候我们需要匹配多列数据,例如根据员工ID找到对应的姓名、所在部门和入职时间三条信息。
你当然可以在每一列单独使用VLOOKUP来匹配,但是也可以在COLUMN的帮助下用一个公式得到想要的结果,这个公式就是=VLOOKUP($I2,$A:$D,COLUMN(B1),0)。
因为分别使用三次VLOOKUP时,其实只有第三参数发生了变化,其他参数都是固定的,例如匹配姓名时第三参数是2,匹配部门时第三参数就顺延变成3。
而COLUMN(B1)的作用表面上来看是得到B1单元格的列号,右拉时就是C1单元格的列号,但这个结果正好可以让VLOOKUP找到正确的结果。
只是需要注意,VLOOKUP联合COLUMN时,第一参数要锁定列号,即为$I2,第二参数要绝对引用,否则右拉时就会出错。
情形2:不连续多列使用VLOOKUP
比前一种情况更复杂的就是,要得到的内容在源数据中不是连续的列,而且顺序也是乱的,例如要得到的结果依次是所在部门,姓名和员工类型。
这时候COLUMN就不适用了,需要另一个朋友MATCH来帮忙才行。
公式为:=VLOOKUP($I2,$A:$G,MATCH(J$1,$A$1:$G$1,0),0)
在这类问题中,变化的还是VLOOKUP的第三参数,但由于第三参数的数字出现并没有什么规律,因此就需要MATCH来进行一个定位,单独来看MATCH(J$1,$A$1:$G$1,0),结果正好就是我们要找的信息所在的列号。
VLOOKUP联合MATCH使用时同样要注意引用方式,$的用法在这里起到了关键的作用。
除了以上两种多列使用VLOOKUP的情况,还有一类比较特殊的情况,就是数据源分别在两个表格中。
情形3:数据源分布在两张表中,如何使用VLOOKUP
例如这种情况,财务部和行政部的人员名单是分开的。
公式=VLOOKUP($A2,财务部!$A:$G,MATCH(B$1,财务部!$1:$1,0),0)只能找出财务部的人员信息。
正常情况下,要筛选出错误值的数据,再针对行政部的员工数据,使用一次VLOOKUP。
但其实只要加入IFERROR这个函数,就可以一次性实现在两个数据源中使用VLOOKUP了。完整的公式是这样的:
=IFERROR(VLOOKUP($A2,财务部!$A:$G,MATCH(B$1,财务部!$1:$1,0),0),VLOOKUP($A2,行政部!$A:$G,MATCH(B$1,行政部!$1:$1,0),0))
这个公式看起来比较长,但其实很简单,就是IFERROR(VLOOKUP(),VLOOKUP())这样的结构。
原理也很容易理解,当第一个VLOOKUP找不到的时候就会得到错误值,利用IFERROR的特性使得第二个VLOOKUP生效,从而实现了两个VLOOKUP的完美结合。
情形4:数据源分布在三张表中,如何使用VLOOKUP
上面说了在两张工作表中查询,如果还有更多张工作表呢?譬如第1张工作表是数学成绩、第2张工作表是语文成绩,第3张工作表是英语成绩,第4张工作表是物理成绩……现在要一并查出“包治百病”的语文、数学、英语、物理成绩,该怎么写公式呢?
这个问题就留给大家思考!!有兴趣的可以关注后续教程。
以上介绍的三个函数是直接与VLOOKUP组合后使用的,实际上还有一些函数虽然没有直接参与,却在背后默默的帮助VLOOKUP解决了更多麻烦,你知道VLOOKUP还有哪些朋友吗?可以留言猜猜看,以后有机会继续为大家介绍VLOOKUP更多的朋友。
****部落窝教育-excel跨表查找的方法****
原创:老菜鸟/部落窝教育(未经同意,请勿转载)
更多教程:部落窝教育