Microsoft Excel
电子表格

如何将多个同样式的excel表汇总成一个?

[图片] 把后面的都汇总,罗列出来就行,表的样式完全一样的。
关注者
97
被浏览
139,669

30 个回答

教大家一个直接用Excel无需插件VBA代码的方法,即可批量合并工作簿。建议点赞▲收藏★,日后工作一定能用得上。

首先,给大家科普一下工作簿和工作表的概念。一个完整的表格文件,叫工作簿。工作簿里面的一页/sheet,叫工作表




合并工作簿主要使用到Power Query的功能,这个功能除了在Power BI有,在2016版本以上的Excel也有。




此处我们以Excel工具作为讲解,把下面6个工作簿合并在一个工作簿中。首先把要合并的工作簿放置在一个文件夹里面。在文件夹外面新建一个空白工作簿,打开这个空白工作簿。



打开这个空白工作簿,在【数据】找到获取数据,选择文件夹,找到要合并工作簿所在的文件夹


选择【转换数据】。


选择Content表头旁边的双箭头


选择【参数1】,按下确定。千万不要选中下面的sheet1哦~


点击Data的箭头,选择展开。


展开里面,把所有的列勾上。


最后在PQ里面整理一下数据,第一行应用标题删除列等,这部分PQ操作技巧会在下面章节详细讲。



最后选择【关闭并上载】,这就把所有数据都上载到Excel了。



最后呈现的就是把所有城市均合并在该工作簿上。如果原来的6个工作簿更新,该合并工作簿只需点击【数据】【刷新】即可同步更新内容。


合并完成。

除了合并工作簿,也经常遇到合并工作表批量提取文件名批量改名发工资条等一系列批量处理的问题。想了解更多实战内容,记得给点赞留言哦~

发布于 2021-06-11 09:53

可以使用《逸凡工作簿合并助手》,轻松合并多工作表

我在#微盘#分享了一个超赞的文件:"逸凡工... 来自龙逸凡
发布于 2015-10-27 13:05

贴一个原来写的合并文件的宏,其实这些宏代码可以在网上找到自己改写的,如果题主你不会,我就摊摊手。。。

Option Explicit

'对文本中的大小写是敏感的

Private Sub DataMergeToFile()

'通用文件合并程序

Dim i As Long

Dim j As Long

Dim k As Long

Dim myPath As String

Dim MyName As String

Dim OutFile As Variant '合并后的主文件名

Dim strFolder As String '合并后主文件所在的目录

Dim SecFolder As String '次要文件所在目录

Application.DisplayClipboardWindow = False

'要求输入合并之后的文件名称,如果取消,就退出程序

OutFile = Application.InputBox("请输入合并后的文件名称!", "文件名")

If OutFile = False Then Exit Sub

'插入一个新工作表

Workbooks.Add

'打开文件框窗口,选取合并的主文件保存的目录

With Application.FileDialog(msoFileDialogFolderPicker)

'用对话框选择一个目录

.Title = "请选择合并后文件保存所在的目录!"

.Show

If .SelectedItems.Count = 0 Then Exit Sub

strFolder = .SelectedItems(1)

End With

'存储合并的主文件

If Not Right(strFolder, 1) Like "\" Then strFolder = strFolder & "\"

ActiveWorkbook.SaveAs fileName:=strFolder & OutFile & ".xlsx"

ActiveWorkbook.Close

'重新打开合并的主文件

Workbooks.Open fileName:=strFolder & OutFile & ".xlsx"

'打开文件框窗口,选取合并的次文件所在目录

With Application.FileDialog(msoFileDialogFolderPicker)

'用对话框选择一个目录

.Title = "请选择需要合并的文件所在的目录!"

.Show

If .SelectedItems.Count = 0 Then Exit Sub

SecFolder = .SelectedItems(1)

End With

'指定合并开始

myPath = SecFolder & "\" ' 指定路径。

MyName = Dir(myPath, vbNormal) ' 找寻第一项。

