多个Excel表合并成一个Excel表

一 使用说明

问题描述: 往往在进行数据统计分析前,会遇到数据分在不同的表里的情况,这时候就需要将多个表的数据先放到一个表里面汇总,然后再进行分析。比如班级需要汇总每个人的信息,几十人每个人都发了个人的信息表给一个人进行统计,统计人员可以进行一个一个表打开粘贴到汇总表里,但是这样不仅麻烦,而且还可能出错,这种做法最简单粗暴但却很浪费时间的。当然,如果是大批量的数据使用python或者其他语言汇总到一个表里也是可行的,如果是小批量的几百个数据,敲代码有点大材小用,这时候excel本身就可以解决。
使用条件:对多个同类型的excel数据表通过excel功能合并到一个excel表内。同类型是指每个一个excel表的表头都是一样的,里面的信息都是同类型的,比如表1、表2的内容分别是如下两张表的内容,可以看出两者的录入信息都是一样的。本excel是2016版的,其他版本应该都有该功能,但是具体的菜单栏内容可能会有小差异。
表1
表1
表2
表2

二 使用方法

1.数据处理:将要合并的数据统一放到一个文件夹内

ps:本文的示例数据是从招生信息网站找的,内容和上文表1表2的格式相同,分别在四个excel表内,统一命名为表1,表2,表3,表4,并放在一个文件夹内,如下图所示。

示例数据

示例数据
2.在文件夹内新建一个汇总表,也可以命名其他的名字,用来汇总各个表格的信息

ps:本文的示例汇总表命名为汇总表,如下图所示

新建汇总表
汇总表
3.打开汇总表表格,然后右击下方的sheet1按钮,会出现一个菜单,点击“查看代码”一栏,这时会出现VBA窗口
点击查看代码一栏
在这里插入图片描述
VBA窗口
在这里插入图片描述
4.在弹出的代码框中粘贴如下代码,并点击按钮运行,运行完后会弹出运行结果对话框,点击确定即可

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

运行代码
在这里插入图片描述
运行结果对话框
在这里插入图片描述
5.返回原来的工作簿,可以看到数据汇总成果。但是却出现很多重复的表头,除了第一个表头,我们需要将其他多余的表头删除,当然,如果不怕麻烦,也可以选择一行一行的删除。如果想一次性处理,这时需要进行如下几步:
(1)将表数据进行全选,点击“查找和选择”按钮,在查找文本框内输入要查找的内容,内容可以是表头中的任意一个列名进行输入,然后点击”查找全部“按钮(本文使用了“院校名称”进行查找,也可以使用“年份”或者“考生类别”或其他列名)

查找对应的列
在这里插入图片描述
(2)查找的结果都会在查找框的下面全部列出来,对结果使用Ctrl+A全选,这时所有的内容都变蓝了。然后按住Ctrl键不放,点击第一个查询结果,这时第一行变白了,也就是没有选中。看一下表内的数据内容,可以看到,除了第一行的院校名称没有变色,其他行的院校名称都变成了灰色,或者说处于一种被同时选中的状态。
选中的行
在这里插入图片描述
(3)选择任意一个灰色被选中的单元格,然后右击该单元格,会有菜单弹出,点击删除一栏,在弹出的窗口中按照“整行”的方式删除,然后点击确定即可。这时所有选中的内容对应的行全部删除,这时表头问题就算解决了,数据汇总完成。
选中删除
在这里插入图片描述
按照行删除
在这里插入图片描述
删除后的结果表
在这里插入图片描述

三 另外一种合并方法

这种方法得出来的数据有点像数据透视表的结果,而且需要一个个导入,也推荐使用,,具体好坏,还请自行鉴别使用

1.源数据:不一定放在一个文件夹,一般考虑方便,放在一个文件夹里了,这里还使用原来的数据,可以新建一个汇总表。
2.打开汇总表,首先点击选中A1单元格,然后在“数据“一栏中,选择“现有连接”功能,会弹出的窗口,在窗口左下角点击“浏览更多”
现有连接窗口
在这里插入图片描述
3.这时需要选择数据源,对话框主要会按照如下步骤弹出:
(1)数据源对话框:点击浏览更多后会弹出选择数据源对话框,在对话框左边找到源数据文件所在的路径,然后从路径里选择表1,点击右下角的打开按钮。

数据源对话框
在这里插入图片描述
(2)选择表格对话框:点击打开后会出现选择表格对话框,在该对话框内的sheet1就是表1的表,如果表1工作簿内有两个sheet表,选择对应的sheet表就行,这里表1工作簿就一个sheet表,所以直接点击确定即可。
选择表格对话框
在这里插入图片描述
(3)导入数据对话框:点击确定后出现导入数据对话框,显示方式选“表”就行,不用动,“现有工作表”一栏下面需要填写单元格,这里“$ A $ 1 是选择A1单元格开始粘贴,如果不从A1开始粘贴,可以自行选择其他起始单元格。选好单元格后,点击确定即可。这时表1的数据就录入成功了,如下图所示。

导入数据对话框
在这里插入图片描述
录入的表1数据
录入的表1数据
4.如果需要导入其他表,重复1,2,3步即可,录入的四个表的结果如下图所示
录入四个表的结果
在这里插入图片描述
5.这里发现仍然会出现很多重复的表头,按照第一种删除方法是无效的,处理方法为:首先将内容全选;然后将内容复制;新建一个sheet表,然后以文本的方式粘贴到另外一张sheet表里;最后按照上文第一种方法里删除重复表头的方式将重复表头删除,即为所获得的汇总表。

