Excel多表汇总成一表,indirect函数实用技巧 根据表名拉取数据 跨表查询 图文

2020年3月20日10:35:16Excel多表汇总成一表,indirect函数实用技巧 根据表名拉取数据 跨表查询 图文已关闭评论 3,153 views
微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com

Excel中的跨表查询,多表汇总,对于一些人来说,这是一项必学的技能。

下图中有13张工作表,分别是一月到十二月每个月的销售表以及一张汇总表。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

需求:把一月到十二月份的表数据合并到汇总表中。最后的结果如下图所示。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

“查询”数据,大家都想到可以用VLOOKUP函数来实现,但这个问题中,我们只使用一个VLOOKUP函数是不能解决的,我们必须嵌套一个引用函数INDIRECT来实现跨工作表数据的汇总。

上一篇文章我们很详细地讲了VLOOKUP函数的使用方法,对这个函数不熟悉的可以看看我上篇文章。现在跟大家先讲讲INDIRECT函数的基础用法。

一、INDIRECT函数的使用。

INDIRECT函数主要是返回文本字符串所指定的引用。

语法:INDIRECT(ref_text, [a1])。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

参数说明:

ref_text:必需。 对包含A1样式的引用、R1C1样式的引用、定义为引用的名称或对单元格的引用作为文本字符串的单元格的引用。 如果ref_text不是有效的单元格引用, 则返回#REF!

如果ref_text引用另一个工作簿 (外部引用), 则必须打开另一个工作簿。 如果原工作簿未打开, 则返回#REF!

如果ref_text引用的单元格区域超出1048576的行限制或列限制16384,则返回#REF!错误。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

a1:可选。一个逻辑值,用于指定包含在单元格ref_text中的引用的类型。如果a1为TRUE或省略,ref_text被解释为A1样式的引用。如果a1为FALSE,则将ref_text解释为R1C1样式的引用。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

有了对INDIRECT函数的基本了解,下面我们做这道题就很简单了。

具体操作步骤如下:

1、打开汇总表 -- 选中B2单元格 -- 在编辑栏中输入公式“=VLOOKUP(B$1,INDIRECT($A2&"!A:B"),2,0)”-- 按Enter键回车。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

2、将鼠标光标移到B2单元格右下角出现“”字符号时往右填充公式至G2单元格,往下填充公式至G13单元格。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

3、完整的动图演示如下。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

【公式解析】=VLOOKUP(B$1,INDIRECT($A2&"!A:B"),2,0)

第一个参数(B$1):要查找的值。我们这里要查找的是“姓名”对应的每一个月的销售提成,所以查找值为“姓名”。

第二个参数(INDIRECT($A2&"!A:B")):要查找的区域。以A2单元格为工作表的名称,引用工作表中的A列和B列单元格区域。A列是姓名,B列是销售提成。$A2&"!A:B"是一个文本函数。表示将A2单元格和 "!A:B" 这个字符串联合起来,组成一个新字符串。A2单元格中的内容为“1月”,和 "!A:B" 这个字符串组合后就变成 "1月!A:B" 。所以INDIRECT($A2&"!A:B")这个公式就相当于:=INDIRECT("1月!A:B")

第三个参数(2):返回数据在查找区域的第几列数。这里我们要返回的数据是“销售提成”,销售提成在查找区域中是B列,B列是第2列,所以是 2

第四个参数(0):0表示精确查找,如果省略这个参数的话,默认是模糊查找。精确查找也可以写成FALSE。

Excel多表汇总成一表,如果不用这个函数,vlookup再强大也没用

上述公式简单地理解就是:以A2单元格的名称为工作表的名称,在这张表的A:B区域中精确查找B1的值,并返回B列的结果。

本文已取的原作者授权 禁止转载 原文链接为https://www.toutiao.com/item/6714115240310604292/

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页