Cách gộp nhiều file Excel thành 1 file đơn giản, nhanh chóng

Việc tổng hợp dữ liệu từ nhiều bảng tính riêng lẻ thường khiến bạn mất thời gian nếu làm thủ công và dễ xảy ra sai sót. Thay vì xử lý từng file, nắm rõ cách gộp nhiều file excel thành 1 file excel sẽ giúp bạn tiết kiệm công sức và kiểm soát dữ liệu hiệu quả hơn trong công việc hằng ngày. Cùng xem ngay bài viết dưới đây để biết cách thực hiện nhanh và dễ áp dụng.
Cách gộp nhiều file Excel thành 1 file
Khi dữ liệu nằm rải rác ở nhiều bảng tính khác nhau, việc tổng hợp thủ công thường gây mất thời gian và dễ sai lệch. Nắm rõ cách gộp nhiều file excel thành 1 file sẽ giúp bạn xử lý nhanh hơn, đồng thời đảm bảo thông tin được đồng bộ và dễ quản lý.
Gộp file bằng Move or Copy
Phương pháp này phù hợp khi bạn chỉ có vài file và muốn giữ nguyên từng sheet riêng biệt trong một workbook.
- Bước 1: Mở tất cả các file Excel cần gộp và file đích (file bạn muốn chứa tất cả dữ liệu vào). Tại file nguồn, nhấp chuột phải vào tab sheet cần chuyển, chọn Move or Copy (Di chuyển hoặc Sao chép).

- Bước 2: Trong hộp thoại hiện ra, mục To book chọn tên file đích. Tích vào ô Create a copy nếu muốn giữ nguyên file gốc. Chọn vị trí sheet trong file đích rồi nhấn OK. Lặp lại với các sheet và file còn lại.
Sau khi hoàn tất, lưu file đích. Cách này đơn giản nhưng mất thời gian nếu số lượng file nhiều.
[Product_Listing categoryid="380" propertyid="" customlink="https://cellphones.com.vn/laptop.html" title="Danh sách Laptop đang được quan tâm nhiều tại CellphoneS"]
Gộp file tự động bằng Power Query
Power Query là công cụ mạnh trong Excel (từ phiên bản 2016 trở lên và Microsoft 365) để gộp dữ liệu từ nhiều file có cùng cấu trúc cột. Đây là hướng dẫn cách gộp nhiều file Excel thành 1 file được nhiều người dùng ưa chuộng vì có thể làm mới dữ liệu khi có file mới.
1. Chuẩn bị
- Chuẩn bị sẵn một thư mục trên máy tính và đặt toàn bộ các tệp Excel cần gộp vào cùng thư mục đó. Các tệp chỉ cần thống nhất tên tiêu đề cột (header), kiểu dữ liệu tương thích.
- Mở tệp Excel (có thể mở tệp trống hoặc tệp bất kỳ).
- Vào thẻ Data (Dữ liệu) trên thanh công cụ phía trên.
- Chọn Get Data (Lấy dữ liệu) → From File (Từ tệp) → From Folder (Từ thư mục).

2. Chọn folder
- Cửa sổ chọn thư mục hiện ra.
- Nhấn Browse (Duyệt) để tìm và chọn đúng thư mục chứa các tệp Excel, sau đó nhấn Open (Mở).

3. Thiết lập file gộp
- Excel hiện danh sách các tệp trong thư mục.
- Nhấn nút Combine (Kết hợp) → chọn Combine & Load (Kết hợp & tải) nếu muốn tải thẳng vào bảng.

5. Gộp file
- Cửa sổ Combine Files (Kết hợp tệp) xuất hiện.
- Ở phần Sample File (Tệp mẫu), chọn một tệp đại diện.
- Tiếp theo chọn đúng sheet hoặc bảng cần lấy dữ liệu
- Nhấn OK.

5. Hoàn tất
- Khi xong, nhấn Close & Load (Đóng & tải) ở góc trên bên trái để đưa kết quả vào một sheet mới trong Excel.
- Dữ liệu đã được gộp xong. Nếu sau này bạn thêm tệp Excel mới vào cùng thư mục, hãy vào tab Query → chọn Refresh (Làm mới) để cập nhật tự động.