Do While MyName <> "" ' 开始循环。

' 跳过当前的目录及上层目录。

If MyName <> "." And MyName <> ".." Then

' 使用位比较来确定 MyName 代表一目录。

If (GetAttr(myPath & MyName) And vbNormal) = vbNormal Then

Debug.Print MyName ' 如果它是一个文件,将其名称显示出来。

Workbooks.Open fileName:=myPath & MyName '打开需要合并的文件

Range("A1").Select

Selection.CurrentRegion.Select

i = ActiveSheet.UsedRange.Rows.Count

j = ActiveSheet.UsedRange.Columns.Count

Selection.Copy '拷贝数据

Workbooks(OutFile & ".xlsx").Activate

k = ActiveSheet.UsedRange.Rows.Count

If k > 1 Then k = k + 1

Debug.Print k '定位到总合并文件的最后一行

Range("A" & k).PasteSpecial xlPasteValues

Application.CutCopyMode = False '关闭剪贴板

'Range(Cells(k, j + 1), Cells(k + i - 1, j + 1)).Value = MyName

Workbooks(MyName).Close False '不保存原文件

Kill myPath & MyName

End If

End If

MyName = Dir ' 查找下一个。

Loop

Windows(OutFile & ".xlsx").Activate

'自定义部分,随时修改符合个性需求

' i = Cells(1, 1).CurrentRegion.Rows.Count

' Columns("J:J").NumberFormatLocal = "yyyy/m/d"

' Range("s1") = "成本金额"

' Range("t1") = "零售金额"

' Range("s2").FormulaR1C1 = "=RC[-2]*RC[-7]"

' Range("t2").FormulaR1C1 = "=RC[-8]*RC[-2]"

' Range("s2:t2").Select

' Selection.AutoFill Destination:=Range("s2:t" & i)

' Range("s2:t" & i).Select

' Selection.Copy

' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

' :=False, Transpose:=False

' Application.CutCopyMode = False

'

' For j = i To 2 Step -1

' If Range("A" & j) = "序号" Then Rows(j & ":" & j).Delete Shift:=xlUp

' Next

ActiveWorkbook.Save

End Sub

发布于 2015-10-27 09:55

这个还是比较简单的,参考我的回答:

如何将多个 Excel 工作簿的工作表合并成一个工作表?

搞不定的话可私信问我

有用记得点赞

发布于 2020-05-23 14:59

上面的回答可能会有些复杂!

不是Power Query就是VBA代码,难道就没有简单点的办法吗?

还真的有!今天教大家一个懒人办法,使用伙伴云,只要三步就可以快速把多个excel表合并成一个excel表,具体操作步骤如下:

1、登入伙伴云后,将多个excel工作表一键导入伙伴云


2、点击右侧 “创建聚合表”按钮


3、勾选需要合并的多张excel表格,点击“追加合并”,可根据自己的需求筛选一下要展示的列表,然后点击右上角“创建”即可~


4、最后,“一键导出”汇总后的表格数据就大功告成啦~

悄悄的说,伙伴云不仅可以合并多张表格数据,还可以对汇总后的表格做数据分析,重点是个人用户及20人以下的团队可以免费使用,伙伴云体验地址戳 >>> 「伙伴云」零代码在线数据协作平台,20人以内免费使用

除了合并Excel,伙伴云还还可以把数据可视化。伙伴云仪表盘中不只有柱状图、条形图,更是包含折线图、散点图、面积图、双轴图、饼图、漏斗图、地图等20余种图表组件,你可以根据不同的应用场景自由选择,点击组件可快速添加图表、拖拽即可完成布局。


下面,小编自动切换 伙伴云可视化报表的鉴赏频道,请好好欣赏,千万别眨眼~


怎么样,是不是比excel的统计图好看忆点点了呢?

如果觉得还不错,就可以马上尝试体验起来咯~


如果还是想用Excel做可视化报表,这里给大家整理了 2000+套Excel可视化模板,戳这里下载: 【数据分析可视化模板】但还是推荐用伙伴云制作,方便又快捷~


