Cách Gộp Các Sheet Trong Excel Thành 1 Sheet

Giới thiệu

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 các bảng tính Excel. Đôi khi, một dự án lớn sẽ bao gồm nhiều sheet riêng biệt, mỗi sheet chứa dữ liệu liên quan nhưng lại cần được tổng hợp lại để phân tích, báo cáo hoặc trích xuất một cách nhanh chóng. Việc “gộp các sheet thành 1 sheet” (còn gọi là merge hoặc consolidate) không những giúp tiết kiệm thời gian mà còn giảm thiểu rủi ro khi thao tác thủ công.

Bài viết này sẽ cung cấp cho bạn một loạt các phương pháp, từ công cụ có sẵn trong Excel, đến cách viết macro, sử dụng Power Query, cho tới các giải pháp tự động hóa với Microsoft Power Automate. Bạn có thể chọn phương pháp phù hợp nhất với nhu cầu và trình độ kỹ thuật của mình.

1. Tại sao cần gộp sheet trong Excel

  1. Tổng hợp dữ liệu: Để tạo báo cáo tổng quan, bạn cần tổng hợp dữ liệu từ nhiều nguồn (các tháng, các phòng ban, hoặc các dự án) vào một bảng duy nhất.
  2. Phân tích dữ liệu: Các công cụ thống kê, pivot table và báo cáo thường hoạt động tốt hơn khi dữ liệu được lưu trữ trong một sheet duy nhất.
  3. Quản lý dữ liệu hiệu quả: Giảm số lượng sheet giúp dễ dàng điều hướng, bảo trì và plagiarizing dữ liệu.
  4. Tiết kiệm thời gian: Tránh thao tác copy‑paste thủ công, tránh sai sót khi di chuyển dữ liệu.

2. Các phương pháp gộp sheet trong Excel

2.1. Sử dụng công thức (Formula)

2.1.1. Sử dụng hàm INDIRECT

  • Công dụng: Truy cập dữ liệu từ sheet khác một cách linh hoạt.
  • Ví dụ:
    Giả sử bạn có 3 sheet: Tháng1, Tháng2, Tháng3. Bạn muốn lấy cột A của từng sheet vào sheet Tổng:

excel =INDIRECT("Tháng1!A" & ROW())

Kéo công thức xuống để lấy toàn bộ cột. Sau đó sao chép kết quả và dán làm giá trị để loại bỏ công thức.

2.1.2. Sử dụng hàm INDEX + INDIRECT

  • Công dụng: Truy cập một ô cụ thể trong một danh sách sheet.
  • Ví dụ:

excel =INDEX(INDIRECT("'" & INDEX({"Tháng1","Tháng2","Tháng3"}, ROW()) & "'!A1"), 1, 1)

Đây là một cách tổng hợp dữ liệu động, nhưng hơi phức tạp.

2.1.3. Lưu ý khi dùng công thức

  • Hiệu suất: Nếu dữ liệu lớn, công thức INDIRECT có thể làm chậm Excel vì tính động.
  • Bảo trì: Khi thêm/ xóa sheet, bạn cần cập nhật công thức.

2.2. Sử dụng tính năng “Consolidate”

Excel có tính năng tích hợp giúp cộng dồn dữ liệu từ nhiều sheet:

  1. Chọn một ô trong sheet đích (ví dụ Tổng).
  2. Vào Data → Consolidate.
  3. Chọn hàm Sum (hoặc hàm khác: Average, Count, etc.).
  4. Nhấn Add và chọn phạm vi dữ liệu trong sheet đầu tiên.
  5. Lặp lại cho các sheet còn lại.
  6. Bật tùy chọn Top row và Left column nếu dữ liệu có tiêu đề.

Ưu điểm: Không cần viết công thức, dễ sử dụng.
Nhược điểm: Không linh hoạt khi dữ liệu có cấu trúc khác nhau.

2.3. Sử dụng Power Query (Get & Transform)

Power Query cung cấp một cách tiếp cận mạnh mẽ và linh hoạt nhất để gộp dữ liệu.

2.3.1. Bước 1: Tạo truy vấn từ mỗi sheet

  1. Chọn Data → Get Data → From Other Sources → Blank Query.
  2. Mở Advanced Editor và nhập:

m let Source = Excel.CurrentWorkbook(){Name="Tháng1"}Content in Source

  1. Lưu truy vấn với tên Tháng1.

2.3.2. Bước 2: Gộp các truy vấn

  1. Vào tab Home trong Power Query, chọn Append Queries → Append Queries as New.
  2. Chọn Three or more tables.
  3. Thêm các truy vấn Tháng1, Tháng2, Tháng3 vào danh sách.
  4. Nhấn OK.