Gộp file hàng loạt bằng VBA/Macro
Cách gộp nhiều file Excel thành 1 file Excel bằng VBA/Macro giúp bạn tự động gom dữ liệu từ hàng loạt file trong cùng thư mục mà không cần mở từng file thủ công.
1. Chuẩn bị thư mục chứa các file cần gộp
- Lập thư mục mới.
- Đưa tất cả các file Excel (.xlsx hoặc .xls) cần gộp vào thư mục đó.
- Đảm bảo các file có cấu trúc cột giống nhau (cùng tiêu đề cột) để dữ liệu khớp khi gộp.
- Mở một workbook Excel mới.
- Chọn File (Tệp) → Save As (Lưu thành).
- Tại Save as type (Loại tệp), chọn Excel Macro-Enabled Workbook (*.xlsm).

2. Mở Excel và bật thẻ Developer (thẻ Nhà phát triển)
- Mở file tổng vừa tạo.
- Vào File → Options (Tùy chọn).
- Chọn Customize Ribbon (Tùy chỉnh Ruy-băng).
- Ở cột bên phải, tích vào ô Developer (Nhà phát triển) rồi nhấn OK.

3. Mở cửa sổ VBA và tạo Macro
- Trên thanh ruy-băng, nhấn thẻ Developer (Nhà phát triển).
- Nhấn nút Visual Basic.
- Trong cửa sổ Visual Basic, chọn menu Insert → Module.
- Cửa sổ Module trống hiện ra, dán đoạn mã sau vào:
Sub GopFileExcel()
Dim FSO As Object
Dim Folder As Object
Dim File As Object
Dim wbNguon As Workbook
Dim wsNguon As Worksheet
Dim wsDich As Worksheet
Dim FolderPath As String
Dim DongCuoi As Long
Dim CotCuoi As Long
Dim DongDich As Long
Dim FileExt As String
'Chọn thư mục chứa các file Excel
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Chon thu muc chua cac file Excel can gop"
If .Show <> -1 Then Exit Sub
FolderPath = .SelectedItems(1)
End With
'Tạo FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(FolderPath)
'Tìm sheet DuLieuGop
On Error Resume Next
Set wsDich = ThisWorkbook.Worksheets("DuLieuGop")
On Error GoTo 0
'Nếu chưa có sheet thì tạo mới
If wsDich Is Nothing Then
Set wsDich = ThisWorkbook.Worksheets.Add
wsDich.Name = "DuLieuGop"
Else
'Xóa dữ liệu cũ
wsDich.Cells.Clear
End If
DongDich = 0
'Duyệt từng file trong thư mục
For Each File In Folder.Files
FileExt = LCase(FSO.GetExtensionName(File.Name))
'Chỉ xử lý file Excel
If FileExt = "xlsx" _
Or FileExt = "xls" _
Or FileExt = "xlsm" _
Or FileExt = "xlsb" Then
'Bỏ qua file tạm của Excel
If Left(File.Name, 2) <> "~$" Then
'Bỏ qua chính file Macro đang chạy
If File.Path <> ThisWorkbook.FullName Then
Set wbNguon = Workbooks.Open(File.Path, ReadOnly:=True)
Set wsNguon = wbNguon.Worksheets(1)
'Tìm dòng cuối và cột cuối
DongCuoi = wsNguon.Cells( _
wsNguon.Rows.Count, 1 _
).End(xlUp).Row
CotCuoi = wsNguon.Cells( _
1, wsNguon.Columns.Count _
).End(xlToLeft).Column
'File đầu tiên: lấy cả tiêu đề
If DongDich = 0 Then
wsNguon.Range( _
wsNguon.Cells(1, 1), _
wsNguon.Cells(DongCuoi, CotCuoi) _
).Copy Destination:=wsDich.Cells(1, 1)
DongDich = DongCuoi
Else
'Các file sau: bỏ dòng tiêu đề
If DongCuoi >= 2 Then
wsNguon.Range( _
wsNguon.Cells(2, 1), _
wsNguon.Cells(DongCuoi, CotCuoi) _
).Copy Destination:= _
wsDich.Cells(DongDich + 1, 1)
DongDich = wsDich.Cells( _
wsDich.Rows.Count, 1 _
).End(xlUp).Row
End If
End If
'Đóng file nguồn
wbNguon.Close SaveChanges:=False
Set wbNguon = Nothing
End If
End If
End If
Next File
MsgBox "Da gop xong cac file Excel.", vbInformation
End Sub
4. Chạy Macro để gộp file
- Quay lại Excel bằng Alt + F11.
- Trên thẻ Developer (Nhà phát triển), nhấn Macros (Macro).
- Chọn macro tên GopFileExcel rồi nhấn Run (Chạy).
- Cửa sổ chọn thư mục hiện ra → chọn đúng thư mục chứa các file cần gộp → nhấn OK.
5. Kiểm tra và lưu kết quả
- Khi hoàn tất, hộp thoại “Đa gop xong cac file Excel.” sẽ xuất hiện.
- Kiểm tra số dòng, cột xem đã đủ chưa.
- Bấm Ctrl + S để lưu lại.