以上,点赞加关注 @伙伴云,持续更新更多实用Excel技巧~

编辑于 2022-07-05 19:58

下载excel易用宝,excelhome出品的,免费

发布于 2016-08-01 20:06

建议去excelhome下载各式插件或者各种宝,每天准时下班不是梦

发布于 2015-10-27 16:40

摸索过这个问题,当初考虑过学习VBA来解决,最后觉得过于复杂。最终找到了一款足够让人满意的插件轻松解决问题。

本答案唯一重点:kutools-for-excel插件


-----------------------------------------------------------

简要介绍一下这个插件:看图

仔细看一下,里面有很多非常方便的功能,这里我们使用的主要是企业选项卡中的“会总”和“分割数据”功能。更多功能等待开发,不过我还是学生很多功能都用不上。

-------------------------------------------------------------

具体的合并步骤:继续看图

已经提供了表头行数等各种设置选项,四种汇总方式想必是够用了。照着步骤来,很容易就能完成合并生成一张新表(准确地说是两张,还有一张是各个源文件的名称和链接)。

-------------------------------------------------------------

后续操作和处理

虽然提供了标题行数等选项,还是很可能有很多不需要的内容被合并进了新表。一般再简单地处理就可以搞定。

具体的操作基本上就是筛选、排序、F5定位功能键找到空行或者不需要的行,再直接删除整行即可,题主应该很容易就能处理好。

-------------------------------------------------------------

其他问题:

  1. kutools是收费工具,但是提供了210天的免费试用(真-良心),而且目前也没有发现直接使用有任何限制。
  2. 速度的问题,在选择文件加载进去和合并文件的时候会有点慢,电脑配置低、文件特别巨大的时候等待时间可能有点长,当然这不是插件的问题。

-------------------------------------------------------------

最近在写简易的Excel教程给完全不懂Excel的学弟学妹,有一篇恰巧就是这一部分内容。

下面是链接:

Excel学习:03-邮箱附件下载&文件合并
编辑于 2015-10-31 12:12

市面上各种汇总的小软件非常多,但要想真正自己学到东西,还得靠自己,这里介绍种方法:

1、明细清单多合一。(一劳永逸的方案)

2、分支机构报表汇总。(随时刹那间生成)

摘自2018.5《财务精英都是EXCEL控》,全文彩印,书中彩图和配套文件下载地址:

excelfzj.com/lcl/book/

发布于 2018-05-31 17:41

很多插件都能解决,包括我们家自己开发的免费插件。看我的状态,那个号下,回复插件就能获得哦

发布于 2019-03-16 21:20

对多个同样式的表格汇总成为一个

那首先要保证表头的样式要是一样的

PS:下面的长代码参考于CSDN安吉尼尔

1、假如我们要合并几个同类型表格,在同一文件夹内

新建一个汇总表格,打开汇总表格,在sheet1上右键

然后点击查看代码



2、出现VBA窗口,在代码框中输入下面的代码

Sub all_contents()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄"

End Sub

Sub all_contents()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄"

End Sub

3、然后点击运行代码,合并结果出现



4、查看汇总的表格可以看到会有重复的表头,直接选中删除就好了

代码较长,直接复制粘贴就好啦~

今天的分享结束了!

如果还有什么更好的方法欢迎在评论区留言~

下次再见!

想从Excel新手变成高手吗?

秋叶的《秒懂Excel》很适合你哦!

可以更好更快地帮助你解决职场中各种各样的数

据处理与分析难题

这本书中有非常多的案例且多来源于真实职场

非常实用!

原作者姓名:秋叶办公技巧
原作者:知乎
原文链接:

编辑于 2022-08-10 20:31

