俗话说一个好汉三个帮一个篱笆三个桩,在函数中也是如此,有时候要发挥出函数的全部威力,就不可避免的要请出另外的一些函数来帮忙才行,例如函数中的大明星VLOOKUP函数,就有很多这样的好朋友…… 在介绍VLOOKUP的朋友们之前,让我们先来复习一下VLOOKUP的基本用法,例如要按照员工ID找出对应的姓名,就可以用公式=VLOOKUP(I2,A:B,2,0)来搞定 。
【Excel可以这样用VLOOKUP函数】
文章插图
在这个公式中,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的结合 。
推荐阅读
- 3个Excel公式都看不懂!”
- 7个Excel小技巧,提高表格查看效率!
- Excel里Ctrl+F/Ctrl+H使用技巧
- Excel冷门小技巧
- 怎么理解Excel公式中的各种符号?
- excel图表中Dirty有什么作用?
- 5个后悔没早学的Excel小技巧!
- 删除excel空白页的两种方法
- #Excel函数#2.“威力强大”的Index函数
- 十个excel数据输入技巧,助你效率提升十倍!