Có thể bạn quan tâm: Cách Định Dạng Số Trong Công Thức Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở đầu: Tại sao cần ghép 2 bảng trong Excel?
Trong môi trường làm việc hiện đại, dữ liệu là tài sản quan trọng giúp các doanh nghiệp đưa ra quyết định chính xác. Thông thường, dữ liệu không luôn được lưu trữ trong một bảng duy nhất mà thường phân tán trên nhiều sheet, file hoặc thậm chí trên các hệ thống khác nhau. Khi cần phân tích, báo cáo hay tạo dashboard, việc ghép 2 bảng trong Excel trở thành một kỹ năng không thể thiếu.
Lợi ích khi ghép bảng:
- Tiết kiệm thời gian: Thay vì phải sao chép thủ công, công cụ ghép bảng tự động thực hiện nhanh chóng.
- Đảm bảo độ chính xác: Giảm thiểu lỗi nhập liệu hay sai sót khi gộp dữ liệu.
- Tăng tính linh hoạt: Dễ dàng mở rộng, cập nhật dữ liệu mới mà không làm mất cấu trúc.
- Hỗ trợ phân tích sâu: Khi dữ liệu được hợp nhất, bạn có thể áp dụng các công cụ phân tích mạnh mẽ như PivotTable, Power Query, Power Pivot.
Trong bài viết này, chúng ta sẽ đi sâu vào các phương pháp ghép 2 bảng trong Excel: từ các hàm cơ bản như VLOOKUP, INDEX-MATCH, XLOOKUP, tới các công cụ mạnh mẽ hơn như Power Query và Power Pivot. Đồng thời, chúng tôi sẽ cung cấp các ví dụ thực tế, lưu ý quan trọng và một số mẹo tối ưu giúp bạn trở thành “bậc thầy” trong việc ghép bảng.
Có thể bạn quan tâm: Font Qr Code Cho Excel: Giải Pháp Tối Ưu Để Tạo Mã Qr Nhanh Chóng Và Chuyên Nghiệp
1. Kiến thức nền tảng trước khi ghép bảng
1.1. Định dạng dữ liệu chuẩn
- Cột khóa (Key Column): Cột dùng để nối (join) hai bảng phải có giá trị duy nhất hoặc ít nhất là không trùng lặp quá mức. Thông thường là
Mã khách hàng,Mã sản phẩm,ID đơn hàng. - Kiểu dữ liệu thống nhất: Đảm bảo cột khóa ở cả hai bảng có cùng kiểu (text, number, date). Nếu không, hàm tìm kiếm sẽ trả về lỗi
#N/Ahoặc#VALUE!. - Loại bỏ khoảng trắng thừa: Dùng hàm
TRIMđể loại bỏ dấu cách đầu/cuối, tránh lỗi không khớp.
1.2. Kiểm tra dữ liệu trùng lặp
Trước khi ghép, bạn nên:
– Sử dụng Conditional Formatting để tô màu các giá trị trùng lặp.
– Áp dụng Remove Duplicates (Data → Remove Duplicates) nếu muốn giữ một bản sao duy nhất.
1.3. Xác định loại ghép (Join Type)
- Inner Join: Chỉ giữ những bản ghi có khóa xuất hiện ở cả hai bảng.
- Left Outer Join: Giữ tất cả bản ghi từ bảng bên trái, dữ liệu từ bảng bên phải chỉ được thêm nếu có khóa tương ứng.
- Right Outer Join: Ngược lại với Left Join.
- Full Outer Join: Giữ tất cả bản ghi từ cả hai bảng, điền giá trị trống (NULL) nếu không có khớp.
Hiểu rõ loại ghép sẽ giúp bạn chọn công cụ và công thức phù hợp.
Có thể bạn quan tâm: Cách “fix Cells” Trong Công Thức Excel: Hướng Dẫn Chi Tiết Và Thực Hành Từ A Tới Z
2. Ghép bảng bằng các hàm truyền thống
2.1. Sử dụng VLOOKUP (Vertical Lookup)
VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
2.1.1. Cú pháp và lưu ý
lookup_value: Giá trị cần tìm (cột khóa ở bảng trái).table_array: Vùng dữ liệu của bảng phải, bao gồm cả cột khóa và cột cần trả về.col_index_num: Số thứ tự cột trongtable_arraytrả về kết quả (bắt đầu từ 1).range_lookup: FALSE để tìm chính xác; TRUE (hoặc bỏ qua) để tìm gần đúng (không khuyến nghị cho ghép bảng).
2.1.2. Ví dụ thực tế
Giả sử:
– Bảng A (Sheet1) có cột Mã KH (A) và Tên KH (B).
– Bảng B (Sheet2) có Mã KH (A) và Số Điện Thoại (B).
Muốn lấy số điện thoại vào Bảng A:
=VLOOKUP(A2, Sheet2!$A$2:$B$1000, 2, FALSE)
Kéo công thức xuống toàn bộ cột.
2.1.3. Nhược điểm
- Chỉ tìm từ trái sang phải (cột khóa phải ở cột đầu tiên).
- Khi chèn cột trong
table_array, phải cập nhậtcol_index_num. - Không hỗ trợ nhiều cột trả về cùng lúc (phải sao chép công thức).
2.2. Kết hợp INDEX + MATCH
Công thức:
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
MATCHtrả về vị trí (row number) củalookup_value.INDEXdựa vào vị trí đó để trả về giá trị trongreturn_range.
2.2.1. Ví dụ
=INDEX(Sheet2!$B$2:$B$1000, MATCH(A2, Sheet2!$A$2:$A$1000, 0))
Ưu điểm:
– Có thể tìm giá trị ở bất kỳ cột nào (không phụ thuộc vào vị trí cột khóa).
– Dễ bảo trì khi chèn cột.
2.2.2. Khi cần trả về nhiều cột
Bạn có thể lồng INDEX trong một mảng (array) hoặc sao chép công thức cho từng cột.
2.3. XLOOKUP (Excel 365/2026 trở lên)
XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode)
2.3.1. Ưu điểm nổi bật
- Tìm từ phải sang trái hoặc trái sang phải.
- Trả về mảng, cho phép lấy nhiều cột cùng lúc.
- Tham số
if_not_foundgiúp tránh lỗi#N/A.
2.3.2. Ví dụ
=XLOOKUP(A2, Sheet2!$A$2:$A$1000, Sheet2!$B$2:$D$1000, "Không có")
Công thức trên sẽ trả về một mảng gồm 3 cột (B, C, D) từ Sheet2, có thể nhập vào ba cột liên tiếp trong Sheet1.
2.4. Kết hợp hàm IFERROR
Khi dữ liệu không khớp, hàm IFERROR giúp hiển thị thông báo thân thiện:
=IFERROR(VLOOKUP(A2, Sheet2!$A$2:$B$1000, 2, FALSE), "Chưa có")
3. Ghép bảng bằng Power Query (Get & Transform)
Power Query là công cụ mạnh mẽ tích hợp trong Excel 2026 trở lên (và trong Office 365). Nó cho phép xử lý dữ liệu mà không thay đổi dữ liệu nguồn, hỗ trợ các loại join phức tạp, tự động hoá quy trình và cập nhật khi dữ liệu thay đổi.
3.1. Bước chuẩn bị dữ liệu
- Đặt tên cho các bảng: Chọn bảng →
Table Design→Table Name. Ví dụ:tblKhachHang,tblDonHang. - Đảm bảo cột khóa không có giá trị trống.
3.2. Nhập dữ liệu vào Power Query
- Data → Get Data → From Table/Range (hoặc From Worksheet).
- Thực hiện cho cả hai bảng.
3.3. Thực hiện Join (Merge Queries)
- Trong Power Query Editor, chọn Home → Merge Queries →
Merge Queries as New. - Chọn bảng chính (Left) và bảng phụ (Right).
- Chọn cột khóa ở mỗi bảng (có thể chọn nhiều cột để ghép đa khóa).
- Chọn Join Kind:
Left Outer (all from first, matching from second)→ Left Join.Right Outer,Full Outer,Inner,Anti,Semi.- Nhấn OK.
3.4. Tùy chỉnh cột kết quả
- Sau khi merge, một cột mới (Table) xuất hiện. Nhấn vào biểu tượng Expand (hai mũi tên) để chọn các cột muốn đưa vào bảng chính.
- Bỏ tick
Use original column name as prefixnếu không muốn tiền tố.
3.5. Hoàn thiện và tải dữ liệu