在我们工作的时候,经常会遇到需要【多表合并】的情况
如果多个表格都在不同的工作薄,那就很头疼...
比如收集员工信息,一人一表,最后要汇总合并,
全年每个月的财务收款,年底要汇总到一张表格上面...
其实,多表合并的批量操作并不是很难,相反还能帮我们节省很多时间!
主要介绍的是【插件法】
就以较为常用的 PQ 插件为例吧,免得大家再去重新安装其他插件~
PS:本文使用的 Excel 版本是 Office 2016。
Power Query 是 Excel 里一款插件。
可以从需要的数据来源提取数据、把不同来源的数据源整合在一起,能够大大方便我们分析处理数据!
用它来合并表格,效率也是杠杠 der~
要注意的是,PQ 对版本有一定限制:
用 Office 2013 和 2010 版本的同学,可以在后台回复关键词【插件】,下载使用 PQ。

Office 2016 及以上版本的同学,恭喜你们,软件已经自带 PQ 功能啦!

而 Office 2010 以前的版本、WPS 目前还不能使用 PQ 功能~
来看看 PQ 合并同一个工作簿里的多个工作表
——合并多个工作表
①新建文件,依次单击【数据】-【新建查询】-【从文件】-【从工作簿】,导入相应的工作簿文件。

② 在弹出来的导航器中,直接选择整个文件:

③ 这里我们可以看到后三列数据,Sheet、Sheet 的名称,都是多余的,可以直接删除。

④ 然后点击「Data」右侧的小图标,展开我们需要的数据。

这个时候可以看到,展开后的数据,
标题行和我们想要的不一样,下方第一行的数据才是我们想要的标题:

所以要在【转换】中选择【将第一行用作标题】

这样标题也 ok 了,数据合并也 ok 了,是不是可以完事啦?
等等!
由于我们的「暴力合并」,表格中还会躲藏着一些重复的标题行!
我们选择任意一个重复的行,任选一个单元格,右键【筛选器】-【不等于】,所有重复的行都被删除啦~

⑤最后点击左上角的【关闭并上载】,搞定!
虽然步骤有 5 步,但整个过程完全是傻瓜式操作,简单易上手!
——合并多个工作簿
用 Power Query 合并工作簿的步骤也类似~
先做好准备工作,把工作簿都放进一个文件夹:

然后我们就可以开始愉快地合并啦!
操作步骤:
① 新建文件,依次单击【数据】-【新建查询】-【从文件】-【从文件夹】,导入工作簿所在文件夹,点击【确定】-【转换数据】

② 然后我们会看到类似这样的界面,这里我们只需要第一列的「Content」数据(也就是每个工作簿里的内容);
后面的工作簿名称、创建时间、文件路径 balabala,都不需要,直接删除就好。

所以我们选中第一列,依次单击【删除列】-【删除其他列】

③依次单击【添加列】-【自定义列】

在弹出来的对话框中输入公式,点击【确定】
=Excel.Workbook([Content])
公式表示从 Excel 工作簿返回工作表的记录。


④点击【自定义】右上角的图标 -【确定】,这样就把所有数据加载进来啦。

同样地,其他列的数据也需要点击小图标展开。

此时用不上的数据列可以通通删除!
现在是不是可以上载表格了呢?
再等等!
仔细看我们会发现,表头的名称全是「自定义 XXX」,这里点击【转换】-【将第一行用作标题】就好啦。

然后选择【关闭并上载】,搞定!
如果数据有修改,在合并后的表格中右键刷新一下,就能自动同步修改后的数据,可以说是很方便了!

总体来说 PQ 法表现还是 hin 不错的,灵活性也很高,推荐!

怎么样,是不是很不错!
关注我获得更多Excel干货,不再加班!
拜托拜托拜托点个赞,谢谢您。

对于处理Excel、PPT和Word问题,快去用《秒懂office》,书如其名,第一次看到这类书,我就跪了,而且是长跪不起的那种。

我以前从未看过这么有用的实用书籍。它不同于市面上的那些书籍,这本书里面的案例,既生动,又让人觉得收获满满。

在这类书的干货下,解决Excel、PPT和Word问题就跟玩一样,这书有实用的 Excel 使用技巧,结合实际应用,高效使用软件,快速解决工作中遇到的问题。

