把同一个excel文件中的工作表合并到一个表中,终于找到一个比较简便的方法,而且是可以合并任意多个工作表。这个方法只需要使用3个excel函数公式。
【例】如下图所示工作簿中,A,B,C,D为4个格式相同行数可能不同的表格,需要把这4个表合并到“汇总”表中。
操作步骤:
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)/6)+1)
公式说明:
此公式目的是在A列自动填充工作表名称,并每隔N行更换填充下一个名称。公式中6是各表格的现在或将来更新后最大行数,尽量设置的大一些。以免将来增加行汇总表无法更新数据。sh是第1步添加的名称。
3、在B2输入公式并向右向下填充,取得各表的数据。
=INDIRECT($A2&"!"&ADDRESS(COUNTIF($A$1:$A2,$A2)+1,COLUMN(A1)))
公式说明:
此公式目的是根据A列的表名称,用indirect函数取得该表的值。其中address函数是根据行和列数生成单元格地址,如address(1,1)的结果是$A$1。
公式设置并复制完成后,你会发现各表的数据已合并过来!
当删除表格,汇总表中会自动删除该表数据,当增加新工作后,该表数据会自动添加进来。