跳至主要内容

Excel教程:将多个工作簿/工作表合并为一个

Author: Sun Last Modified: 2025-07-31

在Excel中,合并工作表是大多数用户常见但又较为棘手的任务,尤其是新手。本文教程几乎涵盖了你可能遇到的所有合并场景,并为你提供了专业的解决方案。你可以通过点击下方导航列表中的链接快速找到答案,或者如果你有兴趣,也可以按照下方链接逐步学习各种合并技巧。

在Excel中,合并主要分为两类:一类仅合并内容,另一类则是在合并内容的同时进行计算。

本教程导航

合并内容

1. 将所有工作表合并到一个工作表中

1.1 使用VBA将工作表合并到一个工作表中

1.2 使用查询功能合并表格或命名区域(Excel2016及更高版本)

1.3 使用便捷工具将工作表合并到一个工作表中

1.4 关于合并工作表为一个的扩展方法

2.将多个工作簿合并为一个工作簿

2.1通过“移动或复制”命令将工作簿合并为一个工作簿

2.2通过VBA代码将一个文件夹中的多个工作簿合并为一个工作簿

2.3 使用便捷工具将多个文件夹中的多个工作簿合并为一个工作簿

3. 将多个工作簿中的指定工作表合并为一个工作簿

3.1 合并同一文件夹下所有工作簿中的指定工作表

3.2 使用便捷工具合并多个文件夹中的多个工作簿中的指定工作表

4. 基于关键列合并两个工作表

4.1 使用查询功能(Excel2016及更高版本)基于一个关键列合并两个表格

4.2 使用Excel函数基于一个关键列合并两个工作表

4.3 使用便捷工具基于一个关键列合并两个工作表

5. 基于两列合并两个工作表

6. 合并具有相同标题的工作表

6.1 使用VBA合并所有具有相同标题的工作表

6.2 使用便捷工具合并具有相同标题的工作表

汇总

1. 合并工作表并进行计算

1.1 使用“汇总”功能合并并计算

1.2 使用便捷工具合并并计算

2. 将多个工作表合并为数据透视表

Google 表格

1. 将多个Google表格合并为一个工作表

1.1通过筛选函数将Google表格合并为一个工作表

1.2通过IMPORTRANGE函数将Google表格合并为一个工作表

2. 将Google表格合并为一个工作簿

扩展

1. 合并工作表后删除重复项

1.1通过“删除重复”功能合并工作表并去重

1.2 使用强大工具合并工作表并去重

2. 将同名工作表合并为一个工作簿

3. 将多个工作表中的相同区域合并到一个工作表中

备注

在本教程中,为了更好地说明方法,我创建了一些工作表和数据。你在使用下方VBA代码或公式时,可以根据需要修改引用,或直接下载示例文件进行尝试。


合并内容

1. 将所有工作表合并到一个工作表中

这里有一个包含4个工作表的工作簿,需要将它们合并到一个工作表中。

sample sheet 1  sample sheet 2
sample sheet 3 sample sheet 4

doc sample点击下载示例文件

1.1 使用VBA代码将所有工作表合并到一个工作表中


在Excel中,除了传统的复制粘贴方法外,你还可以通过VBA代码快速将所有工作表合并到一个工作表中。

1. 按下 F11Alt 键,打开 Microsoft Visual Basic for Applications 窗口。
Press F11 and Alt keys

2. 在弹出的窗口中,点击 插入 > 模块 以插入一个新的空白模块。
 click Insert > Module to insert a new blank module

3. 将下方代码复制并粘贴到新模块中。

VBA:将所有工作表合并到一个工作表中

Sub CombineAllSheetsIntoOneSheet()
'UpdatebyExtendoffice
    Dim I As Long
    Dim xRg As Range
    On Error Resume Next
    Worksheets.Add Sheets(1)
    ActiveSheet.Name = "Combined"
   For I = 2 To Sheets.Count
        Set xRg = Sheets(1).UsedRange
        If I > 2 Then
            Set xRg = Sheets(1).Cells(xRg.Rows.Count + 1, 1)
        End If
        Sheets(I).Activate
        ActiveSheet.UsedRange.Copy xRg
    Next
End Sub

copy and paste the code into the module

在上述代码中,脚本“Combined”是用于放置合并内容的工作表名称,你可以根据需要将其更改为其他名称。

4. 按下 F5 键运行代码,此时会在所有工作表前面新建一个名为Combined的工作表,用于存放所有工作表的内容。
all sheets are combined into one new sheet

1.2 使用查询功能(Excel2016及更高版本)合并所有表格或命名区域


如果你使用的是Excel2016或更高版本,查询功能可以让你一次性将所有已创建的表格或命名区域合并为一个。

doc sample点击下载示例文件

首先,确保相关区域已被创建为表格或命名区域。关于如何创建表格和命名区域,请参考How to convert range to table or vice versa in ExcelDefine and use names in formulas

1. 打开你想要合并所有工作表的工作簿,点击 数据 > 新建查询 > 来自其他来源 > 空白查询.
click Data > New Query > From Other Sources > Blank Query

2. 在弹出的Query Editor窗口中,进入编辑栏,输入以下公式。

=Excel.CurrentWorkbook()

按下 Enter 键,当前工作簿中的所有表格将被列出。
type a formula into the formula bar

3. 点击 文本 旁边的展开按钮,并勾选 展开 选项和 全选 复选框。
 check Expand option and Select All Columns checkbox

4. 点击 确定。所有表格将依次列出。
All the tables are listed one by one

你可以右键点击列标题,对选中列进行其他操作。
right click at a column header

5. 然后点击 文件 > 关闭并加载到….
click File > Close & Load To

6. 在 加载到 对话框中,勾选 表格 选项,然后在 选择数据应加载到的位置 区域选择你需要加载合并表格的位置,点击 加载.
specify the options in the dialog box

