Excel常用函数之VLOOKUP函数动态返回不同的列
从近期与大家的交流看,还有很多朋友对VLOOKUP函数不是很熟悉。因此,准备详细的介绍一下这个函数的使用。VLOOKUP函数功能非常强大,使用场景也变化很大,因此准备分为几篇来介绍:
VLOOKUP函数精解(已发,详情阅读这里)
VLOOKUP排错(已发,详情阅读这里)
VLOOKUP函数动态返回不同的列
VLOOKUP函数使用多个条件
VLOOKUP函数返回多个值
VLOOKUP函数反向查找
今天是第三篇,VLOOKUP动态返回不同的列,主要内容有:
应用场景介绍
自动返回不同的列的两种方法
01
场景介绍
这个场景挺常见的。假设我们有资料区域(将来的查找区域)如下:
我们需要在另外的地方引用这个表中的数据:
这肯定需要使用Vlookup函数来解决。但是,这里有一个问题,就是我们不仅仅需要返回一列,而是需要多列数据(门派,功夫,销售,年龄)
我们当然可以写多个VLOOKUP函数,然后修改每个公式的第三个参数,分别为2,3,4,5。
如果要返回的列比较多,这么做效率会低,而且有可能会由于手误导致错误。
02
自动返回不同的列的两种方法
01
返回顺序的列
前面介绍的这个例子中,我们需要返回的列正好在查找区域中顺序排列。这种情况下,可以使用公式:
=VLOOKUP(B5,$I$5:$L$10,COLUMN()-1,1)
这个公式跟普通VLOOKUP公式的唯一区别就是将第三个参数从2改变为COLUMN()-1,下图介绍了这个公式的运行方式:
02
不按顺序返回的列
在有些场景中,我们需要的列可能不是按照查找区域中的列的顺序返回:
这种情况下,就不能使用上面的公式了,需要与match函数结合一起使用:
=VLOOKUP(B5,$I$5:$O$10,MATCH(C$4,$I$4:$O$4,0),0)
通过MATCH函数返回当前列在查找区域中的位置:
这个方法也可以用来解决上一个场景中的问题