Có thể bạn quan tâm: Ghi Dấu Mũ Trong Excel: Hướng Dẫn Chi Tiết Và Các Phương Pháp Thực Hành
- Home → Close & Load để đưa kết quả vào một sheet mới hoặc vào Data Model.
- Khi nguồn dữ liệu thay đổi, chỉ cần Refresh (Data → Refresh All) để cập nhật tự động.
3.6. Ưu điểm của Power Query
| Ưu điểm | Mô tả |
|---|---|
| Ghi nhớ bước | Mỗi thao tác được ghi lại dưới dạng M code, dễ dàng chỉnh sửa và tái sử dụng. |
| Join linh hoạt | Hỗ trợ Full Outer, Anti, Semi… không có trong hàm truyền thống. |
| Xử lý dữ liệu lớn | Có thể làm việc với hàng triệu dòng mà không gây lag. |
| Tự động hoá | Khi nguồn dữ liệu thay đổi, chỉ cần Refresh. |
| Không làm thay đổi dữ liệu gốc | Dữ liệu gốc vẫn nguyên vẹn, mọi thay đổi diễn ra trong môi trường Power Query. |
3.7. Ví dụ thực tế: Ghép bảng Đơn Hàng và Khách Hàng
Giả sử:
– tblKhachHang có các cột: MãKH, TênKH, KhuVực.
– tblDonHang có: MãDH, MãKH, NgàyDH, GiáTrị.
Mục tiêu: Tạo bảng báo cáo gồm MãDH, TênKH, KhuVực, NgàyDH, GiáTrị.
Quy trình:
- Load cả hai bảng vào Power Query.
- Merge
tblDonHang(Left) vớitblKhachHang(Right) bằng cộtMãKH, chọnLeft Outer. - Expand các cột
TênKH,KhuVực. - Đổi tên cột, sắp xếp lại thứ tự.
- Close & Load.
Kết quả: Bảng mới sẽ tự cập nhật khi có đơn hàng mới hoặc khách hàng mới.
4. Ghép bảng bằng Power Pivot và DAX
Power Pivot là công cụ tạo Data Model trong Excel, cho phép xây dựng các mối quan hệ (relationships) giữa các bảng và sử dụng ngôn ngữ DAX (Data Analysis Expressions) để tính toán.
4.1. Khi nào nên dùng Power Pivot?
- Khi cần phân tích đa chiều, tạo PivotTable/Power BI báo cáo từ nhiều bảng.
- Khi dữ liệu quá lớn (hàng trăm nghìn – triệu) và cần tối ưu hiệu năng.
- Khi muốn tạo mối quan hệ 1-nhiều và tính toán tổng hợp phức tạp.
4.2. Tạo Data Model
- Chọn bảng →
Add to Data Model(hoặcPower Pivot → Add to Data Model). - Lặp lại cho tất cả các bảng cần liên kết.
4.3. Định nghĩa mối quan hệ
- Vào
Diagram Viewtrong Power Pivot. - Kéo cột
MãKHcủa bảngKhachHang(đầu) tớiMãKHcủa bảngDonHang(cuối). - Xác định loại quan hệ: One-to-Many (KhachHang là “one”, DonHang là “many”).
4.4. Sử dụng DAX để “ghép” dữ liệu
Mặc dù Power Pivot không “ghép” dữ liệu theo nghĩa truyền thống, nhưng bạn có thể tạo các calculated columns hoặc measures để truy xuất thông tin từ bảng liên quan.
4.4.1. Calculated Column: Lấy tên khách hàng vào bảng DonHang
TênKH = RELATED(KhachHangTênKH)
4.4.2. Measure: Tổng giá trị đơn hàng theo khu vực
TotalGiáTrị_TheoKhuVuc = CALCULATE( SUM(DonHangGiáTrị), ALLEXCEPT(KhachHang, KhachHangKhuVực)
)
Sau khi tạo, bạn có thể kéo các trường này vào PivotTable để có báo cáo tổng hợp.
4.5. Ưu điểm so với Power Query
| Power Query | Power Pivot |
|---|---|
| Xử lý và biến đổi dữ liệu trước khi load | Tạo mô hình dữ liệu, mối quan hệ sau khi load |
| Thích hợp cho ETL (Extract‑Transform‑Load) | Thích hợp cho phân tích đa chiều, tính toán nhanh |
| Dễ đọc, chỉnh sửa qua giao diện UI | Yêu cầu kiến thức DAX để khai thác tối đa |
5. So sánh các phương pháp và lựa chọn phù hợp
| Tiêu chí | VLOOKUP/INDEX-MATCH | XLOOKUP | Power Query | Power Pivot |
|---|---|---|---|---|
| Độ phức tạp | Thấp‑trung bình | Trung bình | Trung‑cao | Cao |
| Loại join | Chỉ Inner/Left (via IFERROR) | Inner/Left (có thể mô phỏng Full) | Full, Inner, Left, Right, Anti, Semi | One‑to‑Many (Full Outer không hỗ trợ trực tiếp) |
| Xử lý dữ liệu lớn | Không tốt (lag) | Không tốt | Rất tốt | Rất tốt |
| Tự động cập nhật | Cần Refresh thủ công | Cần Refresh thủ công | Refresh tự động | Refresh tự động |
| Khả năng mở rộng | Giới hạn (công thức) | Tốt (mảng) | Rất tốt (M code) | Rất tốt (Data Model) |
| Yêu cầu phiên bản | Tất cả | Excel 365/2026+ | Excel 2026+ | Excel Pro Plus/365 |
Khi nào dùng gì?
– Công việc nhanh, dữ liệu nhỏ (<10k dòng): VLOOKUP hoặc INDEX‑MATCH đủ.
– Bạn có Office 365 và muốn viết ngắn gọn: XLOOKUP là lựa chọn tối ưu.
– Dữ liệu trung bình‑lớn, cần các loại join phức tạp: Power Query.
– Phân tích đa chiều, báo cáo BI trong Excel: Power Pivot + DAX.
6. Những lỗi thường gặp và cách khắc phục
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
#N/A | Không tìm thấy giá trị khóa trong bảng phụ. | Kiểm tra dữ liệu trùng khớp, dùng IFERROR để xử lý. |
#VALUE! | Kiểu dữ liệu không đồng nhất (text vs number). | Dùng VALUE() hoặc TEXT() để đồng nhất. |
#REF! | Tham chiếu ô/ cột đã bị xóa. | Kiểm tra lại công thức, cập nhật vùng dữ liệu. |
| Kết quả sai vì khoảng trắng | Dòng dữ liệu có dấu cách thừa. | Dùng TRIM hoặc CLEAN. |
| Power Query không cập nhật | Đã thay đổi dữ liệu nguồn nhưng chưa Refresh. | Click Refresh All hoặc thiết lập Refresh on Open. |
DAX trả về lỗi The relationship could not be determined | Không có quan hệ đúng hoặc quan hệ nhiều‑nhiều. | Đảm bảo cột khóa là duy nhất ở một phía, tạo quan hệ One‑to‑Many. |
7. Mẹo tối ưu hiệu suất khi ghép bảng
- Giới hạn vùng dữ liệu: Thay vì sử dụng toàn bộ cột (
A:B), chỉ định vùng thực tế (A2:B5000). Giảm tải tính toán. - Tắt tính năng Automatic Calculation trong
Formulas → Calculation Options → Manualkhi làm việc với công thức lớn, sau đó nhấnF9để tính lại. - Sử dụng Table Names thay vì địa chỉ ô cố định; khi thêm dòng mới, công thức tự mở rộng.
- Trong Power Query, tắt tính năng
Enable Loadcho các query trung gian để giảm số lượng bảng tải vào workbook. - Sử dụng “Binary Search” trong
VLOOKUP(range_lookup = TRUE) chỉ khi dữ liệu đã được sắp xếp và bạn muốn tăng tốc độ (cẩn thận với lỗi không chính xác).
8. Thực hành: Bài tập mẫu
Bài 1: Bạn có bảng Bán Hàng (cột Mã SP, Số Lượng, Ngày) và bảng Sản Phẩm (cột Mã SP, Tên SP, Giá). Hãy ghép để có bảng Bán Hàng Chi Tiết bao gồm Tên SP và Giá. Thực hiện bằng:
– a) VLOOKUP
– b) XLOOKUP
– c) Power Query
Bài 2: Tạo Data Model với ba bảng: Khách Hàng, Đơn Hàng, Chi Tiết Đơn. Thiết lập quan hệ và viết DAX để tính Doanh thu trung bình mỗi khách hàng.
Giải đáp nhanh:
- VLOOKUP:
=VLOOKUP(A2, Sheet2!$A$2:$C$1000, 2, FALSE) - XLOOKUP:
=XLOOKUP(A2, Sheet2!$A$2:$A$1000, Sheet2!$B$2:$B$1000, "Không có") Power Query: Load cả hai bảng, Merge Queries (Left Outer) trên
Mã SP, ExpandTên SP,Giá.DAX:
DoanhThuTB_KH = DIVIDE( CALCULATE(SUM(ChiTietDonGiá ChiTietDonSố Lượng)), DISTINCTCOUNT(KhachHangMãKH)
)
9. Kết luận
Ghép 2 bảng trong Excel không chỉ là một thao tác kỹ thuật đơn giản mà còn là nền tảng cho mọi quy trình phân tích dữ liệu hiện đại. Từ những hàm truyền thống như VLOOKUP, INDEX-MATCH cho tới các công cụ mạnh mẽ như Power Query và Power Pivot, mỗi phương pháp đều có ưu nhược điểm riêng, phù hợp với từng tình huống và quy mô dữ liệu.
Những điểm quan trọng cần nhớ:
– Luôn chuẩn bị dữ liệu sạch, cột khóa thống nhất và không trùng lặp.
– Chọn loại join phù hợp với mục tiêu (Inner, Left, Full…).
– Khi dữ liệu lớn hoặc cần tự động hoá, ưu tiên Power Query hoặc Power Pivot.
– Kiểm tra và xử lý lỗi thường gặp (N/A, VALUE, REF) để đảm bảo độ tin cậy.
– Tận dụng các tính năng tối ưu hiệu suất để tránh làm chậm workbook.
Hy vọng qua bài viết chi tiết này, bạn đã nắm vững mọi khía cạnh của ghép 2 bảng trong Excel, từ cơ bản tới nâng cao, và có thể áp dụng một cách tự tin trong công việc hàng ngày. Chúc bạn thành công và luôn khai thác tối đa sức mạnh của Excel!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
