Chào các bác, dạo này em hay gặp một cái lỗi khá khó chịu với hàm VLOOKUP. Cụ thể là khi em dùng VLOOKUP để dò tìm một mã hàng, thì nó báo lỗi #N/A dù em chắc chắn là mã đó có tồn tại trong bảng dữ liệu.
Sau một hồi vật lộn, em mới phát hiện ra nguyên nhân. Hóa ra là do trong cái mã hàng em cần dò tìm, hoặc trong cột dò tìm của bảng dữ liệu, có chứa các ký tự đặc biệt hoặc khoảng trắng thừa ở đầu/cuối. Ví dụ như các ký tự không in được, hoặc đơn giản là một khoảng trắng mà mắt thường khó thấy.
Cách khắc phục:
- Bước 1: Làm sạch dữ liệu
- Sử dụng hàm
TRIM()để loại bỏ các khoảng trắng thừa ở đầu và cuối chuỗi trong cả cột dò tìm và vùng dữ liệu. Ví dụ, nếu cột dò tìm của bạn là cột A, bạn có thể tạo một cột phụ với công thức=TRIM(A1)rồi copy xuống. - Đối với các ký tự đặc biệt khó xử lý, bạn có thể cân nhắc sử dụng kết hợp hàm
SUBSTITUTE()để thay thế chúng bằng ký tự rỗng ("") hoặc một ký tự khác dễ xử lý hơn. Tuy nhiên, cách này sẽ hơi thủ công nếu có quá nhiều loại ký tự đặc biệt. - Bước 2: Điều chỉnh công thức VLOOKUP
- Thay vì dò tìm trực tiếp giá trị ở ô gốc, bạn hãy trỏ đến ô đã được làm sạch bằng
TRIM(). Ví dụ, nếu ô chứa mã hàng cần dò làE1, và bạn đã làm sạch nó ở cột F (ôF1), thì công thứcVLOOKUPsẽ là:=VLOOKUP(F1, BảngDữLiệu!A:C, 3, FALSE).
Cách này tuy hơi mất công một chút ở bước làm sạch dữ liệu, nhưng nó giải quyết triệt để được vấn đề #N/A do ký tự lạ hoặc khoảng trắng. Chia sẻ với mọi người để ai gặp tình huống tương tự thì có thêm hướng xử lý nhé!