Gộp file bằng Combine Workbooks trong Microsoft 365
Trong Microsoft 365, bạn có thể tận dụng tính năng tích hợp sẵn kết hợp với Power Query hoặc các công cụ bổ trợ. Một số phiên bản hỗ trợ Combine Files trực tiếp qua Data tab tương tự Power Query. Ngoài ra, bạn có thể sử dụng Office Scripts nếu làm việc trên Excel for the web. Đặt file trên OneDrive, mở workbook mới và dùng Get Data từ folder như trên. Phương pháp này tiện lợi khi làm việc nhóm và dữ liệu lưu trên cloud, giúp đồng bộ dễ dàng hơn so với file cục bộ.
Gộp dữ liệu bằng Python Pandas cho file số lượng lớn
Cách gộp nhiều file excel thành 1 file excel bằng Python Pandas giúp bạn xử lý nhanh các file lớn mà không cần mở từng cái thủ công.
- Bước 1: Mở phần mềm viết code (ví dụ Jupyter Notebook). Bấm File, sau đó chọn New và chọn Notebook.

- Bước 2: Viết đoạn code sau vào file:
Tại ô đầu tiên nhập:
import pandas as pd
from pathlib import Path
Ô thứ 2 nhập (thay đường dẫn thành đường dẫn của bạn): folder = Path(r"C:\Users\Admin\Downloads\file cần gộp")
Ô thứ 3 nhập:
files = sorted(folder.glob("*.xlsx"))
print(f"Tìm thấy {len(files)} file Excel:")
for file in files:
print(file.name)
Ô thứ 4 nhập:
dataframes = []
for file in files:
df = pd.read_excel(file)
dataframes.append(df)
data_gop = pd.concat(dataframes, ignore_index=True)
Ô thứ 5 nhập:
output_file = folder / "Excel_da_gop.xlsx"
data_gop.to_excel(output_file, index=False)
print(f"Đã gộp xong: {output_file}")

- Bước 5: Nhấn tổ hợp phím Ctrl + S (Lưu) để lưu file code. Chạy code bằng cách nhấn nút Run (Chạy) liên tục 5 lần đến khi thấy dòng “Đã gộp xong: C:\Users\Admin\Downloads\file cần gộp\Excel_da_gop.xlsx”

Giới hạn của Excel: Một worksheet Excel (.xlsx) chỉ chứa tối đa 1.048.576 hàng (và 16.384 cột). Nếu dữ liệu sau khi gộp vượt quá con số này, lệnh to_excel() sẽ báo lỗi hoặc ghi không đầy đủ. Khi đó, bạn có thể giữ nguyên tất cả các ô còn lại, ô thứ 5 thay thế bằng code bên dưới và bấm Run 5 lần để chạy lại:
print(f"Tổng số dòng sau khi gộp: {len(data_gop):,}")
# Kiểm tra giới hạn Excel
if len(data_gop) > 1_048_576:
print("⚠️ Dữ liệu vượt giới hạn 1 worksheet Excel → xuất ra CSV")
output_file = folder / "Excel_da_gop.csv"
data_gop.to_csv(output_file, index=False, encoding="utf-8-sig")
else:
output_file = folder / "Excel_da_gop.xlsx"
data_gop.to_excel(output_file, index=False)
print(f"Đã gộp xong: {output_file}")
Cách gộp nhiều file Excel online thành 1 file
Trình duyệt web hiện nay cung cấp nhiều công cụ trực tuyến cho phép bạn cách gộp nhiều file excel lại thành 1 file mà không cần cài đặt bất kỳ phần mềm nào vào máy. Nổi bật là sử dụng dịch vụ Google Sheets.
- Bước 1: Tải các file cần gộp lên Drive.

- Bước 2: Tạo một bảng tính Google Sheets mới, đây sẽ là nơi đóng vai trò làm tệp tổng.
- Bước 3: Bấm vào trình đơn Tệp (File), chọn Nhập (Import).

