Cách sửa lỗi hàm VLOOKUP bị lỗi N/A bắt đầu bằng việc kiểm tra giá trị cần tìm có thật sự khớp với dữ liệu ở cột đầu tiên của vùng tra cứu hay không. Những nguyên nhân thường gặp nhất là thừa khoảng trắng, dữ liệu dạng văn bản không khớp với dạng số, chọn sai vùng bảng hoặc giá trị không tồn tại. Các bước dưới đây giúp bạn xác định nguyên nhân và xử lý lỗi mà không che mất vấn đề dữ liệu. Cùng Mindovermetal tìm hiểu chi tiết qua nội dung sau nhé!
Mục lục nội dung
Lỗi #N/A trong VLOOKUP có nghĩa gì?
Lỗi #N/A cho biết VLOOKUP không tìm thấy giá trị tra cứu trong cột đầu tiên của vùng dữ liệu được chọn. Lỗi này thường xuất hiện khi đối chiếu mã khách hàng, mã sản phẩm hoặc danh sách giữa hai bảng; không nhất thiết có nghĩa là công thức bị viết sai.
VLOOKUP tìm ở đâu và trả về kết quả thế nào?
Cú pháp cơ bản của hàm là =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]). Trong đó, lookup_value là giá trị cần tìm; table_array là vùng dữ liệu; col_index_num là số thứ tự cột trả kết quả tính từ cột đầu tiên của vùng; còn range_lookup quyết định kiểu tìm kiếm.
VLOOKUP chỉ tìm giá trị trong cột đầu tiên bên trái của table_array rồi trả về dữ liệu ở cột nằm bên phải. Chẳng hạn, nếu cột A chứa mã sản phẩm và cột B chứa tên hàng, công thức tra mã ở A để trả tên ở B có thể là =VLOOKUP(E2,$A$2:$B$100,2,FALSE). Nếu vùng bắt đầu từ cột B trong khi mã cần tìm nằm ở cột A, hàm không thể tìm theo hướng đó.

Với đối chiếu mã hoặc tên cần khớp chính xác, đặt tham số cuối là FALSE hoặc 0. Đây là lựa chọn phù hợp khi cần tìm đúng mã khách hàng, không phải một giá trị gần đúng có thể bị ảnh hưởng bởi thứ tự dữ liệu.
Vì sao cùng một mã nhìn giống nhau nhưng không khớp?
Hai giá trị có thể trông giống hệt nhau nhưng khác dữ liệu bên trong. Ví dụ, mã 00125 được lưu dưới dạng văn bản có thể không khớp với số 125; một chuỗi có dấu cách ở cuối cũng khác chuỗi không có dấu cách. Dữ liệu xuất từ phần mềm hệ thống đôi khi còn chứa ký tự không in được.
Trước khi sửa công thức, hãy kiểm tra ba điều: giá trị có tồn tại trong cột đầu tiên không, hai bên có cùng kiểu dữ liệu không và chuỗi có khoảng trắng hoặc ký tự lạ không. Xác định đúng nguyên nhân giúp tránh thay lỗi #N/A bằng một kết quả trống trong khi dữ liệu vẫn chưa được đối chiếu.
Bảng chẩn đoán và cách sửa lỗi VLOOKUP bị #N/A
Cách khắc phục nhanh nhất là đối chiếu dấu hiệu với nguyên nhân rồi xử lý dữ liệu hoặc vùng tra cứu tương ứng. Bảng dưới đây tổng hợp các lỗi thường gặp và lựa chọn phù hợp khi làm việc với bảng mã, báo cáo hoặc danh sách khách hàng.
Dấu hiệu | Nguyên nhân có thể | Cách kiểm tra và xử lý |
|---|---|---|
Mã nhìn giống nhau nhưng trả về #N/A | Có dấu cách ở đầu hoặc cuối | Làm sạch chuỗi ở cả giá trị tra cứu và cột đầu tiên bằng |
Một bên là số, bên kia là văn bản | Hai giá trị khác kiểu dữ liệu | Dùng Text to Columns để chuyển đổi đồng nhất, hoặc dùng |
Mã được chép từ phần mềm nhưng vẫn không khớp | Có ký tự không in được | Thử làm sạch bằng |
Mã có trong bảng nhưng công thức vẫn báo lỗi | Chọn sai vùng hoặc cột chứa mã không đứng đầu vùng | Chỉnh |
Công thức đúng ở dòng đầu nhưng sai khi kéo xuống | Vùng dữ liệu bị dịch theo công thức | Cố định vùng bằng F4, chẳng hạn |
Không có kết quả phù hợp trong bảng nguồn | Giá trị tra cứu thực sự không tồn tại | Kiểm tra lại mã hoặc bổ sung dữ liệu nguồn trước khi coi đây là lỗi công thức |
Muốn hiển thị thông báo thay vì #N/A | Cần kiểm soát cách trình bày kết quả | Bọc công thức bằng |
Chọn cách xử lý theo dữ liệu
TRIM phù hợp khi dữ liệu là văn bản và có khoảng trắng thừa ở đầu hoặc cuối. Hàm này không thay thế việc đồng nhất kiểu dữ liệu: nếu một bên là số còn bên kia là chuỗi số, cần chuyển chúng về cùng dạng. VALUE có thể chuyển dữ liệu số đang lưu dưới dạng văn bản thành số; hãy dùng khi mã thực sự được phép xử lý như số.

