多列数据查询,不是多条件查询。
- 多条件查询,是根据多个条件查询一列数据。前面文章已经详细介绍过多种使用方法。大家可以翻阅前面的文章。
- 多列数据查询,是根据一个条件查询多列数据。如根据姓名,查询性别,年龄,生日,工资,部门等。
大家可能有这样的经历,由于要查询多列数据,我们就需要设置多个Vlookup公式。这样很费时间,而且不便于更新,还容易出错。
那有没有办法,只设置一个Vlookup公式,就可以完成多个Vlookup公式的功能?以后更新,也只要更新一个Vlookup公式呢?
答案是:可以的。
下面就分享一下Vlookuo之多列数据查询 。
案例:
如以下表格,我们要查询刘冰冰的工号,部门,年薪,性别,年终奖,年龄,生日等
姓名 | 工号 | 部门 | 年薪 | 性别 | 年终奖 | 年龄 | 生日 |
刘冰冰 |
第一种方法。根据查询结果列设置多个Vlookup。
根据查询的数据列,分别设置7个Vlookup.
- 工号查询,在M2输入=VLOOKUP(L2,A:B,2,0)
- 部门查询,在N2=VLOOKUP(L2,A:C,3,0)
- 年薪查询,在O2=VLOOKUP(L2,A:D,4,0)
- 性别查询,在P2输入=VLOOKUP(L2,A:E,5,0)
- 年终奖查询,在Q2输入=VLOOKUP(L2,A:F,6,0)
- 年龄查询,在R2输入=VLOOKUP(L2,A:G,7,0)
- 生日查询,在S2输入=VLOOKUP(L2,A:H,8,0)
这是传统的使用方法,也是大多数人采用的方法。如果数据不多,可以继续使用这种方法。但如果有几十列数据,并经常更新,那效率就比较低,可能会花1个小时更新公式,还容易出错。
第二种方法。使用绝对引用$,设置一个Vlookup
首先我们来分析一下Vlookup的三个参数,Vlookup(查询值,查询范围,查询结果列,查询精度)
- 查询值L2,规律是行号列号不变。我们可以锁定行号列号,即在前面加一个$号,$L$2。
- 查询范围,规律是在A:B到A:S之间变化。我么可以统一设置一个最大的范围A:H,并锁定列数,$A:$H.
- 查询结果列,规律是在2到8直接变更。我们可以使用Match函数自动查询列数。
公式变更为:
在M2输入=VLOOKUP($L$2,$A:$H,MATCH(M$1,$A$1:$H$1,0),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公式,大大的提升了工作效率,以后更新也很方便。
大家还有其他的多列数据查询方法吗?
以后总会用得上,值得关注,收藏,点赞。