现在会新建一个工作表用于存放所有合并后的表格。
 a new sheet is created to place all merged tables

1.3 使用便捷工具将所有工作表合并到一个工作表中


如果上述方法无法满足你的需求,你可以尝试一个高效便捷的工具——Kutools for Excel。其“汇总”功能非常强大,不仅可以将所有工作表合并到一个工作表,还能完成更高级的合并任务,如合并工作表到一个工作簿、合并同名工作表、仅合并选定工作表、跨文件合并工作表等。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

1. 启用你需要合并工作表的工作簿,点击 Kutools Plus > 汇总。弹出一个对话框提醒你有关密码的注意事项,如果你要操作的工作簿没有涉及密码,直接点击 确定 继续。
click Kutools Plus > Combine
click OK to continue

2. 在 合并数据 – 步骤1/3 窗口中,勾选 复制多个工作簿中的数据到一个工作表中 选项,点击 下一步 按钮。
check Combine multiple worksheets from workbooks into one worksheet option

3. 在第2步窗口中,默认情况下,当前工作簿已在工作簿列表中被勾选,且其所有工作表也在工作表列表中被勾选,点击“下一步”继续。

注意:如果你打开了多个工作簿,所有已打开的工作簿都会在工作簿列表中显示,请只勾选你需要使用的工作簿。
specify the sheets to combine

4. 在最后一步,根据需要选择合并模式,可以选择 按行合并数据按列合并数据;然后根据需要设置其他选项。点击 完成 按钮。
 choose the combine mode

5. 弹出对话框让你选择一个目录用于保存合并后的工作簿,你可以在 文件名 栏中重命名,点击 保存 完成操作。
choose one folder to place the combined workbook,

6.现在所有工作表已合并,弹出对话框询问是否将设置保存为方案,点击 ,根据需要选择。
click Yes or No to save the scenario or not

新建的工作簿会弹出并显示合并结果,点击“输出文件”链接可查看合并后的工作表。
A new workbook pops out with the combining result listed

按行合并数据
result of combining by row

按列合并数据
result of combining by column

1.4 关于合并工作表为一个的扩展方法


1.41 使用便捷工具仅合并选中的工作表到一个工作表

如果你只想将工作簿中的部分工作表合并到一个工作表,Excel内置功能无法实现。但 Kutools for Excel的“汇总”功能可以做到。

1. 启用你要使用的工作簿并点击 Kutools Plus > 汇总 > 确定 以启动汇总向导。
 click Kutools Plus > Combine
click ok to go on

2. 在 步骤1/3 窗口中,勾选 复制多个工作簿中的数据到一个工作表中 选项,点击 下一步 按钮。
check Combine multiple worksheets from workbooks into one worksheet option

3. 在第2步窗口中,默认情况下,当前工作簿已在工作簿列表中被勾选,且其所有工作表也在工作表列表中被勾选,取消勾选不需要合并的工作表,点击“下一步”继续。
specify the sheets to combine

4. 在最后一步,根据需要设置选项。点击 完成 按钮。
specify the options and click Finish button

5. 弹出对话框让你选择一个目录用于保存合并后的工作簿,你可以在 文件名 栏中重命名,点击 保存 完成操作。
choose one folder to place the combined workbook

6.现在只有已勾选的工作表被合并,弹出对话框询问是否将设置保存为方案,点击 ,根据需要选择。
click Yes or No to save the scenario or not
 only the checked sheets are combined together

1.42 使用便捷工具将多个工作簿中的工作表合并到一个工作表

例如,你想将book1、book2和book3中的所有工作表合并到一个工作表,如下截图所示, 汇总 功能在 Kutools for Excel 中同样可以帮你实现。
 combine sheets from multiple workbooks into one sheet

安装Kutools for Excel 后,请按如下步骤操作:

1. 启用你要使用的工作簿,点击 Kutools Plus > 汇总 > 确定,启动 汇总 向导。

2. 在 步骤1/3 窗口中,勾选 复制多个工作簿中的数据到一个工作表中 选项,点击 下一步 按钮。
check Combine multiple worksheets from workbooks into one worksheet option

3. 在 步骤2/3 窗口中,所有已打开的工作簿已在 工作簿列表 窗格中被勾选,所有工作表也在 工作表列表 窗格中被勾选,点击 下一步 继续。
specify the workbooks and sheets to combine

提示:如需添加要合并的工作簿,点击“添加”按钮选择路径添加工作簿。
click Add button to choose a path to add workbooks

4. 在最后一步,根据需要选择相关选项。点击“完成”按钮。

5. 弹出对话框让你选择一个目录用于保存合并后的工作簿,你可以在 文件名 栏中重命名,点击 保存 完成操作。
choose one folder to place the combined workbook

6.现在所有已打开工作簿中的工作表都已合并,弹出对话框询问是否将设置保存为方案,点击“是”“否”根据需要选择。

打开你保存的合并工作簿,跨工作簿的工作表已合并到一个工作表中。


2. 将多个工作簿合并为一个工作簿

这里有三个工作簿需要合并为一个工作簿。

 一月  二月  三月
sample workbook 1 sample workbook 2 sample workbook 3

doc samplejan.xlsx  doc samplefeb.xlsx  doc samplemar.xlsx

2.1通过“移动或复制”命令将工作簿合并为一个工作簿


如果只需合并少量工作簿中的工作表,可以使用Excel的“移动或复制”命令来完成。

1. 打开你想要合并的前两个工作簿,激活第一个工作簿,选择你要移动的工作表,然后右键点击以打开菜单,点击 移动或复制.
right click the sheet tabs, and click Move or Copy

提示

1)如果要移动所有工作表,先右键点击任一标签并选择“全选工作表”,然后再使用“移动或复制”命令。

2)按住Ctrl键可选择多个不连续的工作表。