Với dữ liệu nhập từ hệ thống, CLEAN giúp xử lý ký tự không in được. Sau khi làm sạch, hãy kiểm tra lại giá trị đầu ra thay vì giả định mọi sai khác đã được loại bỏ. Đây là điểm quan trọng với mã định danh có số 0 ở đầu: chuyển một mã như 00125 sang dạng số có thể làm mất số 0 và khiến mã không còn đúng ý nghĩa.
Nếu chưa biết lỗi nằm ở dữ liệu hay công thức, hãy thử tìm trực tiếp giá trị trong cột đầu tiên của vùng nguồn. Nếu không có giá trị khớp, sửa định dạng công thức sẽ không tạo ra bản ghi còn thiếu.
Các bước sửa lỗi #N/A trong bảng tính
Hãy kiểm tra từ dữ liệu đầu vào đến công thức theo thứ tự: xác minh mã, làm sạch, đồng nhất kiểu, kiểm tra vùng và cuối cùng mới xử lý cách hiển thị lỗi. Trình tự này hữu ích khi đối chiếu hai danh sách lớn vì giúp phân biệt bản ghi bị thiếu với công thức tham chiếu sai.
Làm sạch giá trị tra cứu và cột dữ liệu
- Kiểm tra giá trị cần tìm trong bảng nguồn. Xác nhận rằng mã cần tra cứu có mặt trong cột đầu tiên của vùng dữ liệu. Nếu không có, hãy kiểm tra cách viết mã hoặc cập nhật bảng nguồn.
- Loại bỏ khoảng trắng thừa ở cả hai phía. Tạo cột phụ để làm sạch giá trị tra cứu và dữ liệu nguồn, chẳng hạn dùng
=TRIM(A2). Không chỉ làm sạch ô tra cứu: nếu cột nguồn vẫn còn khoảng trắng thì hai chuỗi vẫn có thể không khớp. - Xử lý ký tự không in được khi cần. Nếu dữ liệu được xuất từ ERP, CRM hoặc phần mềm khác, có thể thử
=CLEAN(A2). Khi nghi ngờ có cả ký tự lạ và khoảng trắng thừa, có thể kết hợp làm sạch trong cột phụ, rồi kiểm tra kết quả trước khi dùng làm dữ liệu tra cứu. - Đồng nhất kiểu dữ liệu. Nếu mã là số nhưng đang lưu dạng văn bản, thử chọn vùng cần chuyển, vào Data > Text to Columns > Finish. Hoặc dùng
VALUEđể chuyển chuỗi số thành số. Giữ mã ở dạng văn bản nếu số 0 đầu mã có ý nghĩa.

Ví dụ, để xử lý mã ở ô E2 và cột mã nguồn A, có thể tạo cột phụ với =TRIM(A2) rồi kéo xuống. Sau đó dùng vùng cột đã làm sạch làm nguồn tra cứu. Cách này giữ lại dữ liệu ban đầu để đối chiếu khi cần.
Kiểm tra công thức và cố định vùng tra cứu
Sau khi dữ liệu đã đồng nhất, xác nhận cột chứa giá trị cần tìm nằm bên trái vùng table_array. Nếu tra mã ở cột A để trả tên hàng ở cột B, cột A phải là cột đầu tiên trong vùng. Tham số col_index_num khi đó là 2, vì cột trả kết quả là cột thứ hai tính từ đầu vùng.
Công thức ví dụ:
=VLOOKUP(E2,$A$2:$B$100,2,FALSE)
FALSE yêu cầu khớp chính xác; dấu $ cố định vùng dữ liệu để vùng không trượt khi kéo công thức xuống các dòng khác. Trong Excel, chọn tham chiếu vùng rồi nhấn F4 để thêm dấu cố định. Sau khi sửa, thử công thức với một mã đã xác nhận có trong bảng và một mã không có trong bảng để kiểm tra cả hai tình huống.
Nếu muốn thay thông báo #N/A bằng nội dung dễ hiểu, dùng:
=IFNA(VLOOKUP(E2,$A$2:$B$100,2,FALSE),"Không tìm thấy")
Có thể thay "Không tìm thấy" bằng "" nếu muốn để trống. IFNA chỉ xử lý lỗi #N/A; IFERROR bao quát nhiều loại lỗi hơn, nên có thể che cả lỗi khác trong công thức. Theo kinh nghiệm của Chuyên Gia Mindovermetal, nên xác minh dữ liệu và vùng tra cứu trước, rồi mới bọc hàm để tránh che khuất lỗi cần sửa.

