举个例子,左边是数据源,我们现在需要查找匹配出部分员工的性别,部门,工资等多列信息。
碰到这种多列查找匹配,小伙伴们是不是要用3次VLOOKUP函数进行查找
在G2输入公式: =VLOOKUP(F2,A:D,2,0)
在H2输入公式:=VLOOKUP(F2,A:D,3,0)
在I2输入公式:=VLOOKUP(F2,A:D,4,0)
这个例子只是需要查找3个,如果需要查找10多个,那用这个还是麻烦了。今天教大家一个技巧,直接一次性的查找匹配出来,分两种情况
(1)需要查找的字段顺序和原始数据中的顺序一致
原始数据中标题字段是按员工、性别、部门、工资依次排列
我们需要查找的结果也是按同样的顺序排列的,上面的例子就是
我们分析上面公式里面,就是第3个参数选择第几列的数字进行变化。
COLUMN()函数是返回单元格的位置在表格中第几列,如COLUMN(B1)就是B1单元格是第几列。显然是第2列,所以结果是2,然后再向右拖动的时候,引用的就是C1,D1,所以数字也会变化3,4,5,6.....
所以,原始公式是:=VLOOKUP(F2,A:D,2,0),将第3个参数换成column函数,然后注意相对引用和绝对引用的数据即可。
现在将G2的公式改成:=VLOOKUP($F2,$A:$D,COLUMN(B1),0)
输入一次公式,直接向右填充,向下填充,就得到了所有的结果。
2、需要查找的字段顺序和原始数据中的顺序不一致
如下所示:原始数据源是员工、性别、部门、工资这个顺序排列的
但是需要查找的表格的顺序是员工、工资、性别、部门,这个是没有任何排序原则的
这个时候,我们就不能用column函数向右填充了。
查找工资的时候,是返回第4列,查找性别的时候,返回第2列,查找部门的时候,返回第3列。
这个时候,我们就需要用到MATCH函数了。
=MATCH(G1,$A$1:$D$1,0)表示,G1单元格的工资,在A1:D1这个区域第几个。是第4个,所以结果是0,MATCH的第3个参数0表示精确查找。
所以我们可以使用这个MATCH函数直接来替换VLOOKUP函数的第3个参数。在G2单元格输入公式:
今天的这个技巧,你们都学会了么?欢迎留言讨论!
-----------------