Bài 4: Tra cứu và kết hợp dữ liệu nhiều bảng
Bài 4: Tra cứu và kết hợp dữ liệu nhiều bảng
Ở bài này, bạn sẽ học cách nối dữ liệu từ nhiều bảng tham chiếu vào bảng đơn hàng để tạo báo cáo đầy đủ.
Mục tiêu:
- Chuẩn hóa khóa tra cứu (
customer_id,product_code,region_code). - Dùng
VLOOKUP+IFERRORđể lấy thông tin từ bảng map. - Tạo cột kiểm tra lỗi tra cứu để biết dòng nào thiếu dữ liệu nguồn.
Vì sao phải biết lookup nhiều bảng?
Trong file vận hành thật, dữ liệu thường tách rời:
- Bảng đơn hàng.
- Bảng khách hàng.
- Bảng sản phẩm.
- Bảng vùng/khu vực.
Nếu không biết ghép đúng khóa, báo cáo doanh thu và phân tích khách hàng sẽ sai ngay từ đầu.
Bộ công thức chính trong Bài 4
- Chuẩn hóa khóa:
TRIM,UPPER,SUBSTITUTE,REGEXREPLACE - Tra cứu dữ liệu:
VLOOKUP - Chống vỡ công thức khi thiếu map:
IFERROR - Ghép cảnh báo lỗi:
TEXTJOIN - Tính doanh thu gộp: phép nhân
qty * unit_price
Demo before/after (read-only)
Bạn mở file read-only này để xem, sau đó vào File → Make a copy để thực hành:
- Demo file (read-only): https://docs.google.com/spreadsheets/d/13tF2H4T68DBAatyFEV0bDYyRRDT7EIIOagoDoxl7R-Y/edit?usp=sharing
Các tab trong file:
Raw_Before: bảng đơn hàng + bảng map khách hàng/sản phẩm/vùng.Clean_After: dữ liệu trước/sau tra cứu trong cùng một tab.Practice: dữ liệu để bạn tự làm lại.Checklist: tiêu chí tự kiểm theo từng cột.Hướng dẫn từng bước: hướng dẫn chi tiết từng thao tác.
Logic before/after của bài
Trong Clean_After:
A:R: giữ bản sao dữ liệu thô và bảng tham chiếu.T:AH: cột chuẩn hóa + lookup + tính toán + ghi chú lỗi.
Bạn sẽ tạo ra:
- Khóa sạch:
customer_id_clean,product_code_clean - Lookup:
customer_name_lookup,customer_tier_lookup,product_name_lookup,unit_price_lookup,region_name_lookup - Tính toán:
gross_amount - Cảnh báo:
issue_note
Các case lỗi thực tế trong file demo
Bạn sẽ gặp đúng các lỗi hay xảy ra ngoài công việc:
customer_idkhông tồn tại trong bảng khách hàng.product_codesai format nên lookup trượt.region_codelạ nên không map được tên vùng.
Mục tiêu không chỉ là tra cứu thành công, mà còn phải biết dòng nào lỗi và lỗi gì.
Flow thực hành đề xuất
- Đọc nhanh
Raw_Before, xác định bảng nguồn và bảng map. - Ở
Clean_After, làm sạch khóa tra cứu trước. - Viết lookup theo thứ tự: customer → product → region.
- Tính
gross_amountsau khi có đơn giá. - Ghép
issue_noteđể hiển thị các lỗi lookup còn thiếu. - Tự chấm bằng
Checklist.
Layout học 60 phút cho Bài 4
1) Lecture (15 phút)
- 5 phút: tư duy khóa tra cứu và bảng map.
- 7 phút: demo đầy đủ flow lookup nhiều bảng.
- 3 phút: cách debug khi
VLOOKUPtrả rỗng.
2) Thực hành có hướng dẫn (30 phút)
- Làm theo tab
Hướng dẫn từng bước. - Hoàn thiện toàn bộ cột
T:AHtrongClean_After. - Đối chiếu kết quả theo từng checkpoint.
3) Thực hành tự làm (15 phút)
- Làm lại toàn bộ trên tab
Practicekhông nhìn đáp án. - So lại với
Clean_Aftervà ghi chú điểm sai.
Kết thúc Bài 4
Sau bài này, bạn sẽ:
- Biết tra cứu và kết hợp dữ liệu từ nhiều bảng một cách ổn định.
- Biết xử lý trường hợp lookup fail mà không làm hỏng báo cáo.
- Có checklist rõ ràng để kiểm tra chất lượng dữ liệu sau khi join.
Bài tiếp theo, chúng ta sẽ đi vào làm sạch và chuẩn hóa dữ liệu nâng cao để giảm lỗi ngay từ đầu vào.