- Bước 4: Hộp thoại mới hiện ra, bạn chọn tab Drive của tôi sau đó chọn các file cần gộp. Sau đó bấm Chèn.

- Bước 5: Bấm Nhập dữ liệu. Sau khi dữ liệu đã được nhập đầy đủ, bấm vào trình đơn Tệp (File) → chọn Tải xuống (Download) → chọn Microsoft Excel (.xlsx) để xuất kết quả thành file Excel.

Giới hạn của phương pháp:
- Phù hợp với số lượng file và dung lượng dữ liệu vừa phải. Nếu gộp quá nhiều file hoặc dữ liệu quá lớn có thể bị chậm hoặc gặp lỗi.
- Định dạng phức tạp (công thức nâng cao, macro, định dạng đặc biệt…) có thể không được giữ nguyên hoàn toàn khi chuyển đổi.
Ngoài ra bạn có thể tận dụng các website cung cấp tool online đáng tin cậy để gộp các file.
Cách gộp nhiều sheet thành 1 sheet trong Excel
Khi bạn đã gom thành công nhiều tệp thành nhiều trang tính (sheet) nhỏ trong cùng một tệp tính tổng, bước tiếp theo thường là nối dữ liệu của chúng lại thành một bảng dài. Ứng dụng cung cấp hàm VSTACK hiện đại để xử lý yêu cầu này trong tích tắc.
- Bước 1: Trên file excel cần gộp, tạo 1 sheet trống.
- Bước 2: Chọn ô A1 của trang tính mới và nhập công thức hàm =VSTACK(.
- Bước 3: Chuyển sang trang tính thứ nhất, quét chọn toàn bộ vùng dữ liệu cần lấy. Nhập dấu phẩy (,) để chuyển sang đối số thứ hai của hàm. Tiếp tục chuyển sang các trang tính khác và quét vùng dữ liệu tương ứng. Khi đã quét đủ, bạn đóng ngoặc ) và nhấn phím Enter.
Lưu ý: Hàm VSTACK thuộc nhóm Dynamic Array (mảng động), nên chỉ hoạt động tốt trên các phiên bản có hỗ trợ tính năng này (ví dụ Excel for Microsoft 365, Excel 2024,...).
Cách chọn phương pháp gộp file Excel phù hợp
Để đạt được hiệu suất cao khi tìm cách gộp nhiều file Excel thành 1 file Excel, bạn cần phải đánh giá tình hình thực tế của dữ liệu. Bảng phân tích dưới đây sẽ giúp bạn đưa ra quyết định tối ưu.
|
Phương pháp gộp |
Độ khó thao tác |
Tình huống khuyên dùng thực tế |
|---|---|---|
|
Lệnh Move or Copy |
Rất dễ |
Dùng khi chỉ có dưới 5 tệp tính nhỏ và không cần tự động hóa. |
|
Công cụ Power Query |
Trung bình |
Dùng khi có nhiều tệp cấu trúc giống nhau, số liệu cần cập nhật định kỳ hàng tháng. |
|
Hàm / Tính năng Consolidate |
Trung bình |
Dùng khi cần cộng gộp các con số tài chính từ nhiều tệp báo cáo chi nhánh. |
|
Lập trình mã VBA |
Khó |
Dùng khi tệp có cấu trúc lộn xộn, cần làm sạch tiêu đề và định dạng tự động. |
|
Ngôn ngữ Python (Pandas) |
Rất khó |
Dùng cho dữ liệu lơn (Big Data), số lượng file nhiều. |
Cách chuẩn hóa dữ liệu trước khi gộp file Excel
Trước khi thực hiện cách gộp nhiều file excel thành 1 file excel, bạn nên chuẩn hóa dữ liệu trong các file nguồn để hạn chế lỗi khi tổng hợp. Việc thống nhất tên cột, định dạng ô, cách ghi dữ liệu và vị trí tiêu đề giúp quá trình gộp diễn ra thuận lợi, đồng thời dễ kiểm tra và xử lý file sau đó.
Kiểm tra tên và thứ tự cột giữa các file
Hệ thống Power Query và các đoạn mã lập trình thường dựa vào tên của phần tiêu đề (Header) để ghép nối dữ liệu theo chiều dọc. Nếu tệp thứ nhất ghi là "Họ và Tên", nhưng tệp thứ hai lại ghi "Họ Tên Khách Hàng", dữ liệu sẽ bị tách ra thành hai cột riêng biệt rất mất thẩm mỹ. Bạn bắt buộc phải mở các tệp gốc lên, rà soát và chỉnh sửa lại tên tiêu đề sao cho trùng khớp từng ký tự, kể cả dấu cách dư thừa.

