Tổng Hợp Nhiều File Excel Thành 1 File: Hướng Dẫn Chi Tiết & Công Cụ Tiện Ích

Trong môi trường làm việc hiện đại, dữ liệu thường được lưu trữ và chia sẻ qua nhiều file Excel. Việc quản lý, phân tích và báo cáo thường xuyên đòi hỏi chúng ta phải tổng hợp dữ liệu từ các file này vào một file duy nhất. Việc này không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu sai sót khi sao chép thủ công. Bài viết dưới đây sẽ cung cấp cho bạn một loạt các phương pháp, từ các công cụ tích hợp sẵn trong Excel, các script ngôn ngữ lập trình, cho tới các phần mềm thứ ba, cùng với các mẹo, lưu ý thực tiễn để bạn có thể thực hiện công việc “tổng hợp nhiều file Excel thành 1 file” một cách hiệu quả nhất.work

1. Tại sao nên tổng hợp dữ liệu từ nhiều file Excel?

  1. Tiết kiệm thời gian – Bạn không cần mở từng file, sao chép dán dữ liệu thủ công.
  2. Giảm sai sót – Các công cụ tự động sẽ giảm thiểu lỗi nhập liệu, sai sót khi chuyển đổi cột.
  3. Dễ dàng phân tích – Khi dữ liệu được lưu trữ trong một file duy nhất, các công cụ BI, Power Pivot, hoặc VBA sẽ dễ dàng truy cập.
  4. Quản lý phiên bản – Khi có dữ liệu cập nhật, bạn chỉ cần thay đổi file nguồn, file tổng hợp sẽ tự động cập nhật.

2. Chuẩn bị công cụ và dữ liệu

  • Excel 2026 trở lên zelf hỗ trợ Power Query.
  • PowerShell hoặc Python (đặc biệt thư viện pandas).
  • VBA – kiến thức cơ bản về macro.
  • Add-ins như Power Query (còn gọi là Get & Transform), hoặc probeer Add-in Combine Files.
  • Phần mềm thứ ba: Kutools, Excel Merger, DiffEngineX.

Trước khi bắt đầu, hãy chuẩn bị:
– Tất cả file Excel nằm trong cùng một thư mục.
– Các file có cấu trúc bảng tương đồng: tên cột giống nhau, kiểu dữ liệu đồng nhất.
– Đặt tên file gốc rõ ràng, tránh các ký tự đặc biệt.

3. Phương pháp 1: Sử dụng Power Query (Get & Transform)

3.1. Mở Power Query

  1. Mở Excel mới.
  2. Chọn tab Data → Get Data → From File → From Folder.
  3. Nhập đường dẫn thư mục chứa các file Excel cần tổng hợp.
  4. Nhấn OK.

3.2. Lọc file cần lấy

  1. Trong cửa sổ Folder, bạn sẽ thấy danh sách filepọlọpọ.
  2. Nếu cần lọc chỉ lấy file .xlsx, bạn có thể dùng Filter.
  3. Nhấn Combine & Load.

3.3. Tùy chỉnh dữ liệu

  • Power Query sẽ mở cửa sổ Combine Files. Bạn có thể chọn Use the first row as headers.
  • Tùy chỉnh các cột: loại bỏ cột không cần, đổi tên, chuyển kiểu dữ liệu.
  • Khi hoàn tất, nhấn OK قالت.

3.4. Lưu kết quả

  • Power Query sẽ tạo một bảng dữ liệu trong file Excel mới. Bạn có thể lưu file này dưới dạng .xlsx.
  • Khi có file mới trong thư mục, chỉ cần làm Refresh để cập nhật dữ liệu.

Ưu điểm:
– Không cần viết mã.
– Tự động cập nhật khi thêm/đổi file.

Nhược điểm:
– Không linh hoạt khi cần thao tác phức tạp (ví dụ: tính toán dựa trên nhiều trường).
– Đối với file lớn (thousands rows), tốc độ xử lý có thể chậm.

4. Phương pháp 2: VBA Macro

VBA cung cấp một cách mạnh mẽ để tự động hoá quá trình, đặc biệt khi bạn cần xử lý dữ liệu đặc thù.

4.1. Mẫu Macro

