vlookup函数表格套用_vlookup函数比对表格数据_vlookup比对两个表格

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

VLOOKUP函数精解(已发,)

VLOOKUP排错(已发,)

VLOOKUP函数动态返回不同的列(已发,详情阅读)

VLOOKUP函数使用多个条件(已发,详情阅读)

VLOOKUP函数返回多个值

VLOOKUP函数反向查找

VLOOKUP函数查找多个工作表的数据

今天是第7篇,VLOOKUP查找多个工作表中的数据。

01

场景介绍

VLOOKUP从一个区域中查找相应的数值,已经是非常熟悉的应用了。但是,有的时候,我们需要查找的区域可能在多个不同的工作表上:

vlookup函数表格套用_vlookup比对两个表格_vlookup函数比对表格数据

但是这个产品与大类的对应表存在多个表上:

vlookup比对两个表格_vlookup函数表格套用_vlookup函数比对表格数据

上面是A工厂产品的资料表,还有一些在B工厂的表格中:

vlookup函数表格套用_vlookup函数比对表格数据_vlookup比对两个表格

还有一些产品在其他工厂的资料表中。

如果我们写VLOOKUP公式,只能返回一个表格区域的结果。

02

使用VLOOKUP查找多个表

我们需要使用一个复杂的公式。

首先,在表格中创建一个区域,输入所有的工作表名称:

vlookup比对两个表格_vlookup函数比对表格数据_vlookup函数表格套用

然后在C2单元格中输入公式:

=VLOOKUP(B3,INDIRECT("'"&INDEX($H$3:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$H$3:$H$5&"'!$B$3:$C$100"),B3)>0),0))&"'!$B$3:$C$100"),2,FALSE)

vlookup函数表格套用_vlookup比对两个表格_vlookup函数比对表格数据

注意这是一个数组公式,所以需要按Ctrl+Shift+Enter来输入。然后填充到整列,得到结果:

vlookup比对两个表格_vlookup函数比对表格数据_vlookup函数表格套用

下面简单解释一下这个公式:

=VLOOKUP(B3,INDIRECT(“‘”&INDEX($H$3:$H$5,MATCH(1,–(COUNTIF(INDIRECT(“‘”&$H$3:$H$5&”‘!$B$3:$C$100″),B3)>0),0))&”‘!$B$3:$C$100”),2,FALSE)

公式中紫色背景的部分就是我们添加的辅助区域,用于记录存放产品资料的工作表名称。所以,下面公式中紫色背景部分:

=VLOOKUP(B3,INDIRECT(“‘”&INDEX($H$3:$H$5,MATCH(1,–(COUNTIF(INDIRECT(“‘”&$H$3:$H$5&”‘!$B$3:$C$100″),B3)>0),0))&”‘!$B$3:$C$100”),2,FALSE)

就是去分别计算每个工作表中是否包含B3这个单元格的值,如果包含单元格的值的话,计数就大于0,否则返回0

=VLOOKUP(B3,INDIRECT(“‘”&INDEX($H$3:$H$5,MATCH(1,–(COUNTIF(INDIRECT(“‘”&$H$3:$H$5&”‘!$B$3:$C$100″),B3)>0),0))&”‘!$B$3:$C$100”),2,FALSE)

这样,这个逻辑表达式就会返回每个工作表是否含有要查找的值,比如,这里的结果就是:{1;0;0},

然后Match函数就会找到那个包含查找值的序号:

=VLOOKUP(B3,INDIRECT(“‘”&INDEX($H$3:$H$5,MATCH(1,–(COUNTIF(INDIRECT(“‘”&$H$3:$H$5&”‘!$B$3:$C$100″),B3)>0),0))&”‘!$B$3:$C$100”),2,FALSE)

这里的结果就是1vlookup函数比对表格数据,也就是第一个工作表包含要查找的值。

于是,下面的阴影部分就找到了这个工作表名称:

=VLOOKUP(B3,INDIRECT(“‘”&INDEX($H$3:$H$5,MATCH(1,–(COUNTIF(INDIRECT(“‘”&$H$3:$H$5&”‘!$B$3:$C$100″),B3)>0),0))&”‘!$B$3:$C$100”),2,FALSE)

然后,INDIRECT函数引用相应区域:

=VLOOKUP(B3,INDIRECT(“‘”&INDEX($H$3:$H$5,MATCH(1,–(COUNTIF(INDIRECT(“‘”&$H$3:$H$5&”‘!$B$3:$C$100″),B3)>0),0))&”‘!$B$3:$C$100”),2,FALSE)

剩下的就是一个非常简单的VLOOKUP了。

vlookup函数表格套用_vlookup函数比对表格数据_vlookup比对两个表格

这是一个复杂的IF公式,即使对于很多Excel老手来说,也不是一眼就能明白这个公式,更不用说遇到问题时自己写出这样的公式了。

所以,我一般不推荐使用这种公式解决问题。这里的公式主要是写在这里以备紧急情况下你可以参考,解决燃眉之急。

更好的做法是学习使用其他的方法,这样你就可以自己解决这个问题。

你能想到不使用公式就解决这个问题的办法吗?提示一下,使用Power Query。如果你想到了怎么做,可以留言告诉我。


娜娜项目网每日更新创业和副业教程

网址:nanaxm.cn 点击前往娜娜项目网

站 长 微 信: nanadh666

声明: 本站内容转载于网络,版权归原作者所有,仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任,若侵犯到你的版权利益,请联系我们,会尽快删除处理!