【例】如下图所示工作簿中,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。
公式设置并复制完成后,你会发现各表的数据已合并过来!
当删除表格,汇总表中会自动删除该表数据,当增加新工作后,该表数据会自动添加进来。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。