如何将一个 Excel 工作簿中的多个工作表合并成一个工作表?
111 个回答
看到Excel多表合并,其实常见的有2种场景
场景一 :多个Excel文件需要合并为1个Excel文件(多个工作簿合并为1个工作簿)
场景二 :1个Excel文件种有多个工作表,需要合并为1个工作表
首先来看下, 场景一 (多个Excel文件合并为1个文件),都有哪些方法可以实现?
场景描述:如图所示,在文件夹中,有4个Excel文件,每个Excel文件的数据格式都一致,需要把4个Excel文件合并到1个Excel文件中。
每个工作簿中的内容格式都一样,为了区分,我把工作簿1中的 位置 数据,标为了“工作簿1”;工作簿2中的数据标为了“工作簿2”...以此类推。
下面雷哥推荐几种方法来实现多个Excel文件合并为1个文件
方法一:PowerQuery
Step1
:单击 【数据】- 【新建查询】 - 【从文件】- 【从文件夹】
Step2 :单击 【浏览】,选择文件夹路径
Step3:选择【合并并加载】
最终的效果如图所下图所示。自动增加了Source.Name
数据列,可以很方便看到数据来自于哪个工作簿
方法二:使用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
运行效果如下图所示,后续我们删去多余的标题行即可~
方法三:插件法 - 最简单
Step1:使用【方方格子】插件,单击【合并工作表】
Step2:选择汇总区域后,单击确定
最终的效果如下
还是插件最简单,分分钟搞定哈~
【方方格子】插件的具体功能,雷哥写过一篇文章
创作不易,欢迎大家沟通交流,如果感觉不错,欢迎点赞支持雷哥。谢谢
先说结论:
仅依靠原生Excel, 完全不用任何公式、不用任何代码、不用任何插件 分分钟合并上百个工作表。
传统的做法可能是VBA,代码写好以后,可以一键汇总,但这种方法有两个弊端:
1,工作表多,数据量大以后会变得很慢;
2,如果数据量很大,超过百万行,Excel装不下,这种方式失效。
那么就可以不用VBA(反正大部分人也不懂),下面就教你简单的不敢相信的做法,利用PowerQuery。
步骤一:获取数据
随便新建一个Excel工作簿,点击数据>获取数据>自文件>从工作簿
步骤二:选择一个表,加载入PowerQuery
选择需要合并的工作簿,然后出现如下界面,
随便选择一个表,点击编辑,。
步骤三:删除系统步骤
进入powerquery编辑器后,找到右边步骤面板,把【源】之后的步骤全部删除
步骤四:展开Data
点击Data列右侧的双箭头,如下图,点击确定。
步骤五:数据整理
到这里已经合并完成,
然后提升标题,删除需要的列。
步骤六:上载数据
然后数据就可以在Excel工作表中看到了。
仅仅点击几下鼠标,没有输入任何公式和代码,合并多个工作表就完成了,是不是很强大呢,所以,熟练掌握PowerQuery,你完全可以弯道超车,轻松秒杀多年玩Excel公式的大神级玩家。
PowerQuery学习,可以关注PowerBI专栏:
.