excel
Cách gộp dữ liệu từ nhiều sheet bằng công thức trong Excel (kèm ví dụ)

Khi nào cần gộp dữ liệu từ nhiều sheet?
Tình huống rất phổ biến: mỗi tháng bạn có một sheet riêng ("Tháng 1", "Tháng 2", "Tháng 3"...), hoặc mỗi chi nhánh/nhân viên nhập dữ liệu vào một sheet riêng, và cuối kỳ bạn cần tổng hợp tất cả về một bảng duy nhất để tính tổng, đối chiếu hoặc làm báo cáo.
Có nhiều cách gộp tùy vào cấu trúc dữ liệu và số lượng sheet:
- Các sheet có cùng cấu trúc, cùng vị trí ô (ví dụ sheet nào cũng có doanh số ở ô B2) → dùng tham chiếu 3-D (3-D reference).
- Các sheet có danh sách khác nhau nhưng cùng cột tra cứu (ví dụ mỗi sheet là một danh sách nhân viên khác nhau, cần tìm theo Mã NV) → dùng VLOOKUP/XLOOKUP dò qua nhiều sheet.
- Số lượng sheet nhiều (hơn 5-6 sheet) hoặc hay thay đổi → nên chuyển sang Power Query thay vì công thức.
Ví dụ dùng xuyên suốt bài: 3 sheet "Tháng 1", "Tháng 2", "Tháng 3", mỗi sheet có cùng cấu trúc:
| A | B | |
|---|---|---|
| 1 | Mã NV | Doanh số |
| 2 | NV001 | 12,000,000 |
| 3 | NV002 | 8,500,000 |
Cách 1: Tham chiếu trực tiếp sang sheet khác
Cách đơn giản nhất khi chỉ cần lấy giá trị từ 1-2 ô ở sheet khác về sheet tổng hợp:
='Tháng 1'!B2
Cú pháp chung: 'Tên sheet'!Địa chỉ ô. Nếu tên sheet có khoảng trắng hoặc bắt đầu bằng số, bắt buộc phải để tên sheet trong dấu nháy đơn ' '; nếu tên sheet chỉ là chữ liền không dấu cách thì có thể bỏ dấu nháy.
Muốn cộng dồn một ô cụ thể từ nhiều sheet, chỉ cần nối các tham chiếu bằng dấu +:
='Tháng 1'!B2+'Tháng 2'!B2+'Tháng 3'!B2
Cách này dễ hiểu nhưng chỉ hợp lý khi số sheet ít (2-3 sheet), vì mỗi lần thêm sheet mới phải sửa lại công thức thủ công.
Cách 2: Tham chiếu 3-D — tổng hợp nhanh nhiều sheet cùng cấu trúc
Khi các sheet nằm liền kề nhau theo thứ tự tab và có cùng cấu trúc (cùng địa chỉ ô chứa dữ liệu cần cộng), Excel cho dùng tham chiếu 3-D — gọn hơn nhiều so với cộng từng sheet:
=SUM('Tháng 1:Tháng 3'!B2)
Công thức này cộng ô B2 của tất cả các sheet nằm giữa "Tháng 1" và "Tháng 3" theo thứ tự tab (kể cả sheet nào đó bạn thêm vào sau này ở giữa hai sheet này). Đây là điểm mạnh nhất của 3-D reference: chèn thêm sheet mới ở giữa phạm vi, công thức tự động tính luôn sheet đó mà không cần sửa công thức.
Các hàm hỗ trợ tham chiếu 3-D: SUM, AVERAGE, MAX, MIN, COUNT, COUNTA. Ví dụ tính trung bình doanh số ô B2 qua 3 tháng:
=AVERAGE('Tháng 1:Tháng 3'!B2)
Lưu ý quan trọng: SUMIF, SUMIFS, COUNTIF, COUNTIFS, VLOOKUP không hỗ trợ tham chiếu 3-D. Không thể viết =SUMIF('Tháng 1:Tháng 3'!A:A, "NV001", 'Tháng 1:Tháng 3'!B:B) — Excel sẽ báo lỗi. Nếu cần tính tổng có điều kiện qua nhiều sheet, phải dùng cách cộng dồn từng SUMIF (xem phần Lỗi thường gặp) hoặc chuyển sang Power Query.
Cách 3: Dùng VLOOKUP/XLOOKUP dò qua nhiều sheet
Tình huống khác: mỗi sheet là một danh sách nhân viên/khách hàng khác nhau (không cùng danh sách, không thể cộng theo cùng địa chỉ ô), và bạn cần tìm một mã cụ thể xem nó nằm ở sheet nào, giá trị bao nhiêu.
Cách làm là lồng nhiều VLOOKUP trong IFERROR, sheet nào tìm không thấy thì tự động chuyển sang dò sheet tiếp theo:
=IFERROR(VLOOKUP(A2,'Tháng 1'!A:B,2,0),
IFERROR(VLOOKUP(A2,'Tháng 2'!A:B,2,0),
VLOOKUP(A2,'Tháng 3'!A:B,2,0)))
Cách đọc: Excel thử tìm A2 trong sheet "Tháng 1" trước; nếu không thấy (báo lỗi #N/A) thì IFERROR chuyển sang thử sheet "Tháng 2"; vẫn không thấy thì thử tiếp sheet "Tháng 3".
Nếu dùng Excel bản mới (Microsoft 365 hoặc Excel 2021 trở lên), thay VLOOKUP bằng XLOOKUP để công thức gọn và an toàn hơn (không phải đếm số cột như VLOOKUP):
=XLOOKUP(A2,'Tháng 1'!A:A,'Tháng 1'!B:B,
XLOOKUP(A2,'Tháng 2'!A:A,'Tháng 2'!B:B,
XLOOKUP(A2,'Tháng 3'!A:A,'Tháng 3'!B:B,"Không tìm thấy")))
XLOOKUP có tham số cuối để trả về giá trị mặc định (ví dụ "Không tìm thấy") thay vì phải bọc thêm IFERROR.
Cách 4: Khi nào nên chuyển sang Power Query thay vì công thức?
Công thức (3-D reference, VLOOKUP lồng nhau) phù hợp khi số sheet ít và cấu trúc ổn định. Khi gặp một trong các tình huống sau, nên chuyển sang Power Query (tab Data → Get Data) thay vì cố gắng viết công thức phức tạp:
- Số lượng sheet nhiều (hơn 5-6 sheet) và tăng dần theo thời gian (mỗi tháng thêm 1 sheet mới) — Power Query có thể tự động gộp cả sheet mới thêm vào mà không cần sửa lại quy trình.
- Cần gộp thành danh sách dài (mỗi sheet là các dòng dữ liệu khác nhau, không phải cùng địa chỉ ô) thay vì chỉ cộng tổng.
- Dữ liệu cần làm sạch trước khi gộp (xóa dòng trống, đổi kiểu dữ liệu, tách/gộp cột).
Các bước cơ bản:
- Vào tab Data → Get Data → From File → From Workbook, chọn chính file Excel đang mở (hoặc dùng From Table/Range nếu dữ liệu đã ở dạng Table trong cùng file).
- Trong Navigator, chọn nhiều sheet cần gộp, hoặc chọn cả workbook rồi lọc trong Power Query Editor.
- Dùng Append Queries để nối các sheet đã chọn thành một bảng dài duy nhất.
- Bấm Close & Load để đưa kết quả về một sheet mới trong Excel — mỗi lần dữ liệu gốc thay đổi, chỉ cần bấm Refresh để cập nhật lại, không phải làm lại từ đầu.
Power Query nằm ngoài phạm vi công thức nên bài này chỉ giới thiệu hướng đi — nếu bạn xử lý báo cáo tổng hợp nhiều sheet thường xuyên, đây là công cụ đáng đầu tư thời gian học thêm.
Bảng so sánh nhanh 3 cách dùng công thức
| Cách | Phù hợp khi | Hạn chế |
|---|---|---|
| Tham chiếu trực tiếp (+) | 2-3 sheet, chỉ lấy vài ô | Thêm sheet mới phải sửa công thức tay |
| Tham chiếu 3-D (SUM, AVERAGE...) | Nhiều sheet cùng cấu trúc, liền kề tab | Không dùng được với SUMIF/COUNTIF/VLOOKUP |
| VLOOKUP/XLOOKUP lồng nhau | Mỗi sheet là danh sách khác nhau, cần dò tìm | Công thức dài, rối khi có nhiều hơn 4-5 sheet |
Lỗi thường gặp
Công thức 3-D báo lỗi #REF! sau khi xóa hoặc di chuyển sheet Tham chiếu 3-D dựa vào vị trí sheet trên thanh tab, không phải tên sheet. Nếu bạn kéo sheet "Tháng 2" ra khỏi khoảng giữa "Tháng 1" và "Tháng 3", hoặc xóa hẳn sheet đầu/cuối trong phạm vi, công thức sẽ tính sai hoặc báo lỗi. Luôn kiểm tra lại thứ tự tab sau khi thêm/xóa/di chuyển sheet.
Muốn dùng SUMIF/COUNTIF qua nhiều sheet nhưng báo lỗi công thức Như đã nói ở Cách 2, các hàm này không hỗ trợ 3-D reference. Giải pháp tạm: cộng dồn từng SUMIF của từng sheet:
=SUMIF('Tháng 1'!A:A,"NV001",'Tháng 1'!B:B)
+SUMIF('Tháng 2'!A:A,"NV001",'Tháng 2'!B:B)
+SUMIF('Tháng 3'!A:A,"NV001",'Tháng 3'!B:B)
Nếu số sheet nhiều, cách này trở nên cồng kềnh — nên chuyển qua Power Query (Cách 4).
VLOOKUP không tìm thấy dữ liệu dù chắc chắn có trong sheet
Thường do mã tra cứu ở cột A một sheet được lưu dưới dạng số, còn sheet khác lưu dưới dạng văn bản (ví dụ "001" so với 1), hoặc dữ liệu có khoảng trắng thừa. Kiểm tra định dạng ô hoặc dùng TRIM() để loại khoảng trắng thừa trước khi so khớp.
Quên đặt tên sheet trong dấu nháy đơn khi tên có khoảng trắng
=Tháng 1!B2 (không có dấu nháy) sẽ báo lỗi vì Excel hiểu nhầm cú pháp. Phải viết đúng ='Tháng 1'!B2. Excel thường tự thêm dấu nháy khi bạn bấm chuột chọn sheet thay vì gõ tay — nên ưu tiên bấm chọn để tránh gõ sai.
Học Excel thực chiến tại TP Vinh
Gộp dữ liệu từ nhiều sheet là kỹ năng dùng rất nhiều khi làm báo cáo tổng hợp cuối tháng, đối chiếu số liệu giữa các bộ phận. Nếu bạn muốn học Excel bài bản, từ công thức cơ bản đến các kỹ thuật xử lý dữ liệu như Power Query, tham khảo khóa học Excel tại Điền Nguyễn AZ.
📞 Hotline / Zalo: 0362 465 361
👉 Xem chi tiết: Khóa học Excel thực tế tại TP Vinh
Tài liệu miễn phí
30 phím tắt Excel hay dùng nhất
Tổng hợp phím tắt giúp thao tác Excel nhanh hơn — điền thông tin để tải file PDF miễn phí về dùng ngay.
Bài viết liên quan

17/09/2026
Hàm OFFSET và INDIRECT trong Excel: tham chiếu động nâng cao
Hướng dẫn dùng hàm OFFSET và INDIRECT trong Excel để tạo vùng tham chiếu tự thay đổi theo dữ liệu, dựng công thức linh hoạt hơn tham chiếu cố định. Có ví dụ cụ thể và lỗi thường gặp.

13/09/2026
Cách tạo bảng chấm công tự động bằng Excel (kèm công thức tính công)
Hướng dẫn dựng bảng chấm công theo tháng trong Excel: tự động hiện ngày/thứ, nhập ký hiệu chấm công và dùng COUNTIF tính tổng ngày công, nghỉ phép, nghỉ không phép.

12/09/2026
Cách tạo bảng lương cơ bản bằng Excel (kèm công thức tính BHXH, thực lĩnh)
Hướng dẫn tạo bảng lương cơ bản trong Excel từ đầu: cấu trúc cột, công thức tính phụ cấp, khấu trừ BHXH và lương thực lĩnh, kèm ví dụ số liệu cụ thể.