把同一个文件中的工作表合并到一个表中,兰色终于找到一个比较简便的方法,而且是可以合并任意多个工作表。这个方法只需在第一次时拖动excel函数公式。
【例】如下图所示工作簿中,有3个地区的手机销售明细表(实际合并时可以有多个),需要把这3个表合并到“汇总”表中。
操作步骤:
1、公式 - 名称管理器 - 新建名称 - 在新建名称中输入名称“sh”,然后“引用位置”框中输入公式:
=MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,99)&T(now())
公式说明:
GET.WORKBOOK(1)是宏表函数,当参数是1时,可以获取当前工作簿中所有工作表名称,由于名称中带有工作簿名称,所以用FIND+MID截取只含工作表名称的字符串。&T(now())的作用是让公式自动更新。
2、在A列输入下面公式:
=INDEX(sh,INT((ROW(A1)-1)/12)+1)
公式说明:
此公式目的是在A列自动填充工作表名称,并每隔N行更换填充下一个名称。公式中12是各表格的现在或将来更新后最大行数,尽量设置的大一些。以免将来增加行汇总表无法更新数据。sh是第1步添加的名称。
3、在B2输入公式并向右向下填充,取得各表的数据。
=INDIRECT($A2&"!"&ADDRESS(COUNTIF($A$1:$A2,$A2)+1,COLUMN(A1)))
公式说明:
此公式目的是根据A列的表名称,用indirect函数取得该表的值。其中address函数是根据行和列数生成单元格地址,如address(1,1)的结果是$A$1。
公式设置并复制完成后,你会发现各表的数据已合并过来。
合并过来后,你就可以用数据透视表很方便的生成分类汇总报表。
注:如果不删除汇总表和下面的错误值行,在生成数据透视表中把汇总表和错误值的选项取消勾选,当然也可以用函数屏蔽错误值和判断取值
当删除表格,汇总表中会自动删除该表数据,当增加新工作后,该表数据会自动添加进来。
兰色说:可以会有同学说公式太复杂了。其实你不需要懂公式,只需要按本文步骤操作即可。