vlookup函数如何在三张及以上的表中查找数据
作者:老菜鸟来源:部落窝教育发布时间:2023-03-21 16:33:45点击:4216
编按:
有三张及以上的工作表,怎么用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),"")
最后再给大家唠唠数据源的问题,在日常工作中,尽量避免将单表拆分为多表的情况,比较科学的做法是在数据源增加一列做区分,就本例而言增加一列月份即可,不管做汇总还是做匹配都更方便。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
VLOOKUP&LOOKUP双雄战(四):在横向和逆向查询上的血拼!
版权申明:
本文作者老菜鸟;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。