Hướng dẫn

Lỗi VLOOKUP & INDEX-MATCH Trong Google Sheets: Nguyên Nhân & Cách Xử Lý Dứt Điểm

Tuân HoangTuân Hoang
9 phút đọc
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.

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

#1

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)

#2

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)

#3

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)

#4

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)

#5

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

#6

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")

#7

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íVLOOKUPINDEX-MATCH
Hướng tìm kiếmChỉ trái → phải ❌Mọi hướng ✅
Khi thêm/xóa cộtBị sai ❌Tự điều chỉnh ✅
Tốc độ (dữ liệu lớn)Chậm hơn ❌Nhanh hơn ✅
Dễ họcDễ hơn ✅Phức tạp hơn ❌
Tìm kiếm 2 chiềuKhô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

Chia sẻ bài viết:

Tuân Hoang

Tuân Hoang

Đội ngũ SheetStore

Bạ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.

Nhận thông báo khi có bài viết mới. Không spam, hứa luôn! 😊

Bình luận (0)

Vui lòng đăng nhập để tham gia thảo luận