1职场实例
小伙伴们大家好,今天我们来解决一个Excel职场常见的问题:Vlookup函数查找表格中不连续的列!
如下图所示:
A7:F9单元格区域为数据源区域,我们想要在查找区域A1:D2区域中,根据编号信息,依次查找出姓名、民族、地区信息。并且我们发现一个特点:想要查找的姓名、民族、地区信息在数据源A7:F9中的标题行区域中不是连续的列位置,那么我们如何在B2、C2、D2单元格一次性快速的通过编号查找出来姓名、民族和地区呢。
2解题思路
解决这样的查询类问题,我们通常是使用Excel中出现频率极高的VLOOKUP函数,但是使用普通的VLOOKUP函数有一个缺陷,就是查找不连续的列信息时,效率很低,如下图所示:
我们在B2单元格中输入函数公式:
=VLOOKUP($A2,$A$7:$F$9,2,0)
回车键结束公式,查询出第一个姓名信息。
至此,我们要想快速的查询出后面的名族与地区,通常会将B2单元格中的公式:
=VLOOKUP($A2,$A$7:$F$9,2,0)
依次复制粘贴至C2和D2单元格中,并分别将C2单元格公式中的第三参数2手动修改为4,变成:
=VLOOKUP($A2,$A$7:$F$9,4,0)
将D2单元格公式中的第三参数2手动修改为6,变成:
=VLOOKUP($A2,$A$7:$F$9,6,0)
最终查询出民族与地区。这样做如果数据源与查找的字段非常多的情况下,比如我们要查找几十项不连续的列信息,这样低效率的手动复制并更改参数就显得力不从心了。
解决这个问题正确的做法是通过使用MATCH函数来构造一个动态的VLOOKUP函数的第三参数。
MATCH函数是Excel中使用频率非常高的函数之一,MATCH函数用于在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置。
MATCH函数语法具有下列参数:
lookup_value:必需参数,查找值,可以是值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用,用于在单元格区域中完成匹配;
lookup_array:必需参数,单元格区域。
match_type:可选参数,匹配方式,范围{-1,0,1},默认是1。指定查找值在单元格区域中以什么样的方式进行匹配。
下面我们来介绍一下具体的解决方案。
我们在B2单元格输入函数公式:
=MATCH(B1,$A$7:$F$7,0)
查找出B1单元格的“姓名”字段在数据源标题行A7:F7区域中位于第2列。
我们用MATCH函数结果作为VLOOKUP函数的第三参数后,随着公式的向右填充,就可以分别判断出“民族”字段与“地区”字段在数据源标题行A7:F7区域中位于第4列和第6列。这样就快速的构造了一个动态的VLOOKUP函数的第三参数。
我们继续修改B2单元格的函数公式为:
=VLOOKUP($A2,$A$7:$F$9,MATCH(B1,$A$7:$F$7,0),0)
回车结束公式后,即可用Vlookup函数查找表格中不连续的列!