3)先选中第一个工作表,再按住Shift键选择最后一个工作表,可选择多个连续的工作表。

2. 在 移动或复制 对话框中,在 目标工作簿 下拉列表中选择你要移动到的工作簿,这里选择“一月”,然后指定你要插入工作表的位置,在 插入到工作表之前 区域,点击 确定.
set options in the dialog box

注意:

1)建议勾选“建立副本”,否则原工作簿中的工作表会被移除。

2)如果你想将所有工作簿合并到一个新工作簿中,请选择 (新工作簿)目标工作簿 下拉列表中。
place all workbooks into a new workbook, choose (new book)

所有工作表已移动到主工作簿中。
the sheets have been moved to the master workbook

重复上述步骤,将所有工作簿合并到一个中。

2.2通过VBA代码将一个文件夹中的多个工作簿合并为一个工作簿


如果你需要合并一个文件夹下的大量工作簿,可以使用VBA代码实现。

1. 启用你想要合并所有工作簿的工作簿,然后按下 Alt + F11 键,打开 Microsoft Visual Basic for Applications 窗口。
press Alt + F11 keys

2. 在弹出的窗口中,点击 插入 > 模块 以插入一个新的空白模块。
click Insert > Module to insert a new blank module

3. 将下方VBA代码复制并粘贴到新模块中。

VBA:将多个工作簿合并到当前工作簿

Sub GetSheets()
'Updated by Extendoffice
Path = "C:\Users\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\"
Filename = Dir(Path & "*.xlsx")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub

 copy and paste the code into the module

备注

在VBA代码中,脚本 "C:\Users\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\" 是你要合并的工作簿所在的文件夹路径,请根据需要修改。

如果你要合并的工作簿分布在不同文件夹,请先将它们复制到同一个文件夹中。

4. 按下 F5 键运行代码,所有工作簿将被复制到当前工作簿的末尾。
all workbooks are copied to the end of the current workbook

提示:所有复制的工作表将保留原名称,如果你想用工作簿名作为前缀,请使用下方代码:

Sub MergeWorkbooks()
'Updated by Extendoffice
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\AddinTestWin10\Desktop\combine sheets\combine sheets into one workbook\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

 comined all workbooks to use the workbook name as prefix

2.3 使用便捷工具将多个文件夹中的多个工作簿合并为一个工作簿


有时你可能需要将不同文件夹中的所有工作簿合并为一个。例如,将2020和2021文件夹中的所有工作簿合并到一个工作簿,Excel本身没有直接的方法可以实现。
combine all workbooks in different folders into one workbook

不过,Kutools for Excel的“汇总”功能提供了跨多个文件夹合并工作簿的选项。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装Kutools for Excel 后,请按如下步骤操作:

1. 启动Excel,点击 Kutools Plus > 汇总,弹出对话框提醒你有关密码的注意事项,如果你要操作的工作簿没有涉及密码,直接点击 确定 继续。
click Kutools Plus > Combine
click OK to continue

2. 在 合并数据 – 步骤1/3 窗口中,勾选 复制多个工作簿中的工作表到一个工作簿中 选项,点击 下一步 按钮。
check Combine multiple worksheets from workbooks into one workbook option

3. 在 步骤2/3 窗口中,点击 添加 按钮旁的箭头,展开下拉菜单,点击 目录.
click the Add button

4. 然后在 选择文件夹 对话框中,选择你要使用的文件夹,点击 选择文件夹 将其添加到 工作簿列表 区域。
click Select Folder
choose one folder

5. 重复上述步骤,将所有文件夹添加并在 工作簿列表中列出所有工作簿,点击 下一步.
Repea to add all folders and list all workbooks in the dialog box

6. 在最后一步,根据需要选择相关选项。点击 完成 按钮。
choose options and click Finish button

7. 弹出对话框让你选择一个目录用于保存合并后的工作簿,你可以在 文件名 栏中重命名,点击 保存 完成操作。
choose one folder to place the combined workbook

8.现在所有工作表已合并,弹出对话框询问是否将设置保存为方案,点击 ,根据需要选择。
click Yes or No to save the scenario or not

新建的工作簿会弹出并显示合并结果,点击“输出文件”链接可查看合并后的工作表。
A new workbook pops out which lists the combining result

合并结果

注意:在合并后的工作簿中,第一个名为Kutools for Excel的工作表会列出原始工作表和最终合并工作表的信息,如不需要可删除。


3. 将多个工作簿中的指定工作表合并为一个工作簿

如果你只想将工作簿中的部分工作表合并为一个工作簿,而不是每个工作簿的所有工作表,可以尝试以下方法。

doc samplequarter-1.xlsx doc samplequarter-2.xlsx doc samplequarter-3.xlsx

3.1 使用VBA代码将同一文件夹下所有工作簿中的指定工作表合并为一个工作簿


1. 打开一个工作簿用于存放合并后的工作表,然后按下Alt + F11 键打开Microsoft Visual Basic for Applications窗口。

2. 在弹出的窗口中,点击 插入 > 模块 以插入一个新的空白模块。
click Insert > Module to insert a new blank module

3. 将下方VBA代码复制并粘贴到新模块中。

VBA:将多个工作簿中的指定工作表合并到当前工作簿

Sub MergeSheets2()
'Updated by Extendoffice
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next
 
xStrPath = "C:\Users\AddinTestWin10\Desktop\combine sheets\combine specific sheets from multiple workbooks\"
xStrName = "A,B"
 
xArr = Split(xStrName, ",")
 
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
 
End Sub

 copy and paste the code into module

备注

1)在VBA代码中,脚本 " C:\Users\AddinTestWin10\Desktop\combine sheets\combine specific sheets from multiple workbooks\" 是你要合并的工作簿所在路径,请根据需要修改。

2)在VBA代码中,脚本 "A,B" 是我想要从工作簿中合并的指定工作表名称,请根据需要修改,多个工作表名称用逗号分隔。

3)如果你要合并的工作簿分布在不同文件夹,请先将它们复制到同一个文件夹中。

4. 按下 F5 键运行代码,只有指定的工作表会被复制到当前工作簿末尾。
only the specific worksheets have been copied to the end of the current workbook

3.2 使用便捷工具合并多个文件夹中的多个工作簿中的指定工作表


如果你要合并的工作簿分布在多个不同文件夹,可以尝试Kutools for Excel的“汇总”功能。

安装Kutools for Excel 后,请按如下步骤操作:

1. 启动Excel,点击 Kutools Plus > 汇总,弹出对话框提醒你有关密码的注意事项,如果你要操作的工作簿没有涉及密码,直接点击 确定 继续。
click Kutools Plus > Combine
click OK to continue

2. 在 合并数据 – 步骤1/3 窗口中,勾选 复制多个工作簿中的工作表到一个工作簿中 选项,点击 下一步 按钮。

check Combine multiple worksheets from workbooks into one workbook option

3. 在 步骤2/3 窗口中,点击 添加 按钮旁的箭头,展开下拉菜单,点击 目录.
click Add button

4. 然后在 选择文件夹 对话框中,选择你要使用的文件夹,点击 选择文件夹 将其添加到 工作簿列表 区域。
click Select Folder
choose one folder

5. 重复上述步骤,将所有文件夹添加并在 工作簿列表.
Repeat to add all folders and list all workbooks in the dialog box

6. 保持在 步骤2/3 窗口中,在 工作簿列表中选择一个工作簿,并只勾选你要使用的工作表,在 工作表列表中,然后点击 相同工作表 按钮。现在所有工作簿中同名的工作表都已被勾选。点击 工作簿列表 。点击 下一步 继续。
check the specific sheets to combine

7. 在最后一步,根据需要选择相关选项。点击 完成 按钮。
choose options and click Finish button

8. 弹出对话框让你选择一个目录用于保存合并后的工作簿,你可以在 文件名 栏中重命名,点击 保存 完成操作
choose one folder to place the combined workbook

9.现在指定的工作表已合并,弹出对话框询问是否将设置保存为方案,点击“是”“否”根据需要选择。

新建的工作簿会弹出并显示合并结果,点击“输出文件”链接可查看合并后的工作表。

合并结果

注意:在合并后的工作簿中,第一个名为Kutools for Excel的工作表会列出原始工作表和最终合并工作表的信息,如不需要可删除。
A new workbook pops out which lists the combining result


4. 基于关键列合并两个工作表

如下截图所示,有两个工作表中的表格,你希望在Excel中基于一个关键列将这两个表格合并为一个。

表格1  表格2 
sample table 1 sample table 2
合并表格 
Combined Table


4.1 使用查询功能(Excel2016及更高版本)基于一个关键列合并两个表格


Excel2016及更高版本中的查询功能非常强大,支持基于关键列合并两个表格。

在使用查询功能前,请确保你要合并的区域已被创建为表格。

doc samplecombine-two-tables-based-on-a-key-column-query.xlsx

1. 点击第一个表格的任意单元格,依次点击数据 > 从表格,在“获取和转换”组中。

click Data > From Table

2. 在 Query Editor 对话框中,点击 文件 > 关闭并加载 命令。见截图:
click File > Close & Load To

3. 在弹出的 加载到 对话框中,勾选 仅创建连接 选项。点击 加载.
check Only Create Connection option

现在你可以看到 工作簿查询 窗格显示,表格已作为链接列出。
the Workbook Queries pane display, and the table has been listed in the pane as a link.

重复上述步骤,将第二个表格添加到 工作簿查询 窗格中。
Repeat to add the second table to the Workbook Queries pane

4. 然后点击数据 > 新建查询 > 合并查询 > 合并。

click Data > New Query > Combine Queries > Merge

5. 在 合并 窗口中,分别在两个下拉列表中选择你要合并的两个表格。下方的表格将合并到上方表格中。
choose the two tables you want to combine i

6. 点击你要基于其合并两个表格的关键列,点击 确定.
click at the key column to combine two tables based on

7. Merge1 – Query Editor 窗口弹出,点击 NewColumn旁的展开按钮,勾选除关键列外的所有列,取消勾选 使用原列名作为前缀 复选框,点击 确定.
check all columns except the key column, and uncheck Use original column name as prefix checkbox

现在两个表格已基于指定关键列合并为一个。
two tables have been merged into one based on the specified key column

8. 点击 文件 > 关闭并加载到,在 加载到 对话框中,勾选 表格 选项并指定你要加载的位置。点击 加载.
Click File > Close & Load To  check Table option and specify the location in the dialog box

现在两个表格已基于关键列合并。
the two tables have been merged based on a key column

4.2 使用Excel函数基于一个关键列合并两个工作表


如果你只想将某一列或两列从一个工作表移动到另一个,并基于关键列定位数据,可以使用Excel函数实现。

例如,将sheet2中的完整数据移动到sheet1,并基于A列定位数据。

doc samplecombine-two-sheets-based-on-a-key-column-functions.xlsx

Sheet1  Sheet2 
sample sheet 1 sample sheet 2

4.21 使用VLOOKUP按列合并两个工作表

1. 在sheet1表格旁边复制并粘贴以下公式:

=VLOOKUP(A2,Sheet2!$A$2:$B$5,2,FALSE)

说明:

A2:第一个查找值(关键列);

Sheet2!$A$2:$B$5:表格区域,包含查找值列和结果值列的表格;

2:列索引,表格区域中你要返回匹配值的具体列号(为整数)。

2. 按下 Enter 键获取第一个结果。
Combine two sheets by a column with VLOOKUP function

3. 然后拖动自动填充柄向下填充所有数据。
drag the autofill handle down to fill with all data.

