Skip to main content

Excel 教學:將多個工作簿/工作表合併為一個

Author: Sun Last Modified: 2025-05-12

在 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. 在彈出的查詢編輯器視窗中,前往公式欄,輸入下方公式。

=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。其 Combine 功能不僅能將所有工作表合併到一個工作表,還能完成進階合併任務,例如合併到一個工作簿、合併同名工作表、僅合併選定工作表、跨文件合併等。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 啟用你想合併工作表的工作簿,點擊 Kutools Plus > Combine。彈出對話框提醒有關密碼的注意事項,如果你要使用的工作簿未設密碼,直接點擊 OK 繼續操作。
click Kutools Plus > Combine
click OK to continue

2. 在 Combine Worksheets – Step1 of3 視窗中,勾選「複製多個工作簿中的數據到一個工作表中」選項,點擊下一步。
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 ExcelCombine功能可以做到。

1. 啟用你要使用的工作簿並點擊 Kutools Plus > Combine > OK 以啟用 Combine 精靈。
 click Kutools Plus > Combine
click ok to go on

2. 在第1 步視窗中,勾選「複製多個工作簿中的數據到一個工作表中」選項,點擊下一步。
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 ExcelCombine 功能同樣可以協助你完成。
 combine sheets from multiple workbooks into one sheet

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 啟用你要使用的工作簿,點擊 Kutools Plus > Combine > OK以啟用 Combine 精靈。

2. 在第1 步視窗中,勾選「複製多個工作簿中的數據到一個工作表中」選項,點擊下一步。
check Combine multiple worksheets from workbooks into one worksheet option

3. 在第2 步視窗中,所有已開啟的工作簿都已在工作簿列表中勾選,且所有工作表也已在工作表列表中勾選,點擊下一步繼續。
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. 將多個工作簿合併為一個工作簿

這裡有三個工作簿需要合併為一個工作簿。

Jan Feb Mar
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. 在移動或複製對話框中,於至工作簿下拉選單選擇要移動到的工作簿(此處選擇 Jan),然後於在工作表之前區段指定放置位置,點擊確定
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 ExcelCombine 功能提供跨多個資料夾合併工作簿的選項。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 啟用 Excel,點擊 Kutools Plus > Combine,彈出對話框提醒有關密碼的注意事項,如果你要使用的工作簿未設密碼,直接點擊 OK 繼續操作。
click Kutools Plus > Combine
click OK to continue

2. 在 Combine Worksheets – Step1 of3 視窗中,勾選「複製多個工作簿中的工作表到一個工作簿中」選項,點擊下一步。
check Combine multiple worksheets from workbooks into one workbook option

3. 在第2 步視窗中,點擊添加按鈕旁的箭頭展開下拉選單,點擊目錄。
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 ExcelCombine 功能。

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 啟用 Excel,點擊 Kutools Plus > Combine,彈出對話框提醒有關密碼的注意事項,如果你要使用的工作簿未設密碼,直接點擊 OK 繼續操作。
click Kutools Plus > Combine
click OK to continue

2. 在 Combine Worksheets – Step1 of3 視窗中,勾選「複製多個工作簿中的工作表到一個工作簿中」選項,點擊下一步。
check Combine multiple worksheets from workbooks into one workbook option

3. 在第2 步視窗中,點擊添加按鈕旁的箭頭展開下拉選單,點擊目錄。
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 步視窗,選擇一個工作簿於工作簿列表中,僅勾選你要使用的工作表於工作表列表,然後點擊相同工作表按鈕。現在所有工作簿列表中同名工作表已被勾選。點擊下一步繼續。
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.依據關鍵列合併兩個工作表

如下圖所示,兩個工作表中各有一個表格,你希望根據一個關鍵列將這兩個表格合併為一個。

Table1 Table2
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. 在查詢編輯器對話框中,點擊檔案 > 關閉並載入。請參考下圖:
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 – 查詢編輯器視窗會彈出,點擊 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 函數可以協助你。

例如,將工作表2 的完整數據根據 A 欄對應到工作表1。

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

Sheet1 Sheet2
sample sheet 1 sample sheet 2

4.21 使用 VLOOKUP依據某一列合併兩個工作表

1. 在工作表1 表格旁貼上下方公式:

=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. 在工作表1 表格旁貼上下方公式:

=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 使用便捷工具依據一個關鍵列合併兩個工作表


除了 Combine 功能外,Kutools for ExcelTables Merge也是一個強大功能,可快速輕鬆依據一個關鍵列合併兩個工作表。

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 > Tables Merge
Click Kutools Plus >Tables Merge

2. 在 Tables Merge – Step1 of5 視窗中,分別於選擇主表格及選擇查找資料的表格區段選取表格區域,點擊下一步。
select the table ranges into Select the main table and lookup table section separately

3. 在第2 步視窗中,勾選你要依據合併的關鍵列,點擊下一步。
check the key column you want to combine based on

4. 在第3 步視窗中,你可以勾選要根據查找表更新資料的欄,若不需更新資料,直接點擊下一步。
check the columns to update based on the lookup table, if do not need update data, just directly click Next

5. 在第4 步視窗中,勾選你要合併到主表的欄,然後點擊下一步。
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 ExcelTables Merge 可以處理。

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 點擊 Kutools Plus > Tables Merge
Click Kutools Plus > Tables Merge