Đồng nhất định dạng dữ liệu và kiểu ô
Tình trạng lệch định dạng là rủi ro cực kỳ phổ biến đối với cột ngày tháng và cột số tiền. Một tệp lưu định dạng ngày dưới dạng văn bản (Text), tệp khác lại lưu dạng chuẩn (Date). Khi gộp lại, bạn sẽ không thể sử dụng bảng Pivot Table để nhóm dữ liệu theo tháng được nữa. Bạn hãy bôi đen các cột quan trọng ở mọi tệp gốc, nhấp chuột phải chọn Format Cells và đưa chúng về cùng một quy chuẩn trước khi thao tác gộp.

Xử lý dòng tiêu đề, ô trống và dữ liệu trùng
Những hàng trống bất thường xen kẽ giữa bảng dữ liệu sẽ khiến các hàm công thức ngừng hoạt động hoặc làm đứt gãy tính liên tục của báo cáo. Tương tự, nếu bạn ghép nối mã khách hàng mà không lọc trùng (Remove Duplicates), kết quả kinh doanh cuối cùng có thể bị phóng đại lên nhiều lần.

Sao lưu dữ liệu trước khi thực hiện
Các thao tác ghép nối khi sử dụng mã lệnh VBA hoặc Python có thể tiềm ẩn rủi ro làm thay đổi bố cục hoặc nội dung của các tệp nguồn nếu xảy ra cấu hình sai đường dẫn xuất tệp, thao tác nhầm hoặc chỉnh sửa code không đúng. Do đó, nguyên tắc tối thượng là luôn tạo ra một thư mục “Backup” chứa bản sao nguyên vẹn của toàn bộ dữ liệu gốc. Nếu xảy ra lỗi ngoài ý muốn, bạn có thể dễ dàng xóa bản hỏng và bắt đầu lại từ đầu mà không lo mất dữ liệu quan trọng.

Cách xử lý lỗi khi gộp nhiều file Excel
Trong quá trình gộp, một số lỗi phổ biến có thể xuất hiện. Bảng dưới đây tóm tắt lỗi thường gặp và cách xử lý cơ bản.
|
Lỗi |
Nguyên nhân |
Cách khắc phục |
|---|---|---|
|
Cột không khớp |
Tên hoặc số lượng cột khác nhau giữa các file |
Chuẩn hóa tên cột trước; dùng Power Query để chọn cột chung |
|
Dữ liệu bị lệch hàng |
Có dòng tiêu đề phụ hoặc dòng trống xen kẽ |
Xóa dòng thừa trong từng file hoặc lọc trong Power Query |
|
File không mở được trong VBA |
Đường dẫn sai hoặc file đang mở |
Kiểm tra đường dẫn thư mục, đóng tất cả file nguồn trước khi chạy macro |
|
Kiểu dữ liệu sai |
Cột số bị nhận dạng văn bản |
Đổi kiểu dữ liệu trong Power Query hoặc Format Cells |
|
Lỗi khi load Power Query |
File trong thư mục có cấu trúc khác hoặc file ẩn |
Lọc chỉ lấy file .xlsx đúng, bỏ file tạm (~$) |
Sau khi xử lý lỗi, làm mới dữ liệu và kiểm tra lại tổng số dòng. Nếu vẫn gặp vấn đề, thử gộp từng nhóm file nhỏ trước.
Với cách gộp nhiều file excel thành 1 file excel, bạn có thể nhanh chóng tập hợp dữ liệu từ nhiều bảng tính vào một file chung mà không mất nhiều thời gian xử lý thủ công. Tùy số lượng file và công cụ đang sử dụng, hãy lựa chọn phương pháp phù hợp để quá trình gộp dữ liệu diễn ra thuận tiện, hạn chế sai sót. Đừng quên xem thêm các bài viết và nội dung hữu ích khác tại Sforum để cập nhật thêm nhiều mẹo sử dụng Excel hiệu quả.
- Xem thêm: Tin học văn phòng, Thủ thuật Excel




Bình luận (0)