Sub MergeExcelFiles() Dim wbDest As Workbook Dim wsDest As Worksheet Dim folderPath As String Dim fileName As String Dim wbSource As Workbook Dim wsSource As Worksheet Dim lastRow As Long, destRow As Long ' Đặt đường dẫn thư mục folderPath = "C:\Data\ExcelFiles\" ' Tạo workbook đích Set wbDest = Workbooks.Add Set wsDest = wbDest.Sheets(1) wsDest.Name = "MergedData" ' Thêm header (giả sử file nguồn có header trong cột A1) fileName = Dir(folderPath & ".xlsx") If fileName <> "" Then Set wbSource = Workbooks.Open(folderPath & file_a) Set wsSource = wbSource.Sheets(1) wsSource.Rows(1).Copy Destination:=wsDest.Rows(1) wbSource.Close False End If destRow = 2 ' Bắt đầu ghi dữ liệu từ hàng 2 ' Lặp qua từng file Do While fileName <> "" Set wbSource = Workbooks.Open(folderPath & fileName) Set wsSource = wbSource.Sheets(1) lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row ' Sao chép dữ liệu (không bao gồm header) wsSource.Range("A2", wsSource.Cells(lastRow, wsSource.Columns.Count).End(xlToLeft)).Copy _ Destination:=wsDest.Cells(destRow, 1) destRow = destRow + (lastRow - 1) wbSource.Close False fileName = Dir() ' Lấy file tiếp theo Loop MsgBox "Tổng hợp xong!"
End Sub

4.2. Hướng dẫn chạy macro

  1. Mở Excel, nhấn Alt + F11 để mở cửa sổ VBA.
  2. Chèn một module mới và dán code trên.
  3. Tùy chỉnh folderPath thành thư mục chứa file.
  4. Chạy macro bằng F5 hoặc từ tab Developer → Macros.

Lưu ý: Macro có thể bị chặn do cài đặt bảo mật. Bạn cần bật Macro trong File → Options → Trust Center.

5. Phương pháp 3: Python + pandas

Tổng Hợp Nhiều File Excel Thành 1 File
Tổng Hợp Nhiều File Excel Thành 1 File

Python là một ngôn ngữ mã nguồn mở mạnh mẽ, rất phù hợp với xử lý dữ liệu lớn. Thư viện pandas cung cấp các hàm đọc, ghi file Excel một cách nhanh chóng.

5.1. Cài đặt môi trường

pip install pandas openpyxl
  • openpyxl là thư viện hỗ trợ đọc/ghi file .xlsx.
  • pandas sẽ xử lý dữ liệu thành DataFrame.

5.2. Script Python

import os
import pandas as pd # Đường dẫn thư mục chứa file
folder_path = r'C:\Data\ExcelFiles'
# Danh sách file .xlsx
files = f for f in os.listdir(folder_path) if f.endswith('.xlsx') # Dùng list để lưu DataFrame
df_list = for file in files: file_path = os.path.join(folder_path, file) # Đọc file, giả sử dữ liệu bắt đầu từ hàng 1 df = pd.read_excel(file_path, sheet_name=0) # Thêm cột tên file nguồn (tùy chọn) df'SourceFile' = file df_list.append(df) # Concatenate tất cả DataFrame
merged_df = pd.concat(df_list, ignore_index=True) # Ghi kết quả vào file mới
output_path = os.path.join(folder_path, 'MergedData.xlsx')
merged_df.to_excel(output_path, index=False) print(f'Tổng hợp thành công, file lưu tại: {output_path}')

5.3. Ưu điểm và nhược điểm

  • Ưu điểm:
  • Xử lý dữ liệu lớn (tên trăm nghìn row) nhanh hơn Excel.
  • Dễ dàng thực hiện các phép biến đổi phức tạp (groupby, pivot).
  • Có thể bàn giao script cho đồng nghiệp không cần cài Excel.
  • Nhược điểm:
  • Cần cài đặt Python, thư viện.
  • Không trực quan như Excel cho người dùng không quen.

6. Phương pháp 4: PowerShell

PowerShell, shell script của Windows, cũng cung cấp các cmdlet để làm việc với Excel.

6.1. Script PowerShell