Mẹo kiểm tra và lỗi thường gặp cần tránh
Để giảm lỗi lặp lại, hãy chuẩn hóa dữ liệu trước khi tra cứu và kiểm tra riêng cấu trúc công thức. Đặc biệt, không nên coi việc công thức hết hiển thị #N/A là bằng chứng cho thấy dữ liệu đã được ghép đúng.
Những điểm nên rà soát trước khi hoàn tất
Dùng tìm kiếm chính xác cho mã định danh. Đặt tham số cuối của VLOOKUP là
FALSEhoặc0. Không dùng tìm kiếm gần đúng khi cần khớp chính xác mã sản phẩm hay khách hàng.Kiểm tra cột đầu tiên của vùng. VLOOKUP không tìm giá trị ở một cột nằm bên phải rồi trả dữ liệu từ cột bên trái. Nếu cột tra cứu không đứng đầu
table_array, hãy chọn lại vùng phù hợp.Cố định vùng trước khi kéo công thức. Tham chiếu tương đối có thể khiến vùng tra cứu dịch chuyển theo từng dòng. Kiểm tra dấu
$sau khi cố định bằng F4.Phân biệt mã với số để tính toán. Mã
00125thường cần được giữ nguyên như một mã văn bản nếu số 0 đầu có ý nghĩa. Không chuyển sang dạng số chỉ để làm cho hai cột có vẻ đồng nhất.Không lạm dụng hàm bọc lỗi. Trả về ô trống có thể giúp bảng gọn hơn nhưng cũng khiến dữ liệu thiếu khó nhận ra. Với bảng kiểm tra hoặc báo cáo đối chiếu, thông báo
"Không tìm thấy"thường dễ phát hiện hơn.Thử trên một vài trường hợp đã biết. Kiểm tra ít nhất một giá trị chắc chắn có trong nguồn và một giá trị chắc chắn không có để xác nhận công thức phản hồi đúng.

Các bước này áp dụng cho Microsoft Excel 2016, 2019, 2021, Microsoft 365 và Google Sheets. Tên lệnh hoặc cách thao tác có thể khác đôi chút giữa ứng dụng, nhưng nguyên tắc vẫn là kiểm tra giá trị khớp, kiểu dữ liệu, cột đầu vùng và chế độ tìm chính xác. Nếu thường xuyên xử lý bảng tính, có thể xem thêm các hướng dẫn Excel thực hành trên Mindovermetal để đối chiếu những lỗi công thức văn phòng khác.
Câu hỏi thường gặp
Vì sao VLOOKUP báo #N/A dù hai mã nhìn giống hệt nhau?
Hai mã có thể khác nhau ở khoảng trắng ẩn, kiểu dữ liệu hoặc ký tự không in được. Hãy kiểm tra cả giá trị tra cứu lẫn cột đầu tiên của vùng nguồn; dùng TRIM để loại bỏ khoảng trắng thừa và CLEAN khi nghi có ký tự lạ. Nếu một bên là số, bên kia là văn bản, hãy chuyển chúng về cùng kiểu trước khi kiểm tra lại.
Dùng IFNA có sửa được nguyên nhân lỗi không?
Không. IFNA chỉ thay cách hiển thị lỗi #N/A bằng một giá trị như "Không tìm thấy" hoặc chuỗi rỗng; nó không thêm bản ghi còn thiếu, sửa kiểu dữ liệu hay chỉnh vùng tra cứu. Trước khi bọc hàm, hãy xác minh mã có trong nguồn, cột mã nằm đầu vùng và công thức đang tìm chính xác bằng FALSE hoặc 0.

Có nên dùng FALSE hay TRUE ở cuối công thức VLOOKUP?
Khi tra mã sản phẩm, mã khách hàng hoặc giá trị cần khớp chính xác, nên dùng FALSE hoặc 0. TRUE cho phép tìm gần đúng và có thể trả kết quả không như mong muốn nếu dữ liệu không được sắp xếp phù hợp. Nếu công thức đang báo #N/A, kiểm tra chế độ tìm kiếm cùng dữ liệu và vùng tham chiếu trước khi thay đổi tham số.
Xem thêm
Tổng hợp phím tắt Excel hữu ích nhất cho dân kế toán
Tích hợp AI vào quy trình làm việc văn phòng 2026 hiệu quả