4. 保持公式单元格选中,点击 开始 选项卡,根据需要设置单元格格式,在 数字 组中操作。
format the cells to your need

如需了解更多VLOOKUP函数信息,请点击此处。

4.22 使用MATCH和INDEX组合公式按列合并两个工作表

1. 在sheet1表格旁边复制并粘贴以下公式:

=INDEX(Sheet2!$B$2:$B$5,MATCH(Sheet1!A2,Sheet2!$A$2:$A$5,0))

说明:

Sheet2!$B$2:$B$5:你要查找匹配值的列;

Sheet1!A2:第一个查找值(在关键列中);

Sheet2!$A$2:$A$5:你要基于其合并两个工作表的关键列。

2. 按下 Enter 键获取第一个结果。
Combine two sheets by a column with a formula combine MATCH and INDEX functions

3. 然后拖动自动填充柄向下填充所有数据。
drag the autofill handle down to fill with all data

4. 保持公式单元格选中,点击 开始 选项卡,根据需要设置单元格格式,在 数字 组中操作。
format the cells to your need

了解更多关于INDEX的信息。

了解更多关于MATCH的信息。

4.3 使用便捷工具基于一个关键列合并两个工作表


除了“汇总”功能外,Kutools for Excel中还有一个强大的功能——合并表格,可以快速轻松地基于一个关键列合并两个工作表。

doc samplecombine-two-sheets-based-on-a-key-column-handy-tool.xlsx

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

安装Kutools for Excel 后,请按如下步骤操作:

1. 点击 Kutools Plus >合并表格.
Click Kutools Plus >Tables Merge

2. 在合并表格 – 步骤1/5 窗口中,将表格区域分别选择到 请选择主表格 请选择查找数据的表格 区域,点击 下一步.
select the table ranges into Select the main table and lookup table section separately

3. 在 步骤2/5 窗口中,勾选你要基于其合并的关键列,点击 下一步.
check the key column you want to combine based on

4. 在 步骤3/5 窗口中,可以勾选你想要根据查找表更新数据的列,如果不需要更新数据,直接点击 下一步.
check the columns to update based on the lookup table, if do not need update data, just directly click Next

5. 在 步骤4/5 窗口中,勾选你想要合并到主表的列,然后点击 下一步.
check the columns to combine to the main table

6. 在最后一步,根据需要设置选项,点击 完成.
specify the options in the dialog box

该功能支持合并不同工作簿中的两个工作表。


5. 基于两列合并两个工作表

假设sheet1和sheet2中分别有两个表格,现在要将sheet2中的End_Dates列数据根据Project列和Start_Date列合并到sheet1中,如下截图所示:

 Sheet1 Sheet2 
sample sheet 1 sample sheet 2
合并工作表 
Combined Sheet

doc sample点击下载示例文件

在Excel中,内置功能无法实现此操作,但Kutools for Excel的合并表格功能可以轻松完成。

安装Kutools for Excel 后,请按如下步骤操作:

1. 点击 Kutools Plus > 合并表格.
Click Kutools Plus > Tables Merge

2. 在 合并表格 – 步骤1/5 窗口中,将表格区域分别选择到 请选择主表格请选择查找数据的表格区域,点击 下一步.
select the main table and lookup table section separately

3. 在步骤2/5窗口中,勾选你要基于其合并的两个关键列,点击“下一步”。

注意:查找表中的相关列会自动匹配,你可以点击查找表列中的列名根据需要修改。
check the two key columns you want to combine based on

4. 在步骤3/5窗口中,可以勾选你想要根据查找表更新数据的列,如果不需要更新数据,直接点击“下一步”。

check the columns to update data based on the lookup table, if do not need update, just directly click Next

5. 在 步骤4/5 窗口中,勾选你想要合并到主表的列,然后点击 下一步.
check the column(s) to combine to the main table

6. 在最后一步,根据需要设置选项,点击 完成.
specify the options as you need, click Finish

你想要添加的列已被添加到主表末尾。
the column(s) to add has been added to the end of the main table

该功能支持合并不同工作簿中的两个工作表。


6. 合并具有相同标题的工作表

要合并多个具有相同标题的工作表,如下截图所示:

sample sheet 1  sample sheet 2 
sample sheet 3 sample sheet 4
 合并工作表
Combined Sheet

doc sample点击下载示例文件

6.1 使用VBA合并所有具有相同标题的工作表


有一段VBA代码可以将一个工作簿中所有具有相同标题的工作表合并。

1. 启用你要合并具有相同标题工作表的工作簿,然后按下Alt + F11 键打开Microsoft Visual Basic for Applications窗口。

2. 在弹出的窗口中,点击 插入 > 模块 以插入一个新的空白模块。
click Insert > Module to insert a new blank module

3. 将下方VBA代码复制并粘贴到新模块中。

VBA:合并具有相同标题的工作表

Sub Combine()
'Update by Extendoffice
    Dim i As Integer
    Dim xTCount As Variant
    Dim xWs As Worksheet
    On Error Resume Next
LInput:
    xTCount = Application.InputBox("The number of title rows", "", "1")
    If TypeName(xTCount) = "Boolean" Then Exit Sub
    If Not IsNumeric(xTCount) Then
        MsgBox "Only can enter number", , "Kutools for Excel"
        GoTo LInput
    End If
    Set xWs = ActiveWorkbook.Worksheets.Add(Sheets(1))
    xWs.Name = "Combined"
    Worksheets(2).Range("A1").EntireRow.Copy Destination:=xWs.Range("A1")
    For i = 2 To Worksheets.Count
        Worksheets(i).Range("A1").CurrentRegion.Offset(CInt(xTCount), 0).Copy _
               Destination:=xWs.Cells(xWs.UsedRange.Cells(xWs.UsedRange.Count).Row + 1, 1)
    Next
End Sub

 copy and paste the code into the module

4. 按下 F5 键运行代码,会弹出对话框让你输入标题行数,在文本框中输入数字。点击 确定.
type the number of row header

现在该工作簿中的所有工作表已合并到一个名为Combined的新工作表中。
all sheets in this workbook have been combined in a new sheet named Combined

6.2 使用便捷工具合并具有相同标题的工作表


Kutools for Excel的“汇总”功能同样可以完成此任务,并支持跨工作簿合并工作表。

安装Kutools for Excel后 ,请按如下步骤操作:

1. 启用你要合并具有相同标题工作表的工作簿,点击 Kutools Plus > 汇总.
 click Kutools Plus > Combine

2. 弹出对话框提醒你有关密码的事项,如果你使用的工作簿未涉及密码,点击 确定 继续。在弹出的 合并数据 – 步骤1/3 窗口中,勾选 复制多个工作簿中的数据到一个工作表中 选项,点击 下一步.
check Combine multiple worksheets from workbooks into one worksheet option

3. 在 步骤2/3 窗口中,所有工作表都已在 工作表列表 区域被勾选,点击 下一步 继续。
all sheets are listed and checked in Worksheet list section

提示:

1)如只需合并部分工作表,仅勾选所需工作表名称,其余不勾选。
 check the sheet names you need

2)如需添加更多工作簿进行合并,点击 添加 以将文件或文件夹添加到 工作簿列表 区域。
click Add to add files or folders into the Workbook list

4. 在 步骤3/3,勾选 按行合并数据 选项,并在 标题行的数量 文本框中输入标题行数,根据需要设置其他选项。点击 完成.
specify the settings in the dialog box

5. 在 请设定保存合并结果的位置及文件名 对话框中,点击 保存.
Select a folder and give a name for the new workbook

6. 弹出对话框询问是否将设置保存为方案,点击 。新建的工作簿会弹出并列出原始工作簿和新工作簿的链接,点击新工作簿路径链接可打开查看。
A workbook list the original workbook and new workbook links


汇总

1. 合并工作表并进行计算

例如,有三个具有相同行标题和列标题的工作表,现在你希望将它们按相同标题合并并对数据求和,如下截图所示。

sample sheet 1 sample sheet 2 sample sheet 3
结果 
result sheet

doc sample点击下载示例文件

1.1 使用“汇总”功能合并工作表并计算


在Excel中,“汇总”功能支持合并工作表并进行计算。

1. 启用你要合并工作表的工作簿,并选择你要放置合并数据的单元格,点击 数据 > 汇总.
click Data > Consolidate

2. 在汇总对话框中,进行如下设置:

1)在 函数 下拉菜单中选择合并后要进行的计算方式。
choose the calculation in the dialog box

2)点击 浏览 按钮旁的选择图标,选择要合并的区域,点击 添加 全部引用 区域。
choose the range to be combined

重复此步骤,将所有需要合并的区域添加到 全部引用 区域。
 Repeat to add all ranges needed to be combined

3)在 标签位置 区域,勾选 首行最左列 复选框,如果区域同时有行标题和列标题。
check the Top row and Left column checkboxes if the ranges have both of row header and column header

4)如需合并内容随源数据变化而自动更新,勾选 创建指向源数据的链接 复选框。
check Create links to source data checkbox if need

3. 点击 确定。区域已按标题合并并求和。
ranges are combined and summed up based on headers

注意:如需合并的区域在其他工作簿中,请在汇总对话框中点击“浏览”选择工作簿,然后在文本框中输入工作表名称和区域,点击“添加”将区域添加到“全部引用”区域。
combine from multiple workbooks, sclick Browse to choose the workbooks

1.2 使用便捷工具合并工作表并计算


Kutools for Excel的“汇总”功能支持将多个工作簿中的工作表合并并计算到一个工作表中。

安装Kutools for Excel 后,请按如下步骤操作:

1. 启用你要汇总的工作簿,点击 Kutools Plus > 汇总.
click Kutools Plus > Combine

2. 弹出对话框提醒你有关密码的事项,如果你使用的工作簿未涉及密码,点击 确定 继续。在弹出的 合并数据 – 步骤1/3 窗口中,勾选 汇总计算多个工作簿中的数据到一个工作表中 选项,点击 下一步.
 check Consolidate and calculate values across multiple workbooks into one worksheet option

3. 在 步骤2/3 窗口中,所有已打开工作簿的工作表都在 工作表列表 区域被勾选,点击 下一步 继续。
all sheets of opened workbook(s) are listed and checked

提示:如只需合并部分工作表,仅勾选所需工作表名称,其余不勾选。如需添加更多工作簿进行合并,点击“添加”将文件或文件夹添加到工作簿列表区域。
click Add to add files or folders

4. 在 步骤3/3,指定所需的计算方式和标签。点击 完成.
specify the calculation, labels and Click Finish

5. 在 请设定保存合并结果的位置及文件名 对话框中,点击 保存.
Select a folder and give a name for the new workbook

6. 弹出对话框询问是否将设置保存为方案,点击 。新建的工作簿会弹出并列出原始工作簿和新工作簿的链接,点击新工作簿路径链接可打开查看。
A workbook lists the original workbook and new workbook links


2. 将多个工作表合并为数据透视表

如果你的数据结构较为简单,如下截图所示,可以直接将工作表合并为数据透视表。

sample sheet 1 
sample sheet 2
sample sheet 3

doc sample点击下载示例

1. 启用你要使用的工作簿,点击 自定义快速访问工具栏 > 更多命令.
click Customize Quick Access Toolbar > More Commands.

2. 在弹出的 Excel选项 窗口中,选择 所有命令从下列位置选择命令 区域,拖动滚动条选择 数据透视表和数据透视图向导.
drag scroll bar to select PivotTable and PivotChart Wizard