$folder = "C:\Data\ExcelFiles"
$files = Get-ChildItem -Path $folder -Filter .xlsx $excel = New-Object -ComObject Excel.Application
$excel.Visible = $false $mergedWorkbook = $excel.Workbooks.Add()
$mergedSheet = $mergedWorkbook.Sheets.Item(1)
$mergedSheet.Name = "MergedData" $row = 1 foreach ($file in $files) { $workbook = $excel.Workbooks.Open($file.FullName) $sheet = $workbook.Sheets.Item(1) if ($row -eq 1) { # Copy header الموافق $sheet.Rows.Item(1).Copy() $mergedSheet.Rows.Item($row).PasteSpecial() $row++ } $lastRow = $sheet.UsedRange.Rows.Count $range = $sheet.Range("A2", $sheet.Cells.Item($lastRow, $sheet.UsedRange.Columns.Count)) $range.Copy() $mergedSheet.Cells.Item($row, 1).PasteSpecial() $row += $lastRow - 1 $workbook.Close($false)
} $mergedWorkbook.SaveAs("$folder\MergedData.xlsx")
$excel.Quit()

6.2. Lưu ý

  • PowerShell có thể được thực hiện nhanh, tuy nhiên xử lý file lớn có thể bị giới hạn bởi bộ nhớ.
  • Cần cài đặt COM Excel (điều kiện: có Microsoft Office cài đặt).

7. Phương pháp 5: Sử dụng add-in Kutools

Kutools là một bộ add-in cho Excel, cung cấp nhiều tính năng tiện ích, bao gồm Combine Files.

7.1. Các bước

  1. Mở Excel và cài Kutools (tải từ trang chính thức).
  2. Chọn tab Kutools Plus → Combine.
  3. Chọn Combine multiple Excel files → All files.
  4. Chọn thư mục chứa file.
  5. Lựa chọn các tùy chọn: giữ header, sắp xếp, loại bỏ trùng lặp.
  6. Nhấn OK.

Ưu điểm: Đơn giản, nhanh chóng, không cần viết code.
Nhược điểm: Có phí (phiên bản trả phí), không mở rộng khi cần tùy chỉnh phức tạp.

8. Các lưu ý khi tổng hợp dữ liệu

#Lưu ýMô tả
1Cân đối kích thước fileNếu file quá lớn (> 1M row), hãy chia nhỏ hoặc dùng pandas/SQL để xử lý.
2Kiểm tra kiểu dữ liệuĐảm bảo cột ngày, số, chuỗi đều có cùng kiểu.
3Xử lý trùng lặpSử dụng tính năng Remove Duplicates trong Excel hoặc drop_duplicates() trong pandas.
4Quản lý thư mụcĐặt file nguồn trong thư mục riêng để tránh nhầm lẫn.
5Bảo mậtKhi dùng macro, đảm bảo macro được ký chữ ký số hoặc được bật trong cài đặt bảo mật.
6Đặt tên fileDùng cú pháp YYYYMMDD_Merged.xlsx để dễ dàngITION.

9. Tối ưu hoá hiệu suất

  • Sử dụng Power Query: Tự động cập nhật khi thay đổi data.
  • Đặt công thức: Tránh tính toán lại hàng, dùng hàm INDEX/MATCH.
  • Sử dụng Table: Khi nhập dữ liệu vào Excel, chuyển thành bảng (Ctrl+T) để bảo toàn cấu trúc.
  • Bảo trì dữ liệu: Định kỳ kiểm tra dữ liệu nguồn, loại bỏ file lỗi.

10. Kết luận

Tổng hợp nhiều file Excel thành một file không chỉ là một thao tác quản lý dữ liệu mà còn là chìa khóa giúp bạn làm việc hiệu quả hơn trong môi trường doanh nghiệp. Dù bạn là người mới, hay đã có kinh nghiệm, các phương pháp dưới đây sẽ giúp bạn lựa chọn công cụ phù hợp nhất với nhu cầu và môi trường làm việc của mình. Hãy thử áp dụng một trong những cách kể trên, ghi nhận trải nghiệm, và tùy chỉnh lại để phù hợp với quy trình của bạn. Chúc bạn thành công và tiết kiệm thời gian trong công việc!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận