【例】如下图所示工作簿中,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。

  公式设置并复制完成后,你会发现各表的数据已合并过来!

  

  当删除表格,汇总表中会自动删除该表数据,当增加新工作后,该表数据会自动添加进来。

  

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注