3. 点击 添加 数据透视表和数据透视图向导 添加到 自定义快速访问工具栏,点击 确定.
Click Add to add the PivotTable and PivotChart Wizard to the Customize Quick Access Toolbar

4. 在工具栏中点击 数据透视表和数据透视图向导 命令,在 步骤1/3,勾选 多区域汇总和数据透视表 选项,点击 下一步.
Click the PivotTable and PivotChart Wizard command check Multiple consolidation ranges and PivotTable options

5. 在 步骤2a/3,勾选“我将创建页面字段”选项,点击 下一步.
check I will create the page fields option

6. 在 步骤2b/3,点击选择图标选择你要合并的区域,点击 添加 将其添加到 所有区域 区域,重复此步骤将所有用于合并的区域添加。 在“你要创建多少个页面字段”中选择0。点击 下一步.
add all ranges used for combining

7. 在 步骤3/3,选择你要创建数据透视表的位置,点击 完成.
Choose the location you want to create  the PivotTable

现在已创建数据透视表,根据需要在 数据透视表字段 窗格中设置。
specify the settings in PivotTable Fields pane

注意:如果数据结构较为复杂,建议先用上述常规方法合并工作表,再将结果表转换为数据透视表。


Google 表格

1. 将多个Google表格合并为一个工作表

假设有三个Google表格需要合并为一个,如下截图所示:

sample google sheet 1 sample google sheet 2 sample google sheet 3 

doc sample点击下载示例文件

1.1通过筛选函数将Google表格合并为一个工作表

在你想放置合并数据的工作表中,选择一个单元格,输入以下公式:

=({filter(A!A2:B, len(A!A2:A)); filter(B!A2:B, len(B!A2:A)); filter('C'!A2:B, len('C'!A2:A)) })
enter a filter function

此时A、B、C三个工作表中的数据已被复制。
the data in all selected sheets are copied

公式说明:

A、B、C为工作表名称,A2:B为每个工作表中的数据区域,A2:A为每个数据区域的第一列。

1.2通过IMPORTRANGE函数将Google表格合并为一个工作表

该公式常用于合并Google表格中的两个区域。

在第一个数据区域下方选择一个单元格,输入以下公式:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/13K4vuZukmS4-x0qJs0EAXQkneIdNqelruDBF5ff5xNQ/edit","B!A2:B4")
enter an IMPORTRANGE function

此时B工作表中的数据已被复制到下方。
the data in another sheet is copied

在公式中,

https://docs.google.com/spreadsheets/d/13K4vuZukmS4-x0qJs0EAXQkneIdNqelruDBF5ff5xNQ/edit

为工作表位置,可在网页地址栏中找到。
hyperlink is the sheet  in the formula

B!A2:B4为B工作表中你要复制到第一个区域的单元格区域。

注意:如果放置公式的单元格之前被编辑过,公式会返回#REF!
if the cell that place the formula has been edited before, the formula will return #REF!


2. 将Google表格合并为一个工作簿

如果你想将多个Google表格中的工作表合并到一个工作簿,Google表格不像Excel那样有快捷方法。

要将Google表格中的工作表合并到一个工作簿,可以使用右键菜单中的“复制到”命令。

右键点击你要操作的工作表,点击 复制到 > 新建电子表格现有电子表格.
select the options in the dialog box

如果你选择 新建电子表格,会弹出对话框提醒你工作表已被复制,点击 确定。此时当前工作表已被复制到新工作簿。你可以点击 打开电子表格 进行查看。
 click Copy to > New spreadsheet or Existing spreadsheet

如果你选择现有电子表格,会弹出“选择要复制此工作表到的电子表格”对话框。

1)选择现有电子表格的位置;

2)在文件中选择你要复制工作表到的工作簿;

3)或可直接在“或在此处粘贴网页地址”栏中输入你要复制到的工作簿网页地址。

4)点击 选择.
specify the options in the dialog box

如果工作表被复制到新电子表格中,新工作簿中的工作表名称与原名称相同;如果复制到现有电子表格,合并工作簿中的工作表名称会加上“复制自”的前缀。
the sheet is copyed into current or new workbook


扩展

1. 合并工作表后删除重复项

假设有两个工作表存在重复项,需要将数据合并并去重,如下截图所示:

sample sheet 1 sample sheet 2 
常规结果 删除重复项
combined sheet remove duplicates in combined sheet

doc sample点击下载示例

1.1通过“删除重复”功能合并工作表并去重


在Excel中,“删除重复”功能可帮助你快速去除重复数据。

使用上述方法合并工作表后,选中合并后的数据,点击 数据 > 删除重复项.
click Data > Remove Duplicates.

删除重复项 对话框中,选择你要去重的列,可勾选 数据包含标题 以忽略标题,点击 确定.
choose the columns you want to remove duplicates from

此时重复行已被删除。
he duplicate rows have been removed

1.2 使用便捷工具合并工作表并去重


如果只需合并并去重两个区域,Kutools for Excel的合并表格功能可以在合并时直接去重。

安装Kutools for Excel 后,请按如下步骤操作:

1. 启用包含你要合并数据的工作簿,点击 Kutools Plus > 合并表格.
click Kutools Plus > Tables Merge

2. 在合并表格 – 步骤1/5 窗口中,选择你要合并的两个区域,如表格有两行标题,勾选 主表有标题查找表有标题 复选框,点击 下一步.
 select the two ranges that you want to combine

3. 在 步骤2/5 窗口中,勾选你要基于其合并区域的关键列,点击 下一步.
check the key column that you want to combine ranges based on

4. 在步骤3/5窗口中,可以勾选你想要根据查找表更新数据的列,点击“下一步”进入最后一步。

提示:如果查找表中有新列需要添加到主表,会有步骤4/5窗口用于添加列。
check the columns that you want to update data based on the lookup table

