Tại sao các hàm tìm kiếm thất bại dù dữ liệu trông có vẻ giống hệt nhau
Bạn đang nhìn vào hai ô trông hoàn toàn giống nhau. Ô A2 chứa "SKU-500" và bảng tra cứu của bạn hiển thị rõ ràng "SKU-500" ở cột đầu tiên. Tuy nhiên, hàm VLOOKUP hoặc MATCH của bạn vẫn khăng khăng trả về lỗi #N/A. Điều này cực kỳ khó chịu, nhưng luôn có một lý do logic đằng sau nó.
Sheets không quan tâm giá trị trông như thế nào; nó quan tâm đến cách giá trị đó được lưu trữ. Đối với một bảng tính, con số 45092 khác biệt hoàn toàn so với chuỗi văn bản "45092". Thậm chí chỉ một khoảng trắng ẩn ở cuối — thường thấy trong các tệp xuất từ CRM như Salesforce hoặc Hubspot — cũng sẽ làm hỏng công thức của bạn ngay lập tức. Nếu bạn đang làm việc với dữ liệu từ các cơ sở dữ liệu bên ngoài, những sự không nhất quán này gần như là điều chắc chắn.
Quy trình gỡ lỗi
Đừng vội vàng sửa đổi công thức ngay. Trước tiên, hãy xác định chính xác vị trí không khớp bằng ba phương pháp chẩn đoán sau.
1. Kiểm tra kiểu dữ liệu
Kiểm tra định dạng cơ bản của cả khóa tìm kiếm và giá trị trong bảng của bạn. Sử dụng hàm TYPE() trong một ô trống:
1= Số (Number)2= Văn bản (String)
Nếu khóa tìm kiếm của bạn trả về 1 nhưng giá trị trong bảng trả về 2, chúng sẽ không bao giờ khớp nhau. Chúng đang thuộc các danh mục khác nhau.
2. Kiểm tra độ dài chuỗi
Các khoảng trắng ẩn là nguyên nhân chính gây ra hầu hết các lỗi tìm kiếm thất bại. Sử dụng LEN() để đếm số ký tự. Nếu LEN("SKU-500 ") trả về 8 thay vì 7 như mong đợi, bạn đang có một khoảng trắng ẩn nằm ở cuối chuỗi.
3. So sánh trực tiếp
Thử một phép kiểm tra logic đơn giản: =A2=Sheet2!A2. Nếu kết quả trả về FALSE mặc dù các ô trông có vẻ giống hệt nhau, bạn đã xác nhận rằng việc không khớp định dạng hoặc ký tự đang ngăn cản việc tìm kiếm.
Các giải pháp thực tế để sửa lỗi #N/A
Khi đã biết nguyên nhân, hãy áp dụng một trong những cách khắc phục có mục tiêu sau để dữ liệu của bạn hoạt động trở lại.
Giải pháp 1: Ép kiểu để khớp số
Nếu khóa tìm kiếm của bạn được lưu dưới dạng văn bản nhưng bảng của bạn lại chứa số thực sự, hãy bao bọc khóa tìm kiếm trong hàm VALUE(). Điều này ép chuỗi văn bản sang định dạng số trước khi quá trình tìm kiếm diễn ra.
=VLOOKUP(VALUE(A2), 'Inventory'!A:B, 2, FALSE)
Cần một cách nhanh hơn? Nhân ô đó với 1 sẽ mang lại kết quả tương tự với ít thao tác hơn: =VLOOKUP(A2*1, 'Inventory'!A:B, 2, FALSE).
Giải pháp 2: Ép kiểu để khớp văn bản
Khi khóa tìm kiếm của bạn là một con số nhưng bảng tra cứu lại coi các ID là văn bản, hãy sử dụng TO_TEXT(). Điều này thường thấy khi các ID chứa các số 0 ở đầu cần được giữ lại.
=VLOOKUP(TO_TEXT(A2), 'Archive'!A:B, 2, FALSE)
// Cách khác: kết hợp với một chuỗi rỗng
=VLOOKUP(A2 & "", 'Archive'!A:B, 2, FALSE)
Giải pháp 3: Làm sạch khoảng trắng và các ký tự rác
Đối với dữ liệu xuất ra bị lộn xộn, hãy sử dụng TRIM() để loại bỏ các khoảng trắng ở đầu/cuối và CLEAN() để tước bỏ các ký tự không thể in được. Sự kết hợp này xử lý được hầu hết các lỗi "ẩn".
=VLOOKUP(TRIM(CLEAN(A2)), 'Sales_Data'!A:B, 2, FALSE)
Nếu các khoảng trắng tồn tại ngay trong dải ô tra cứu, bạn có thể làm sạch toàn bộ dải ô đó ngay lập tức bằng ARRAYFORMULA. Lưu ý rằng điều này có thể làm chậm các bảng tính khổng lồ với hàng chục nghìn hàng.
=ARRAYFORMULA(VLOOKUP(A2, TRIM('Sales_Data'!A:B), 2, FALSE))
Giải pháp 4: Xử lý các khoảng trắng không ngắt cứng đầu
Hàm TRIM() thông thường thường bỏ sót khoảng trắng không ngắt (ASCII 160), vốn xuất hiện thường xuyên trong dữ liệu thu thập từ web. Nếu bạn đang bế tắc, hãy sử dụng REGEXREPLACE để loại bỏ mọi thứ trừ các ký tự chữ và số cốt lõi.
=VLOOKUP(REGEXREPLACE(A2, "[^a-zA-Z0-9]", ""), 'Data'!A:B, 2, FALSE)
Xác minh cuối cùng
Sau khi áp dụng cách khắc phục, hãy thực hiện các bước kiểm tra nhanh sau:
- Kéo và Kiểm tra: Kéo công thức xuống 10-20 hàng. Nó hoạt động ổn định hay thất bại ở các hàng cụ thể? Nếu nó thất bại không liên tục, có khả năng bạn đang có các kiểu dữ liệu hỗn hợp trong nguồn của mình.
- Quan sát căn lề: Theo mặc định, Google Sheets căn phải cho các con số và căn trái cho văn bản. Nếu "các con số" của bạn đang nằm sát lề trái, Sheets đang coi chúng là chuỗi văn bản.
- Sử dụng Xem trước công thức: Nhấp vào mũi tên nhỏ bên cạnh công thức của bạn để xem Sheets đánh giá từng bước tính toán như thế nào.
Chiến lược ngăn ngừa
Tiết kiệm cho bản thân những rắc rối sau này bằng cách chuẩn hóa dữ liệu của bạn sớm.
- Sửa từ nguồn: Đừng dựa vào các công thức phức tạp để sửa dữ liệu xấu. Hãy chọn các cột của bạn và sử dụng Định dạng > Số > Văn bản thuần túy để ép một kiểu dữ liệu thống nhất cho toàn bộ.
- Đặt tham số cuối cùng thành FALSE: Trừ khi bạn đang thực hiện tìm kiếm theo dải (như khung thuế), hãy luôn đặt tham số cuối cùng của
VLOOKUPthànhFALSEhoặc0. Để trống nó sẽ mặc định làTRUE, yêu cầu dữ liệu phải được sắp xếp và thường mang lại kết quả không chính xác. - Xác thực dữ liệu: Nếu những người khác đang nhập dữ liệu, hãy sử dụng Dữ liệu > Xác thực dữ liệu để đảm bảo họ chỉ nhập số hoặc các định dạng cụ thể, ngăn ngừa lỗi trước khi chúng bắt đầu.

