VLOOKUP函数,多表查找各地区店名的工程造价

与 30万 读者一起学Excel


VLOOKUP函数,多表查找各地区店名的工程造价_第1张图片


有三个地区,分别是无锡、响水和苏州,各自的信息记录在三张表格,每个表格的格式都是一样的。如何根据地区跟店名在三个表格中查找造价?


格式相同的明细表

VLOOKUP函数,多表查找各地区店名的工程造价_第2张图片


查询表

VLOOKUP函数,多表查找各地区店名的工程造价_第3张图片


在查询表的C2单元格输入公式,并向下复制。

=VLOOKUP(B2,INDIRECT(A2&"!B:C"),2,0)


正常跨表查询都是这样写公式的:

=VLOOKUP(B2,无锡!B:C,2,0)

=VLOOKUP(B2,响水!B:C,2,0)

=VLOOKUP(B2,苏州!B:C,2,0)


参数2是工作表名称!区域这样的形式,通过不断的改变工作表名称可以查询任意表格。


因为查询表已经提供了工作表名称,这时我们重新再用&连接区域即可。

=A2&"!B:C"


可是当我们直接这样引用并输入公式的时候,却提示了错误。

VLOOKUP函数,多表查找各地区店名的工程造价_第4张图片


其实直接用&得到的只是一个文本,得通过INDIRECT函数间接引用才能转换成一个真正的区域。

=INDIRECT(A2&"!B:C")

VLOOKUP函数,多表查找各地区店名的工程造价_第5张图片


在查询表有了地区的名字会比较好找,假如没有地区的名字,根据店名又该如何在这三个表格中查询工程造价?


在查询表的C2单元格输入公式,并向下复制。

=SUM(SUMIF(INDIRECT({"无锡","响水","苏州"}&"!B:B"),B2,INDIRECT({"无锡","响水","苏州"}&"!C:C")))


因为查询的是数值,前面有提到,查询数值用SUM家族来处理最好。


因为是三个表格,所以先构成这三个表的区域文本。

{"无锡","响水","苏州"}&"!B:B"


接着嵌套INDIRECT函数进行间接引用,变成真正的区域。

INDIRECT({"无锡","响水","苏州"}&"!B:B")


根据SUMIF函数的语法,设置公式:

=SUMIF(INDIRECT({"无锡","响水","苏州"}&"!B:B"),B2,INDIRECT({"无锡","响水","苏州"}&"!C:C"))


这时奇怪的现象发生了,除了无锡这个表的对应值是对的,其他都是错的。

VLOOKUP函数,多表查找各地区店名的工程造价_第6张图片


这究竟是怎么一回事呢?


其实用SUMIF函数产生的一共有三个数据,而不止一个,因为无锡这第一个表,正常的话一个单元格只能显示第一个数据,也就是无锡是对的。而响水跟苏州是第2,第3个数据,显示不出来,所以错误。


有疑惑最好的办法就是在编辑栏用鼠标选中公式抹黑,然后用F9键解读。

VLOOKUP函数,多表查找各地区店名的工程造价_第7张图片


因为是三个数据,需要在最外面嵌套SUM函数进行求和才能变成一个值,这样才能得到准确的结果。


连续投票和留言,6月16日抽30名读者送书。


VLOOKUP函数,多表查找各地区店名的工程造价_第8张图片



推荐:VLOOKUP函数之魅

上篇:你平常遇到的Excel日期问题,全在这里了!

VLOOKUP函数,多表查找各地区店名的工程造价_第9张图片

突然觉得做微信公众号原创作者是一件很苦逼的事情,别人上班你也在上班,别人放假你依然要上班。特别是节假日,一个人躲在房间里写文章的心情,真的。。。


写出来的文章受欢迎心情还好点,付出有所回报,写出来阅读者寥寥,那就更不好受。


每天写一篇原创文章,有的时候真的想破脑筋。2年半的时间,有多少次想过放弃,真的很累,最后还是咬着牙坚持。


其实,卢子要的不多。只要是人,都希望有更多的支持者,平常打打赏,金额不在多,1、2元也行。看过的文章,都点亮“在看”。


VLOOKUP函数,多表查找各地区店名的工程造价_第10张图片


作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

VLOOKUP函数,多表查找各地区店名的工程造价_第11张图片

请把「Excel不加班」推荐给你的朋友

你可能感兴趣的:(VLOOKUP函数,多表查找各地区店名的工程造价)