在我们日常工作中经常会遇到汇总多个工作表数据的问题。如果你只会复制粘贴,那么效率就真的太低了。今天和朋友们分享一种使用VLOOKUP函数汇总多个工作表数据的方法,学会这种方法工作表和数据再多也不怕。
一.要求及说明:
1.要汇总各个工作表中的数据格式必须一致,即数据在各个工作表中的相同位置。
2.总表中的汇总数据的顺序可以与要汇总的各个工作表的位置顺序不一致。
二.操作方法:
1.提取工作表名称:
操作:
(1)快捷键CTRL F3打开名称管理器→新建→名称输入“GZBM”,引用位置输入下方的公式→确定。
=GET.WORKBOOK(1)
(2)在单元格中输入下方的公式,向下拖动一直到出现错误值就可以批量获取带有工作簿名称的工作表名。
=INDEX(GZBM,ROW(A2))
(3)使用选择性粘贴的快捷键CTRL ALT V,将所得公式粘贴为数值。
(4)复制带有中括号以及中括号内的工作簿名,打开替换窗口将工作簿名替换为空白,这样就得到了所有的工作表名。
说明:
(1)GET.WORKBOOK是宏表函数,必须要通过定义名称来使用。
(2)定义的名称GZBM是一个数组,按F9键可以查看其内容。
(3)使用INDEX ROW函数可以提取GZBM的不同元素。
(4)因为第一个工作是总表,不需要提取其名称,所以ROW函数设置A2单元格为其参数,向下拖动时就可以分别提取第2、3、4......个工作表的名称。
2.汇总各个工作表的数据:
为了方便朋友们理解,演示一下公式的由来。
(1)手动汇总一个工作表的数据:
在B2单元格输入下方的公式,向右拖动就可以快速汇总第一个工作的数据。
=VLOOKUP(B$1,何光宗!$A$1:$B$12,2,0)
(2)公式进化:
①.上述的公式只能,汇总一个工作表的数据。如果向下拖动就会出现错误值,所以我们要将VLOOKUP函数的第二个参数优化。
②.其中何光宗是工作表的名称,$A$1:$B$12是引用的单元格区域,“!”相当于“的”的意思。用INDIRECT函数将工作表名称和引用位置连接就可以实现动态引用不同工作表的数据区域,所以将公式优化如下:
=VLOOKUP(B$1,INDIRECT($A2&"!$A$1:$B$12"),2,0)
③这里实现动态引用不同工作表数据的关键是使用INDIRECT函数。
3.公式总结:
通过上面的叙述,可以将公式总结如下:
=VLOOKUP(查找值,INDIRECT(工作表所在单元格&"!引用单元格区域"),汇总数据所在的列,0)
三.注意事项:
1.注意公式中的绝对引用和相对引用。
2.不要忽略公式中的“!”号。
总结,这种汇总多个工作表数据的方法你学会了吗?