Bạn sẽ sửa lỗi gì
VLOOKUP có thể trả về một giá trị dù khóa tra cứu không tồn tại nếu đối số thứ tư cho phép khớp gần đúng. Trong bảng thực hành này, P03 không có trong danh sách SKU nhưng =VLOOKUP(D2,A2:B4,2,TRUE) vẫn trả 35 vì công thức rơi về một kết quả gần đúng. Bạn sẽ thay hành vi đó bằng khớp chính xác.
Mục tiêu học tập
Mở workbook thực hành
Thực hành trên bản sao của riêng bạn
Mở bản mẫu Google Sheets để tạo bản sao giữ nguyên dữ liệu, công thức, định dạng, bộ lọc và hàng cố định. Bản gốc không bị thay đổi.
Bạn cần đăng nhập Google; nếu bản gốc chưa được chia sẻ công khai, hãy tải bảng mẫu đầy đủ rồi nhập vào Google Sheets, hoặc dán dữ liệu vào trang tính của bạn.
Dữ liệu mẫu
| SKU | Price |
|---|---|
| P01 | 12 |
| P02 | 35 |
| P10 | 80 |
Bảng tra cứu nằm ở A2:B4. P03 cố ý không tồn tại để bạn tái hiện lỗi khớp sai.
| Ô tra cứu | Khóa ban đầu | Ô kết quả |
|---|---|---|
| D2 | P02 | E2 |
Bạn sẽ tạm đổi D2 khi chẩn đoán rồi khôi phục P02.
Vì sao VLOOKUP trả về kết quả sai
Bước 1: Đổi D2 thành P03, một SKU không tồn tại trong A2:A4. Nhập =VLOOKUP(D2,A2:B4,2,TRUE) vào E2. Trong workbook đã kiểm chứng, E2 vẫn trả 35 dù P03 không có trong bảng.
=VLOOKUP(D2,A2:B4,2,TRUE)Sửa bằng khớp chính xác
Bước 2: Giữ D2 là P03 và thay TRUE bằng FALSE. Công thức trở thành =VLOOKUP(D2,A2:B4,2,FALSE). Vì P03 không tồn tại, kết quả đã kiểm chứng là #N/A thay vì một mức giá gây hiểu nhầm.
=VLOOKUP(D2,A2:B4,2,FALSE)Bước 3: Khôi phục D2 về P02. Giữ công thức khớp chính xác trong E2. Kết quả đã kiểm chứng trở lại 35.
Kiểm tra tính lại: tạm đổi D2 từ P02 sang P10. E2 phải đổi từ 35 thành 80. Sau đó khôi phục D2 về P02 và xác nhận E2 trở lại 35.
Điểm kiểm tra
| Lookup SKU | Công thức | Kết quả mong đợi |
|---|---|---|
| P02 | =VLOOKUP(D2,A2:B4,2,FALSE) | 35 |
| P10 | =VLOOKUP(D2,A2:B4,2,FALSE) | 80 |
| P03 | =VLOOKUP(D2,A2:B4,2,FALSE) | #N/A |
Ba trường hợp này giúp phân biệt rõ khớp chính xác với kết quả khớp gần đúng gây hiểu nhầm.
Lỗi thường gặp và cách sửa
Nếu FALSE trả #N/A cho một khóa mà bạn tin là có tồn tại, hãy so sánh khóa thật chính xác: khoảng trắng đầu/cuối, kiểu văn bản so với số hoặc vùng tra cứu bắt đầu sai cột đều có thể làm khớp chính xác thất bại. Không nên “sửa” #N/A bằng cách đổi ngược về TRUE.
Bài tập tự thực hành
Thêm tạm SKU P05 với giá 50, kiểm tra bằng FALSE rồi xóa dòng thử. Sau đó nhập một SKU không tồn tại và xác nhận công thức khớp chính xác trả #N/A thay vì giá của sản phẩm khác.
Tóm tắt kiến thức
- ✓TRUE bật khớp gần đúng; không phù hợp với các bài tra mã ID thông thường.
- ✓Khóa không tồn tại vẫn có thể trả về một giá trị trông hợp lý nhưng sai khi dùng khớp gần đúng.
- ✓FALSE yêu cầu khớp chính xác và trả #N/A khi không tìm thấy khóa.
- ✓Trong mẫu này, P02 trả 35 và P10 trả 80 với công thức chính xác.
- ✓Hãy đổi khóa tra cứu để kiểm tra công thức tự tính lại rồi khôi phục dữ liệu mẫu.
Tự kiểm tra kiến thức
Trả lời 4 câu hỏi dựa trên bảng tính vừa thực hành.
Bài tiếp theo
Tiếp tục với cách xử lý giá trị không tìm thấy trong XLOOKUP, nơi bạn còn có thể chỉ định trực tiếp kết quả khi không có khớp.
Bình luận
Chưa có bình luận. Hãy là người đầu tiên chia sẻ ý kiến.