当前位置:首页>维修大全>综合>

EXCEL如何将两个或多个工作表合并成一个工作表(excel多个工作表合并到一个工作簿)

EXCEL如何将两个或多个工作表合并成一个工作表(excel多个工作表合并到一个工作簿)

更新时间:2024-03-14 11:25:58

EXCEL如何将两个或多个工作表合并成一个工作表

看到Excel多表合并,其实常见的有2种场景

场景一:多个Excel文件需要合并为1个Excel文件(多个工作簿合并为1个工作簿)

场景二:1个Excel文件种有多个工作表,需要合并为1个工作表

首先来看下,场景一(多个Excel文件合并为1个文件),都有哪些方法可以实现?

场景描述:如图所示,在文件夹中,有4个Excel文件,每个Excel文件的数据格式都一致,需要把4个Excel文件合并到1个Excel文件中。

每个工作簿中的内容格式都一样,为了区分,我把工作簿1中的 位置 数据,标为了“工作簿1”;工作簿2中的数据标为了“工作簿2”...以此类推。

下面雷哥推荐几种方法来实现多个Excel文件合并为1个文件

方法1:PowerQuery

Step1:单击 【数据】- 【新建查询】 - 【从文件】- 【从文件夹】

Step2:单击 【浏览】,选择文件夹路径

Step3:选择【合并并加载】

最终的效果如图所下图所示。自动增加了

Source.Name

数据列,可以很方便看到数据来自于哪个工作簿

方法2:使用CMD命令,1s搞定合并

Step1:需要把文件格式修改为 csv文件格式。打开文件,另存为csv文件即可

Step2:在文件所在路径,按【shift】+右键,点击【此处打开命令窗口】,输入

copy *.csv out.csv, 即把该路径下所有的csv文件合并到out.csv文件中。

下面来看下,场景二(多个Excel工作表合并为1个Excel工作簿),都有哪些方法可以实现?

场景描述:如图所示,1个excel文件中,有多个工作表,需要合并到1个工作表中。

方法1:PowerQuery法

Step1:单击 【数据】- 【新建查询】 - 【从工作簿】

Step2:选择需要合并的工作表

Step3:在追加查询中,单击【将查询追加为新查询】

Step4:选择所需的工作表

Step5:单击关闭并上载

最终的效果如图所示

方法2:使用宏

Step1:按【Alt】+【F11】

Step2:输入代码,并单击三角形图标运行

Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name <> ActiveSheet.Name Then X = Range("A60000).End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "小主,数据合并结束啦!", vbInformation, "提示" End Sub

运行效果如下图所示,后续我们删去多余的标题行即可~

方法3:插件法 - 最简单

Step1:使用【方方格子】插件,单击【合并工作表】

Step2:选择汇总区域后,单击确定

最终的效果如下

还是插件最简单,分分钟搞定哈~

雷哥:自媒体【雷哥office】创始人,《竞争力:玩转职场Excel,从此不加班》作者,微软Excel专家认证,office培训师,职场老司机,分享职场经验 / 办公技能 / 提高职场效率!

我是头条号:Excel小技巧的小编,分享一些办公常用的技能,希望有我的分享,能提高大家的工作效率,如果觉得文章对你有用,请在下方点个赞,让小编高兴下,如果没有解决你的问题,请给我留言,我们进一步探讨

合并相同文件夹下多个工作表到一个目录中,方法多,但是我们主要使用两种,第一种就是VBA的(部分版本WPS,需要安装插件),第二种可以使用Power Query,但是Power Query 需要Excel 2016以上版本才支持,如果是Excel2010或者2013需要安装插件,所以我们还是采用VBA,比较具有普遍性,在文章的后面附有代码,复制就可以使用;

使用VBA

示例文件如下图所示:

按键盘上面的Alt+F11,把代码粘贴进去,然后点运行就可以了;

操作步骤

附代码:

Sub 合并当前工作簿下的所有工作表()

Application.ScreenUpdating = False

For j = 1 To Sheets.Count

If Sheets(j).Name <> ActiveSheet.Name Then

X = Range("A65536").End(xlUp).Row + 1

Sheets(j).UsedRange.Copy Cells(X, 1)

End If

Next

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示"

End Sub

更多栏目