我朋友平时没用Office,经常用的是WPS,经我推荐用的下面这套。

推荐阅读:

1、 如何入门excel 宏?

2、 excel的vlookup函数怎么使用?

3、 Excel 有哪些和 vlookup 一样重要的函数或功能?

4、 Excel中怎样计算带文字的计算式?

5、 Excel 中怎么用数据做出极具观赏性的图表?

6、 你见过最漂亮的 Excel 表格什么样?

7、 excel的if函数,如果判断对象不是空值则返回某数值,如果对象为空值怎么设置不返回?


作者:框框学长
来源:知乎
转载链接:

编辑于 2022-07-16 02:02

随便百度一段儿代码,贴到vbe里面,运行就可以了,不行就再换一段儿试试,最多试两次就成功了

发布于 2016-01-22 08:49

马上下班了,老板要求新来的实习生把100个同样式的Excel表汇总成一个,完成后才能下班。相信很多初入职场的小白都遇到过类似问题,那应该如何快速完成汇总呢?今天分享一个简单便捷的方法。

一、新建文件夹,将我们需要汇总的表格移入文件夹内

二、新建工作表,命名为“汇总”,并在上方导航栏中找到【数据】选项

三、点击【数据】-【获取数据】-【自文件】-【从文件夹】

四、打开文件夹后,在页面下方点击【转换数据】

五、点击【content】双箭头-选择参数1-确定

六、点击【Data】旁边的箭头,展开后【选择所有项】,最后数据检查无误后,点击【关闭并上载】即可

这种简单便捷的方法,希望对你也有帮助,也期待一起来评论区交流更快捷的方法呀!


有谁和我一样,学Word、Excel、PPT,最怕理论知识一大筐,看着就头疼。

前前后后也买了不少书和课程,要说实操性强、好上手的,我特有发言权,大家可以关注一下秋叶家。

秋叶的《秒懂Office》系列,我真的吐血推荐。


它是一问一答的形式,我遇到操作的问题,就会立马去翻这套书找解决方案,全部都是操作指南,非常实用,一直都在我办公桌上,像工具书一样。



扫一扫书上的二维码,还有视频教学,想的很周到。

发布于 2022-08-02 18:25

每到年底,公司都要统计年度数据。

需要把一月到十二月份,十二张表格的数据,全部汇总到一个表格内。

这样的数据汇报每年都会有,每到年末,都要上演一出复制粘贴的加班好戏。



然鹅......真的有这么复杂吗?

将多个表格合并为一个,其实是有捷径可走的!

不信你看!

❶ 将需要合并的表格放在一个文件夹里。



❷ 点击【数据】选项卡-【新建查询】-【从文件】-【从文件夹】。



❸ 点击【浏览】,选择表格所在的文件夹-【打开】。



❹ 点击【组合】-【合并和加载】-选中【sheet1】-【确定】,表格就都合并好啦~


怎么样,这么简单又实用的小技巧,你学会了吗?

想要更加系统地学习Office,可以看看秋叶家的爆款好书《 秒懂Excel/Word/PPT》。

悄悄对比了一下其他平台, 只有下面这家是可以价值169的office网课!!


书本印刷很清晰,看起来很舒适,看了几天,内容非常丰富,作为新手也很容易上手,有基础的,可以查缺补漏,提高效率,完全可以当做速查手册。

用WPS比较多的可以看下面这本,特别适合做WPS字典工具,需要的时候查一下,按着解决方案操作就搞定了。 全彩印刷,截图也很清晰 ,有详细的文字+图片步骤图,视频教程,太良心了。

推荐阅读:

怎样做一个比较好的人物介绍ppt?

怎么做好一份竞聘的PPT?

PPT转PDF时图片像素变低,求问要怎么解决?

把PPT做得好是如何挣钱的?

好看的PPT背景图,应该去哪里找?

如何制作项目产品介绍的PPT?


本文转载自:

编辑于 2022-07-12 14:19