2. 在 Tables Merge – Step1 of5 視窗中,分別於選擇主表格及選擇查找資料的表格區段選取表格區域,點擊下一步。
select the main table and lookup table section separately

3. 在第2 步視窗中,勾選你要依據合併的兩個關鍵列,點擊下一步。

注意:查找表中的相關欄會自動匹配,你可點擊查找表列中的欄名根據需要更改。
check the two key columns you want to combine based on

4. 在第3 步視窗中,你可以勾選要根據查找表更新資料的欄,若不需更新資料,直接點擊下一步。

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

5. 在第4 步視窗中,勾選你要合併到主表的欄,然後點擊下一步。
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 ExcelCombine 功能同樣可以處理此任務,且支持跨工作簿合併工作表。

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 啟用你想合併具有相同標題工作表的工作簿,點擊 Kutools Plus > Combine
 click Kutools Plus > Combine

2. 彈出對話框提醒有關密碼的注意事項,如果你使用的工作簿未設密碼,點擊確定繼續。在彈出的 Combine Worksheets – Step1 of3 視窗中,勾選 「複製多個工作簿中的數據到一個工作表中」選項,點擊下一步
check Combine multiple worksheets from workbooks into one worksheet option

3. 在第2 步視窗中,所有工作表已在工作表列表區段列出並勾選,點擊下一步繼續。
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 步視窗中,勾選按行合併選項,並在標題行數欄位輸入標題行數,根據需求設定其他選項。點擊完成
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 ExcelCombine 功能支持將多個工作簿中的工作表合併並計算到一個工作表中。

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 啟用你要合併的工作簿,點擊 Kutools Plus > Combine
click Kutools Plus > Combine

2. 彈出對話框提醒有關密碼的注意事項,如果你使用的工作簿未設密碼,點擊確定繼續。在彈出的Combine Worksheets – Step1 of3視窗中,勾選合併計算多個工作簿中的數據到一個工作表中選項,點擊下一步
 check Consolidate and calculate values across multiple workbooks into one worksheet option

3. 在第2 步視窗中,所有已開啟工作簿的工作表已在工作表列表區段列出並勾選,點擊下一步繼續。
all sheets of opened workbook(s) are listed and checked

提示:如只需合併部分工作表,只需勾選所需工作表名稱,其餘不勾選。如需添加更多工作簿進行合併,點擊添加將文件或目錄加入工作簿列表區段。
click Add to add files or folders

4. 在第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 試算表中將多個工作簿的工作表合併,並無像 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

若複製到新試算表,則新工作簿中的工作表名稱與原名稱相同;若複製到現有試算表,則合併後的工作表名稱會加上「Copy of」前綴。
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 ExcelTables Merge 可在合併時直接刪除重複。

安裝 Kutools for Excel 後,請按以下步驟操作:

1. 啟用包含你要合併數據的工作簿,點擊 Kutools Plus > Tables Merge
click Kutools Plus > Tables Merge

2. 在 Tables Merge – Step1 of5 視窗中,選取你要合併的兩個區域,若表格有兩個標題,勾選主表有標題及查找表有標題,點擊下一步。
 select the two ranges that you want to combine

3. 在第2 步視窗中,勾選你要依據合併的關鍵列,點擊下一步。
check the key column that you want to combine ranges based on

4. 在第3 步視窗中,你可以勾選要根據查找表更新資料的欄,點擊下一步進入最後一步。

提示:若查找表有新欄需添加到主表,會有第4 步視窗用於添加欄。
check the columns that you want to update data based on the lookup table

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 ExcelCombine 功能快速完成。

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 > Combine
click Kutools Plus > Combine

2. 彈出對話框提醒有關密碼的注意事項,如果你使用的工作簿未設密碼,點擊確定繼續。在彈出的Combine Worksheets – Step1 of3視窗中,勾選合併多個工作簿中同名工作表的數據選項,點擊下一步
check Combine all same name worksheets into one worksheet option

3. 在第2 步視窗中,所有已開啟工作簿的工作表已在工作表列表區段列出並勾選,點擊下一步繼續。
all sheets of opened workbook(s) are listed and checked

提示:

如只需合併部分工作表,只需勾選所需工作表名稱,其餘不勾選。

如需添加更多工作簿進行合併,點擊添加將文件或目錄加入工作簿列表區段。
click Add to add files or folders

4. 在第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 的 Combine 功能是很好的選擇。

A B 合併結果
sample data 1 sample data 2 Combined Reuslt

doc sampleA.xlsx doc sampleB.xlsx

1. 啟用你要使用的工作簿,點擊 Kutools Plus > Combine
click Kutools Plus > Combine

2. 彈出對話框提醒有關密碼的注意事項,如果你使用的工作簿未設密碼,點擊確定繼續。在彈出的 Combine Worksheets – Step1 of3 視窗中,勾選「複製多個工作簿中的數據到一個工作表中」選項,點擊下一步
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

提示:

1) 如只需合併部分工作表,只需勾選所需工作表名稱,其餘不勾選。

2) 如需添加更多工作簿進行合併,點擊添加將文件或目錄加入工作簿列表區段。

4. 在第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