主页 > 网络营销 >

最经典的嵌套,Vlookup从多个表中查找

时间:2023-03-24作者:admin

简介哈喽,大家好。 今天来给大家讲讲VLOOKUP函数,如果查找区域有多个,是变动的。 譬如有多个工作表,怎么用VLOOKUP函数进行查找呢? 今天给大家介绍两种思路: 1、IF函数确定查找范围

  哈喽,大家好。
 
  今天来给大家讲讲VLOOKUP函数,如果查找区域有多个,是变动的。
 
  譬如有多个工作表,怎么用VLOOKUP函数进行查找呢?
 
  今天给大家介绍两种思路:
 
  1、IF函数确定查找范围
 
  2、Indirect函数确定范围
 
  看下图,每个月份的数据结构是相同的,如果要查找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),"")
 
  最后再给大家唠唠数据源的问题,在日常工作中,尽量避免将单表拆分为多表的情况,比较科学的做法是在数据源增加一列做区分,就本例而言增加一列月份即可,不管做汇总还是做匹配都更方便。

很赞哦! ()

文章评论

    昵称(*):
    评论内容(*):