Lỗi VLOOKUP & INDEX-MATCH Trong Google Sheets: Nguyên Nhân & Cách Xử Lý Dứt Điểm
VLOOKUP trả về #N/A dù dữ liệu rõ ràng đang ở đó — bạn không phải người duy nhất gặp vấn đề này.
7 lỗi VLOOKUP phổ biến nhất, so sánh với INDEX-MATCH, và hướng dẫn chọn đúng hàm cho từng tình huống — giải quyết dứt điểm một lần.
Mục lục:
Trả lời nhanh: VLOOKUP hay trả #N/A vì thiếu tham số FALSE ở cuối (đang tìm gần đúng), có khoảng trắng thừa (bọc TRIM), hoặc kiểu dữ liệu lệch nhau giữa số và chữ. Nó cũng sai khi chèn cột làm lệch số thứ tự cột và không tra được sang trái. INDEX-MATCH hoặc XLOOKUP tránh được hai lỗi sau, nên dùng cho bảng hay thay đổi cấu trúc.
1. Tại Sao VLOOKUP Hay Bị Lỗi?
VLOOKUP là hàm tìm kiếm phổ biến nhất Google Sheets nhưng cũng là hàm bị lỗi nhiều nhất. Lý do chính:
Giới hạn của VLOOKUP:
- ❌ Chỉ tìm từ trái sang phải
- ❌ Không tìm được theo cột bên trái
- ❌ Khi thêm/xóa cột, column index bị sai
- ❌ Mặc định là approximate match (gây sai kết quả)
- ❌ Không phân biệt chữ hoa/thường
Cú pháp VLOOKUP:
=VLOOKUP(lookup_value, table_array, col_index, [range_lookup])
- lookup_value: Giá trị cần tìm
- table_array: Vùng dữ liệu
- col_index: Số thứ tự cột kết quả
- range_lookup: FALSE = exact match ✅
2. 7 Lỗi VLOOKUP Phổ Biến Và Cách Sửa
Lỗi #N/A — Không tìm thấy giá trị
Nguyên nhân phổ biến nhất: Bạn đang dùng approximate match (thiếu FALSE ở cuối) hoặc có khoảng trắng thừa.
❌ Sai:
=VLOOKUP(A2, B:D, 2)
✅ Đúng:
=VLOOKUP(A2, B:D, 2, FALSE)
Thêm TRIM để xóa khoảng trắng: =VLOOKUP(TRIM(A2), B:D, 2, FALSE)
Kiểu dữ liệu không khớp (Text vs Number)
VLOOKUP("1001", ...) khác VLOOKUP(1001, ...). Một cái là text, một cái là số — dù nhìn giống nhau.
❌ Mã SP dạng text, tìm bằng số:
=VLOOKUP(1001, A:C, 2, FALSE)
✅ Chuyển cùng kiểu:
=VLOOKUP(TEXT(A2,"0"), B:D, 2, FALSE)
Column Index bị sai khi thêm cột
col_index=3 hôm nay có thể thành col_index sai sau khi ai đó thêm cột vào giữa bảng.
Giải pháp: Dùng MATCH để tự động tìm số cột thay vì hardcode: =VLOOKUP(A2, B:F, MATCH("Giá", B1:F1, 0), FALSE)
Range không được khóa khi copy công thức
Khi copy VLOOKUP xuống nhiều hàng, table_array bị dịch chuyển theo.
❌ Range không khóa:
=VLOOKUP(A2, B2:D100, 2, FALSE)
✅ Dùng $ khóa range:
=VLOOKUP(A2, $B$2:$D$100, 2, FALSE)
Cần tìm từ phải sang trái
VLOOKUP chỉ trả về giá trị bên phải cột tìm kiếm. Cần kết quả bên trái? Phải dùng INDEX-MATCH.
=INDEX(A:A, MATCH(D2, B:B, 0))
→ Tìm giá trị ở cột A dựa trên cột B — không giới hạn hướng
Giá trị trùng lặp — chỉ lấy được cái đầu tiên
Nếu có nhiều dòng cùng mã SP, VLOOKUP chỉ trả về dòng đầu tiên tìm thấy.
Giải pháp: Dùng FILTER hoặc QUERY để lấy tất cả kết quả trùng: =FILTER(C:C, A:A="SP001")
Chậm với dữ liệu lớn
VLOOKUP trên cả cột (A:A thay vì A1:A1000) chậm hơn 10x khi dữ liệu lớn.
Giải pháp: Giới hạn range cụ thể, hoặc dùng VLOOKUP kết hợp với INDIRECT để tối ưu.
3. VLOOKUP vs INDEX-MATCH: So Sánh Chi Tiết
| Tiêu chí | VLOOKUP | INDEX-MATCH |
|---|---|---|
| Hướng tìm kiếm | Chỉ trái → phải ❌ | Mọi hướng ✅ |
| Khi thêm/xóa cột | Bị sai ❌ | Tự điều chỉnh ✅ |
| Tốc độ (dữ liệu lớn) | Chậm hơn ❌ | Nhanh hơn ✅ |
| Dễ học | Dễ hơn ✅ | Phức tạp hơn ❌ |
| Tìm kiếm 2 chiều | Không ❌ | Có ✅ |
4. Khi Nào Dùng Cái Nào?
Dùng VLOOKUP khi:
- ✅ Bảng dữ liệu đơn giản, ít thay đổi cấu trúc
- ✅ Mới học, cần công thức dễ nhớ
- ✅ Dữ liệu nhỏ (< 5000 dòng)
- ✅ Chỉ cần tìm sang phải
Dùng INDEX-MATCH khi:
- ✅ Cần tìm sang trái
- ✅ Bảng hay thêm/xóa cột
- ✅ Dữ liệu lớn (> 10000 dòng)
- ✅ Tìm kiếm 2 chiều (row + column)
5. Ví Dụ Thực Tế: Tra Cứu Giá Sản Phẩm
Bài toán: Có bảng sản phẩm, cần tra cứu giá theo mã SP nhập vào ô tìm kiếm.
// Cách 1: VLOOKUP (cơ bản)
=IFERROR(VLOOKUP(F2, $A$2:$D$100, 3, FALSE), "Không tìm thấy")
// Cách 2: INDEX-MATCH (linh hoạt hơn)
=IFERROR(INDEX($C$2:$C$100, MATCH(F2, $A$2:$A$100, 0)), "Không tìm thấy")
// Cách 3: XLOOKUP (Google Sheets 2023+)
=XLOOKUP(F2, A2:A100, C2:C100, "Không tìm thấy")
6. XLOOKUP — Thay Thế Tốt Hơn Cả Hai
Google Sheets đã hỗ trợ XLOOKUP từ 2022. Đây là hàm tìm kiếm thế hệ mới:
XLOOKUP giải quyết mọi vấn đề của VLOOKUP:
- ✅ Tìm được mọi hướng
- ✅ Có giá trị mặc định nếu không tìm thấy (không cần IFERROR)
- ✅ Hỗ trợ wildcard, exact/approximate match
- ✅ Nhanh hơn VLOOKUP
- ✅ Cú pháp đơn giản hơn INDEX-MATCH
=XLOOKUP(F2, A2:A100, C2:C100, "N/A", 0)
Phần Mềm Quản Lý Bán Hàng — Không Cần VLOOKUP
SheetStore tự động tra cứu giá, tồn kho, thông tin khách hàng — bạn chỉ cần nhập mã hàng
Xem Phần Mềm📚 Bài Viết Liên Quan
- Template Google Sheets Ngân Sách Marketing 2027: Lập Kế Hoạch và Theo Dõi ROI
- Template Google Sheets Theo Doi Du An IT va Phan Mem 2027: Agile Sprint Board Don Gian
- AI và Google Sheets 2027: Kết Hợp ChatGPT, Gemini Để Tự Động Hóa Công Việc
- Google Sheets Nâng Cao Bài 6: ARRAYFORMULA - Tự Động Hóa Công Thức Hàng Loạt
Chia sẻ bài viết:
Tuân Hoang
Đội ngũ SheetStore
Google Workspace Certified, 5+ years experience
Công cụ liên quan
Giải pháp cho bài viết này
Phần Mềm Quản Lý Bán Hàng Bằng Google Sheets
Phần mềm bán hàng trên Google Sheets — mua 1 lần dùng trọn đời, cài đặt trong 5 phút, dữ liệu thuộc về bạn. Dùng thử miễn phí trước khi mua.
799.000 đ
Xem chi tiếtPhần Mềm Content AI V2.0
Tạo nội dung chuyên nghiệp với Content AI Tool. Tự động hóa nội dung bán hàng trên nhiều nền tảng!
119.000 đ
Xem chi tiếtBạn thấy bài viết hữu ích?
Đăng ký nhận thông báo khi có bài viết mới.

