Excel多表查找方法:如何在三张及以上的表格中查找数据

Excel多表查找方法:如何在三张及以上的表格中查找数据
2024年01月25日 10:36 部落窝教育

编按:有三张及以上的工作表,怎么用VLOOKUP函数进行查找呢?两个表的话,解决起来很简单,三张表,则稍微要复杂一点。今天给大家介绍两种思路,一个是IF函数确定查找范围,另一个是用Indirect函数,一起来看看吧!

有时候我们会遇到数据源有三张表格的情况,例如下面这个例子。

一张表就是一个查找区域,多张表就有多个查找区域,如何使用VLOOKUP查找数据呢?如果只是两张表,则可以用IFERROR+2个Vlookup就搞定《怎么用vlookup在两个查找区域里查找》

下面分享两种常用的思路。

每个月份的数据结构是相同的,如果要查找1月的数据,公式为=IFERROR(VLOOKUP(A2,'1月'!A:B,2,0),"")

查找2月的数据,公式为=IFERROR(VLOOKUP(A2,'2月'!A:B,2,0),"")

可以看出两个公式只是查找区域中的工作表名称不同。怎么不用手动修改工作表名称而自动获得需要的查找区域呢?

思路1:用IF函数确定查找区域实现三表查找

完整的公式为:=IFERROR(VLOOKUP($A2,IF(B$1="1月销售额",'1月'!$A:$B,IF(B$1="2月销售额",'2月'!$A:$B,IF(B$1="3月销售额",'3月'!$A:$B,""))),2,0),"")

公式中IF(B$1="1月销售额",'1月'!$A:$B,IF(B$1="2月销售额",'2月'!$A:$B,IF(B$1="3月销售额",'3月'!$A:$B,"")))

与我们以往使用IF返回某个具体的结果不同,这里是利用IF函数返回不同的表格区域。

这种思路的弊端挺明显,如果工作表很多则嵌套太多,不方便运算,下面再推荐第二种思路。

思路2:用INDIRECT函数确定查找区域实现三表查找

这个思路是基于'1月'!A:B、'2月'!A:B、'3月'!A:B这样的查找区域是有规律的,可以用连接符构造。构造后再套用INDIRECT函数返回对应的表格范围。只要被查询的工作表的名称包含在查询表的列标题中都可以用这种方法,不管有多少张表!

完整的公式为:=IFERROR(VLOOKUP($A2,INDIRECT(LEFT(B$1,2)& "!A:B"),2,0),"")

最后再给大家唠唠数据源的问题,在日常工作中,尽量避免将单表拆分为多表的情况,比较科学的做法是在数据源增加一列做区分,就本例而言增加一列月份即可,不管做汇总还是做匹配都更方便。

版权申明:

本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部