大家可能有这样的经历,由于要查询多列数据,我们就需要设置多个Vlookup公式。这样很费时间,而且不便于更新,还容易出错。
那有没有办法,只设置一个Vlookup公式,就可以完成多个Vlookup公式的功能?以后更新,也只要更新一个Vlookup公式呢?
答案是:可以的。
先介绍一下多条件查询和多列数据查询的区别。
根据多个条件查询一列数据
根据一个条件查询多列数据
下面就分享一下Vlookuo之多列数据查询的两种方法。
案例:
工号,部门,年薪,性别,年终奖,年龄,生日

第一种方法。根据查询结果列设置多个Vlookup。
根据查询的数据列,分别设置7个Vlookup.
22
23
4
25
26
27
28

这是传统的使用方法,也是大多数人采用的方法。如果数据不多,可以继续使用这种方法。但如果有几十列数据,并经常更新,那效率就比较低,可能会花1个小时更新公式,还容易出错。
第二种方法。使用绝对引用$,设置一个Vlookup
首先我们来分析一下Vlookup的三个参数,Vlookup(查询值,查询范围,查询结果列,查询精度)
查询值L2,规律是行号列号不变。我们可以锁定行号列号,即在前面加一个$号,$L$2。
查询范围,规律是在A:B到A:S之间变化。我么可以统一设置一个最大的范围A:H,并锁定列数,$A:$H.
查询结果列,规律是在2到8直接变更。我们可以使用Match函数自动查询列数。
公式变更为:
MATCH(M$1,$A$1:$H$1,0)
查询值$L$2。如上面解释,行号列号锁定加$符号。
查询范围$A:$H。如上面解释,统一设置最大范围并锁定加$符号。
查询结果列MATCH(M$1,$A$1:$H$1,0)。前面文章已经介绍过。Match的功能是返回查询结果所在的位置。

Match语法结果为Match(查询值,查询范围,查询精度).MATCH(M$1,$A$1:$H$1,0)的功能就是查询工号所在的列数。
查询值,M$1。我们锁定行号,因为查询值M1到S1的规定是行号不变。
查询范围,$A$1:$H$1.
查询精度,0. 0代表精准查找,1代表模糊查找。
看看下面例子,在M3输入=MATCH(M$1,$A$1:$H$1,0),并向右复制填充。我们就查到了对应值的列号。这不就是Vlookup的第三参数吗。用Match函数可以动态获取第三参数。

大家是不是觉得很神奇,只需要一个Vlookup公式,即可替代多个Vlookup公式,大大的提升了工作效率,以后更新也很方便。
大家还有其他的多列数据查询方法吗?
以后总会用得上,值得关注,收藏,点赞。