Chào các anh chị em trong diễn đàn,
Hôm nay mình muốn chia sẻ một lỗi khá 'oái oăm' mà mình vừa gặp phải khi sử dụng hàm VLOOKUP. Tình huống là mình cần tra cứu một mã sản phẩm (là số) trong một danh sách lớn. Tuy nhiên, khi dùng VLOOKUP thì nó cứ trả về lỗi #N/A dù mình chắc chắn mã đó có tồn tại trong bảng dữ liệu.
Sau một hồi tìm hiểu, mình phát hiện ra vấn đề nằm ở định dạng dữ liệu. Cái mã sản phẩm mình dùng để tìm kiếm có định dạng là Số (Number), nhưng trong cột đầu tiên của bảng dữ liệu mà VLOOKUP tra cứu lại có định dạng là Chữ (Text), dù nhìn bằng mắt thường thì nó vẫn là dãy số.
Khi hai định dạng này không khớp, VLOOKUP sẽ không thể tìm thấy giá trị tương ứng, dẫn đến lỗi #N/A.
Cách khắc phục:
- Cách 1 (Đơn giản nhất): Chuyển đổi định dạng cột chứa mã sản phẩm trong bảng dữ liệu về dạng Số. Bạn có thể bôi đen cột đó, nhấp chuột phải chọn 'Format Cells' và chọn 'Number'. Hoặc nếu có nhiều cột dạng Text chứa số, bạn có thể dùng chức năng 'Text to Columns' (trong tab Data) và chọn 'Delimited' rồi Next, Next, Finish.
- Cách 2 (Trong công thức VLOOKUP): Nếu không muốn thay đổi định dạng gốc của bảng, bạn có thể ép kiểu dữ liệu trong công thức. Ví dụ, nếu mã sản phẩm bạn cần tìm là ở ô
A2, bạn có thể sửa công thứcVLOOKUPnhư sau:
=VLOOKUP(VALUE(A2), BảngDữLiệu!A:C, 3, FALSE)Hoặc nếu mã trong bảng là Text và bạn muốn tìm kiếm bằng số:
=VLOOKUP(A2 & "", BảngDữLiệu!A:C, 3, FALSE)Hy vọng chia sẻ này giúp ích được cho các bạn nào gặp phải tình huống tương tự. Nếu có cách nào hay hơn, mọi người cùng thảo luận nhé!