Excel常用函数之VLOOKUP函数动态返回不同的列

从近期与大家的交流看,还有很多朋友对VLOOKUP函数不是很熟悉。因此,准备详细的介绍一下这个函数的使用。VLOOKUP函数功能非常强大,使用场景也变化很大,因此准备分为几篇来介绍:

  1. VLOOKUP函数精解(已发,详情阅读这里

  2. VLOOKUP排错(已发,详情阅读这里

  3. VLOOKUP函数动态返回不同的列

  4. VLOOKUP函数使用多个条件

  5. VLOOKUP函数返回多个值

  6. VLOOKUP函数反向查找

今天是第三篇,VLOOKUP动态返回不同的列,主要内容有:

  1. 应用场景介绍

  2. 自动返回不同的列的两种方法

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函数返回当前列在查找区域中的位置:

这个方法也可以用来解决上一个场景中的问题

(0)

相关推荐