5. 在 步骤5/5 窗口,在 添加 区域,勾选 添加非匹配行到主表的尾部 复选框,在 更新 区域,勾选 仅当查找表中的单元格包含数据时才更新 复选框。点击 完成.
select the options in the last dialog box

此时两个表格已合并到主表且无重复项。
the two tables are combined into the main table without duplicates


2. 将同名工作表合并为一个工作表。

假设有多个工作簿包含同名工作表,如sheet1、sheet2,现在要将所有名为sheet1的工作表合并为一个,将所有名为sheet2的工作表合并为一个,如下截图所示,你可以使用Kutools for Excel的“汇总”功能快速完成此任务。

sample sheet 1 sample sheet 2 Combine worksheets of same names into one worksheet
sample sheet 1 sample sheet 2 Combine worksheets of same names into one worksheet.

doc sample2020.xlsx doc sample2021.xlsx

安装 Kutools for Excel后,请按如下步骤操作:

1. 启用你要合并的工作簿,点击Kutools Plus > 汇总.
click Kutools Plus > Combine

2. 弹出对话框提醒你有关密码的事项,如果你使用的工作簿未涉及密码,点击 确定 继续。在弹出的 合并数据 – 步骤1/3 窗口中,勾选 合并多个工作簿中同名工作表的数据 选项,点击 下一步.
check Combine all same name worksheets into one worksheet option

3. 在 步骤2/3 窗口中,所有已打开工作簿的工作表都在 工作表列表 区域被勾选,点击 下一步 继续。
all sheets of opened workbook(s) are listed and checked

提示:

如只需合并部分工作表,仅勾选所需工作表名称,其余不勾选。

如需添加更多工作簿进行合并,点击 添加 以将文件或文件夹添加到 工作簿列表 区域。
click Add to add files or folders

4. 在 步骤3/3,根据需要设置选项。点击 完成.
specify the settings as you need. Click Finish

5. 在 请设定保存合并结果的位置及文件名 对话框中,点击 保存.
Select a folder and give a name for the new workbook

6. 弹出对话框询问是否将设置保存为方案,点击 。新建的工作簿会弹出并列出原始工作簿和新工作簿的链接,点击新工作簿路径链接可打开查看。
A workbook lists the original workbook and new workbook links

按行合并数据
result of Combining by row

按列合并数据
result of Combining by column


3. 将多个工作表中的相同区域合并到一个工作表中

如果你想将多个工作表中的相同区域合并到一个工作表,例如只将A和B工作簿中的A1:B5区域合并到一个工作表,Kutools for Excel的“汇总”功能是不错的选择。

A B 合并结果
sample data 1 sample data 2 Combined Reuslt

doc sampleA.xlsx doc sampleB.xlsx

1. 启用你要使用的工作簿,点击 Kutools Plus > 汇总.
click Kutools Plus > Combine

2. 弹出对话框提醒你有关密码的事项,如果你使用的工作簿未涉及密码,点击 确定 继续。在弹出的 合并数据 – 步骤1/3 窗口中,勾选 复制多个工作簿中的数据到一个工作表中 选项,点击 下一步.
check Combine multiple worksheets from workbooks into one worksheet option

3. 在 步骤2/3 窗口中,所有已打开工作簿的工作表都在 工作表列表 区域,点击 工作表列表中的选择图标,选择你要使用的区域。然后点击 相同区域 按钮,将所有工作表的区域设置为A1:B5。点击 下一步.
all sheets of opened workbook(s) are listed and checked
click Same range button to set all sheets’ range as the same

提示:

如只需合并部分工作表,仅勾选所需工作表名称,其余不勾选。

如需添加更多工作簿进行合并,点击“添加”将文件或文件夹添加到工作簿列表区域。

4. 在步骤3/3中,根据需要设置选项。点击“完成”。

5. 在“请设定保存合并结果的位置及文件名”对话框中选择目录并命名新工作簿,点击“保存”。

6. 弹出对话框询问是否将设置保存为方案,点击“是”或“否”根据需要选择。新建的工作簿会弹出并列出原始工作簿和新工作簿的链接,点击新工作簿路径链接可打开查看。


你可能还感兴趣

合并/导入多个Csv文件到多个工作表 提供将CSV文件导入Excel的方法

合并单元格并保留Excel中的单元格格式 本文可帮助你快速合并单元格并保留格式。

在Excel中合并多个单元格内容且不丢失数据 本文介绍了合并多个单元格且不丢失数据的快捷方法。

在Excel中将日期和时间合并到一个单元格 提供两种方法将日期和时间合并到一个单元格并显示为日期时间格式。


  • 超级公式栏(轻松编辑多行文本和公式);阅读布局(轻松读取和编辑大量单元格);粘贴到筛选区域...
  • 合并单元格/行/列并保留数据;拆分单元格内容;合并重复行并求和/平均值... 防止重复单元格;比较区域...
  • 选择重复或唯一行选择空白行(所有单元格为空);在多个工作簿中进行超级查找和模糊查找;随机选择...
  • 精准复制多个单元格而不改变公式引用;自动创建对多个工作表的引用;插入项目符号、复选框等...
  • 收藏并快速插入公式、区域、图表和图片;用密码加密单元格创建邮件列表并发送电子邮件...
  • 提取文本,添加文本,按位置删除,删除空格;创建并打印分页小计;在单元格内容和批注之间转换...
  • 超级筛选(保存并应用筛选方案到其他工作表);按月/周/日高级排序,频率等;按粗体、斜体特殊筛选...
  • 合并工作簿和工作表;基于关键列汇总表格;将数据分割到多个工作表批量转换 xls、xlsx 和 PDF...
  • 数据透视表按周数、星期几等分组... 用不同颜色显示未锁定、已锁定单元格高亮显示包含公式的单元格/名称...
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中。
  • 将您的生产力提高 50%,每天为您减少数百次鼠标点击!
officetab bottom