2.3.3. Bước 3: Kiểm tra và tải dữ liệu

  1. Kiểm tra dữ liệu trong bảng Power Query.
  2. Nếu cần, thực hiện các bước làm sạch (loại bỏ trùng, chuyển đổi kiểu dữ liệu, rename column).
  3. Nhấn Close & Load → Tạo sheet Gộp.

Ưu điểm: Tự động cập nhật khi dữ liệu trong sheet nguồn thay đổi; hỗ trợ xử lý dữ liệu phức tạp.
Nhược điểm: Cần quen thuộc với M language và giao diện Power Query.

鈥 Tips: Nếu sheet có cấu trúc khác nhau, trước khi append, hãy dùng Transform để chuẩn hóa tên cột.

2.4. Sử dụng Macro VBA

Macro VBA là công cụ mạnh mẽ cho phép tự động hoá toàn bộ quy trình gộp sheet, đặc biệt khi bạn phải thực hiện quá trình này thường xuyên.

Cách Gộp Các Sheet Trong Excel Thành 1 Sheet
Cách Gộp Các Sheet Trong Excel Thành 1 Sheet

2.4.1. Macro mẫu: Gộp toàn bộ sheet

Sub GopTatCaSheet() Dim ws As Worksheet, destWs As Worksheet Dim lastRow As Long, destLastRow As Long Application.ScreenUpdating = False ' Tạo sheet đích mới On Error Resume Next Set destWs = ThisWorkbook.Worksheets("Gop") If destWs Is Nothing Then Set destWs = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)) destWs.Name = "Gop" Else destWs.Cells.Clear End If On Error GoTo 0 ' Duyệt qua từng sheet For Each ws In ThisWorkbook.Worksheets If ws.Name <> "Gop" Then lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row destLastRow = destWs.Cells(destWs.Rows.Count, 1).End(xlUp).Row + 1 ws.Range("A1:A" & lastRow).Copy Destination:=destWs.Range("A" & destLastRow) ' Nếu có nhiều cột, thay đổi phạm vi copy End If Next ws Application.ScreenUpdating = True MsgBox "Gộp hoàn tất!"
End Sub
  • Giải thích:
  • Lưu trữ dữ liệu từ sheet nguồn vào sheet Gop (đặt tên tùy ý).
  • Sử dụng hàm Copy để lấy dữ liệu.
  • Tự động tính toán hàng cuối cùng để tránh ghi đè.

2.4.2. Macro nâng cao: Gộp theo điều kiện

Nếu bạn chỉ muốn gộp những sheet có tên bắt đầu bằng “Tháng”, thay vì gộp tất cả:

If Left(ws.Name, 5) = "Tháng" Then ' copy logic
End If

2.4.3. Lưu ý khi dùng VBA

  • Bảo mật: Macro có thể bị chặn nếu máy tính có cài đặt bảo mật cao. Hãy bật macro khi cần.
  • Hiệu suất: Đối với dữ liệu lớn, macro có thể ಇನ್ನ್. Cân bằng giữa tốc độ và độ tin cậy.
  • Định dạng: Macro chỉ sao chép giá trị; nếu cần giữ định dạng, sử dụng PasteSpecial xlPasteValuesAndNumberFormats.

2.5. Sử dụng Add-in “Kutools for Excel”

Kutools là một add-in mạnh mẽ giúp gộp sheet một cách nhanh chóng:

  1. Cài hiểm Kutools.
  2. Chọn Kutools > Sheet > Merge Sheet.
  3. Chọn sheet cần gộp.
  4. Đặt tên sheet đích và chọn tùy chọn “Add sheet name column” nếu cần.
  5. Nhấn OK.

Ưu điểm: Giao diện thân thiện, nhanh chóng.
Nhược điểm: Có phí, phụ thuộc vào phần mềm bên thứ ba.

2.6. Gộp sheet tự động bằng Microsoft Power Automate

Power Automate (trước đây là Microsoft Flow) cho phép bạn tự động hoá quy trình gộp sheet giữa các workbook trong SharePoint, OneDrive, hoặc Excel Online.

2.6.1. Thiết lập flow

  1. Mở Power Automate, chọn Create → Automated cloud flow.
  2. Chọn trigger “When a file is created (properties only)” (SharePoint/OneDrive).
  3. Thêm action List rows present in a table (Excel Online – Business).
  4. Đặt tên workbook và sheet.
  5. Lặp lại bước 3 cho mỗi sheet cần gộp.
  6. Thêm action Append to array variable để lưu dữ liệu vào mảng.
  7. Cuối cùng, dùng action Create new worksheet và Add a row into a table để ghi dữ liệu vào sheet đích.

2.6.2. Lợi ích

  • Tự động: Sẽ chạy mỗi khi tệp được cập nhật.
  • Khả năng mở rộng: Hỗ trợ hàng nghìn sheet, dữ liệu lớn.
  • Tích hợp: Kết nối với Teams, SharePoint, Outlook.

3. So sánh các phương pháp

Phương phápĐộ phức tạpTốc độKhả năng mở rộngĐộ tin cậyPhụ thuộc phần mềm
Công thức (INDIRECT)ThấpTrung bìnhGiới hạnCaoExcel
ConsolidateThấpTốtGiới hạnKháExcel
Power QueryTrung bìnhTốtRất tốtCaoExcel
Macro VBACaoRất tốtRất tốtCaoExcel
KutoolsThấpTốtGiới hạnKháAdd-in
Power AutomateCaoTốtRất tốtCaoMicrosoft 365
  • Nếu bạn không cần lặp lại quá trình: Công thức hoặc Consolidate là đủ.
  • Nếu dữ liệu thay đổi thường xuyên: Power Query hoặc Macro giúp tự động cập nhật.
  • Nếu phải làm việc trong môi trường doanh nghiệp lớn: Power Automate là lựa chọn tối ưu.

4. Mẹo và thủ thuật khi gộp sheet

  1. Đảm bảo cấu trúc cột giống nhau: Trước khi gộp, hãy kiểm tra lại tên cột, kiểu dữ liệu, và thứ tự cột. Nếu không, dữ liệu sẽ bị trộn lẫn.
  2. Sử dụng header row: Khi gộp, đặt tên cột một cách chuẩn để tránh nhầm lẫn.
  3. Loại bỏ dữ liệu trùng lặp: Sử dụng Remove Duplicates trong Excel hoặc Power Query.
  4. Dùng Conditional Formatting: Khi gộp, dùng màu sắc để đánh dấu sheet nguồn.
  5. Kiểm tra dữ liệu: Sau khi gộp, chạy kiểm tra COUNTIF, SUMIF hoặc PivotTable để xác nhận tính toàn vẹn.
  6. Sử dụng macro để آمده: Nếu bạn thường xuyên gộp, viết macro lưu lại quy trình, chạy với một phím tắt.
  7. Tự động lưu: Khi sử dụng Power Query, đặt “Refresh data when opening the file” để dữ liệu luôn mới nhất.
  8. Bảo vệ sheet điana: Đặt bảo vệ sheet để tránh sửa nhầm khi gộp.

5. Thực hành: Ví dụ thực tế

Giả sử bạn có месяч Excel gồm 12 sheet: Jan, Feb, …, Dec, mỗi sheet chứa cột Date, Product, Sales. Bạn muốn tạo một sheet Yearly tổng hợp toàn bộ doanh số.

5.1. Dùng Power Query

  1. Import từng sheet:
  2. Data → Get Data → From Workbook → This Workbook.
  3. Chọn sheet Jan, lặp lại cho các tháng.
  4. Append:
  5. Chọn Append Queries.
  6. Chọn “Three or more tables”.
  7. Kiểm tra:
  8. Kiểm tra kiểu dữ liệu, đổi tên cột nếu cần.
  9. Load:
  10. Close & Load → Tạo sheet Yearly.

5.2. Dùng Macro

Sub GopTongQuan() Dim ws As Worksheet, موت As Worksheet Dim lastRow As Long, destRow As Long Set موت = Worksheets.Add موت.Name = "Yearly" For Each ws In Worksheets If ws.Name <> "Yearly" Then lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row destRow = موت.Cells(mوت.Rows.Count, "A").End(xlUp).Row + 1 ws.Range("A1:C" & lastRow).Copy Destination:=موت.Range("A" & destRow) End If Next ws_NOTE
End Sub
  • Giải thích: Copy cột A–C từ mỗi sheet vào sheet Yearly.

6. Kết luận

Việc gộp các sheet trong Excel thành một sheet là một kỹ năng quan trọng giúp tiết kiệm thời gian và nâng cao hiệu suất công việc. Bạn có thể chọn các phương pháp phụ thuộc vào độ phức tạp của dữ liệu, tần suất cập nhật, và trình độ kỹ thuật. Dưới đây là tóm tắt nhanh:

  • Công thức: Dễ dàng, nhưng không linh hoạt với dữ liệu lớn.
  • Consolidate: Đơn giản, nhưng hạn chế tính linh hoạt.
  • Power Query: Linh hoạt, mạnh mẽ cho dữ liệu lớn và phức tạp.
  • Macro VBA: Tự động hoàn chỉnh, phù hợp cho quy trình lặp đi lặp lại.
  • Kutools: Dễ sử dụng, nhưng phụ thuộc add-in.
  • Power Automate: Tự động hóa doanh nghiệp, tích hợp mạnh mẽ.

Hãy thử nghiệm từng phương pháp và tìm ra cách phù hợp nhất với nhu cầu của bạn. Khi thành thạo, hãy chia sẻ kinh nghiệm của mình với đồng nghiệp để nâng cao năng suất làm việc chung. Happy Excel!

⚠️
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