### 回答1: 将多个Excel文件合并一个Excel的方法有以下几种: 1. 手动复制粘贴:打开每个Excel文件,选中需要合并数据,复制粘贴到一个新的Excel表格中。 2. 使用Excel自带的合并工具:打开一个新的Excel表格,选择“数据”选项卡,点击“从其他表格合并”按钮,选择需要合并Excel文件,按照提示进行操作即可。 3. 使用VBA宏:在Excel中按下“Alt+F11”打开VBA编辑器,编写VBA宏代码,实现自动合并多个Excel文件的数据。 4. 使用第三方工具:有一些第三方工具可以帮助用户快速合并多个Excel文件,例如Kutools for Excel、Ablebits等。 以上是几种常见的将多个Excel文件合并一个Excel的方法,用户可以根据自己的需求选择适合自己的方法。 ### 回答2: 在工作和学习中,我们常常需要将多个Excel文件合并一个Excel,以便进行数据分析和处理。接下来就让我来介绍一下多个Excel文件合并的方法。 第一种方法:使用Excel自带功能合并多个工作。 1.打开一个新的 Excel 文件,依次点击“数据”-“从范围中选择数据”-“从其他来源”-“从 Microsoft查询”。 2.在弹出的“查询向导”窗口中依次选择“Excel 文件”-“浏览”。 3.在弹出的“打开”窗口中选择要合并Excel 文件,点击“确定”。 4.在“查询向导”中选择“确定”,然后选择要合并的工作,点击“下一步”。 5.选择数据范围,点击“下一步”。 6.在“查询向导”中选择“完”,将数据导入到新 Excel 文件中。 这种方法虽然简单,但要注意的是,每个Excel文件的格式必须相同,否则会出现数据错乱的情况。 第二种方法:使用VBA脚本合并多个Excel文件。 1.打开一个新的 Excel 文件,按下“ALT+F11”进入VBA界面。 2.在VBA界面中选择菜单栏“插入”-“模块”。 3.将下面的VBA脚本全部复制粘贴到新建的模块中: Sub Combine() Dim FilesToOpen Dim x As Integer On Error GoTo ErrorHandler Application.ScreenUpdating = False '获取文件名 FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Excel Files (*.xl*), *.xl*", _ MultiSelect:=True, Title:="选择要合并的文件") '保留打开的Excel文件数 x = 1 '循环打开每个Excel文件 If TypeName(FilesToOpen) = "Boolean" Then '没有选择文件时给出提示 MsgBox "您没有选择要合并的文件!" quit: Exit Sub End If '清空当前工作 ActiveSheet.Cells.Delete '循环打开Excel文件 For i = 1 To UBound(FilesToOpen) '打开Excel文件 Workbooks.Open FileName:=FilesToOpen(i), ReadOnly:=True '复制数据 ActiveSheet.Range("A1", ActiveSheet.Cells.SpecialCells(xlLastCell)).Copy '将数据粘贴到当前工作 ThisWorkbook.Worksheets(x).Activate ActiveSheet.Cells.SpecialCells(xlLastCell).Offset(1, 0).PasteSpecial xlPasteValues '计数器自增1 x = x + 1 '关闭Excel文件 Workbooks(FilesToOpen(i)).Close SaveChanges:=False Next i '自动调整列宽 ActiveSheet.Cells.EntireColumn.AutoFit '恢复更新 Application.ScreenUpdating = True '提示合并 MsgBox "您选择的" & x - 1 & "个Excel文件已合并到当前工作中!" Exit Sub ErrorHandler: If Err.Number = 1004 Then '如果文件格式不同,跳过并继续合并一个文件 Resume Next Else '如果出现其他错误,给出提示并退出合并过程 MsgBox "出现问题! " & Err.Number & vbCrLf & Err.Description GoTo quit End If End Sub 4.保存并关闭VBA窗口。 5.按下“ALT+F8”,选择“Combine”,点击“运行”。 完以上操作,合并后的数据就会自动添加到当前工作中。 综上所述,以上两种方法合并Excel文件的方法都比较简单易懂,大家可以根据实际情况选择适合自己的方法。同时,还要注意的是,合并前要确保每个Excel文件的格式相同,否则会出现数据错乱的情况。 ### 回答3: 如果您需要将多个Excel文件合并一个Excel,下面是几种可行的方法: 1.使用Excel 工作合并 Excel 工作合并可以帮助您将多个Excel文件合并一个工作,具体步骤如下: a. 打开其中一个Excel表格 b. 点击选定范围区域,然后按Ctrl+C复制 c. 打开新的Excel表格,点击第一个单元格,按Ctrl+V d. 重复上述步骤,将所有要合并表格复制并粘贴到同一个工作中 2.使用Excel VBA 如果您有一定的VBA编程经验,可以使用VBA编程自动合并多个Excel表格,具体步骤如下: a. 打开一个新的Excel文档,在“开发工具”中开启“Visual Basic”窗口 b. 在“新建”中添加一个Module c. 在Module中编写VBA程序来读取并合并Excel表格。 3.使用Power Query Power Query是Excel提供的插件,可以帮助您连接多个文件并将它们合并一个表格中,具体步骤如下: a. 打开Excel文档,点击“数据”选项卡 b. 选择“从文件/数据库”开始导入数据 c. 选择要导入的文件,然后选择“合并查询” d. 选择要合并的工作,然后单击“确定” e. 最后,您将看到一个合并表格,其中包含了所有选定文件的数据。 以上是几种较常用的多个Excel文件合并一个Excel的方法。您可以根据自己的需求选择合适的方法。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值