首页 > Excel专区 > Excel教程 >

Excel可以这样用VLOOKUP函数

Excel教程 2021-12-31 21:42:18

俗话说一个好汉三个帮一个篱笆三个桩,在函数中也是如此,有时候要发挥出函数的全部威力,就不可避免的要请出另外的一些函数来帮忙才行,例如函数中的大明星VLOOKUP函数,就有很多这样的好朋友…… 在介绍VLOOKUP的朋友们之前,让我们先来复习一下VLOOKUP的基本用法,例如要按照员工ID找出对应的姓名,就可以用公式=VLOOKUP(I2,A:B,2,0)来搞定。

在这个公式中,I2是要找的值,查找范围是A:B,要找的结果在第2列,使用了精确查找的方式。 相信对于这个基本用法,大家都能倒背如流了,以下就要结合一些更有难度的问题,为大家一一展示VLOOKUP的几个得力好友,第一个要出场的就是COLUMN。

有时候我们需要匹配多列数据,例如根据员工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张工作表是物理成绩……现在要一并查出“包治百病”的语文、数学、英语、物理成绩,该怎么写公式呢?


标签: excel函数excel函数公式excel教程

office教程网 Copyright © 2016-2020 https://www.office9.cn. Some Rights Reserved.