如何合并同一个工作簿下的指定工作表到同一个工作表?

工作表名称包含指定文字的才予以合并
关注者
9
被浏览
40,595

6 个回答

这是一个最完美的合并工作表解法,不仅能够自动刷新合并内容,还解决了移动文件位置导致无法刷新的问题,小白教程,超详细讲解!!!

日常工作中,我们经常会遇到需要合并多个表格的问题,比如汇总成绩,汇总每月销售记录等,通常的操作是复制粘贴,或vlookup函数来进行查找匹配,对于需要经常维护更新的表格,如果每次都要花大量的时间操作这些无意义不体现价值的事情,太不值得了。

所以,今天分享一个一劳永逸的方法,希望能帮到你。

此方法适用于各工作表在同一个工作簿的情况,至于合并多个工作簿,咱们后续再分享教程。

以合并这三个工作表为例,

首先,我们新建一个汇总工作簿,然后打开它

初阶汇总

数据→新建查询→从文件→从工作簿→选中需要汇总的表→导入,即可打开Power Query导航器


勾选“选择多项”,把需要汇总的表都勾上,然后点击右下角的“转换数据”,进入Power Query编辑器


点击“主页”→组合→将查询追加为新查询→三个或更多表→双击需要汇总的表格→确定,即可完成数据的追加汇总


点击“关闭并上载”,回到Excel界面,即可看到已完成汇总的表格了


当数据源的数据有变动时,我们只需要在汇总表点击刷新就可以了


当数据源中新增列时,也可以直接刷新


凡事都有个但是~

虽然我们已经能够自动完成汇总,不再需要复制粘贴了,但是你会发现,当你兴冲冲的把表发给领导同事,或移动了文件位置时,刷新不管用了,怎么办?

接下来,我就分享一个进阶技巧,轻松解决无法刷新的问题


进阶汇总

首先,在Excel中新建一个sheet表,在A1单元格中输入以下公式,获取该工作簿的地址,通过&连接数据源表名,即可得到动态地址

=LEFT(CELL("filename"),FIND("[",CELL("filename"))-1)&"301班.xlsx"


选中A1单元格,点击公式→定义名称→把名称改为“路径”→确定,点击保存


进入Power Query界面,点击界面右边“应用的步骤”中的“源”,然后删除编辑栏中红色的字


把以下公式复制到括号中,依次修改表2、表3的路径,然后点击关闭并上载,回到Excel界面

Excel.CurrentWorkbook(){[Name="路径"]}[Content]{0}[Column1]


把已有的数据删除,点击全部刷新,发现已能正常运行


把文件打包发给最终大boss之后,依旧能正常刷新


完啦,就这样~

如果你在繁杂的数据汇总中迷失了自己,那就好好看看这篇文章吧,利用Power Query解放生产力!

案例文件下载链接:

pan.baidu.com/s/1OmdH0L

提取码:nbap

往期精华素材:

员工考勤管理系统—自动统计.xlsx

高级了,财务报销管理系统.xlsx

轻奢进阶版,进销存管理系统.xlsx

看板.xlsx

企业宣传.pptx

全年自动排班系统.xlsx

54张管理报表模板.xlsx用Excel数据透视表,轻松建立RFM模型!

王者荣耀教你玩Excel

1、新建一个Excel工作薄,工作簿名称任你定义。

2、打开此工作薄,将其中一个Sheet重命名为"汇总"。

3、在其下任一个工作表标签上点击右键,选择“查看代码”。

4、在打开的VBA编辑窗口中粘贴以下代码:

Sub 合并同一个工作簿下的指定Sheet到同一个Sheet()
Dim i, j As Integer 'i是数据源表的最后一行,j是目标表(数据表)的最后一行
Dim sht As Worksheet

Application.ScreenUpdating = False '关闭屏幕刷新
'先要删除所有数据
Sheets("汇总").Range("a1:z65536").ClearContents


'复制数据
For Each sht In Sheets
If sht.Name <> "汇总" And InStr(sht.Name, "费用") > 0 Then
i = sht.Range("a65536").End(xlUp).Row
j = Sheets("汇总").Range("a65536").End(xlUp).Row
sht.Range("a1:z" & i).Copy Sheets("汇总").Range("a" & j)
End If
Next
MsgBox "执行完毕!"
Application.ScreenUpdating = True '打开屏幕刷新
End Sub

5、指定要合并的Sheet。对“If InStr(sht.Name, "费用") > 0 Then”这段代码中的"费用"修改,比如修改成"经销商",则包含“经销商”几个文字的工作表都会纳入合并

6、关闭VBA编辑窗口。

7、在excel中,工具---宏---宏,选“合并工作簿的各个sheet到同一个sheet”,然后“执行”。

8、等待...ok!