#N/A nghĩa là "not available", tức không có sẵn: một hàm dò tìm như VLOOKUP, XLOOKUP hay MATCH không tìm thấy giá trị nó cần tìm. Bên dưới, =VLOOKUP(E2,A2:B6,2,FALSE) trả về #N/A vì Kiwi không có trong danh sách. Đổi E2 thành Pear thì công thức trả về 1.5.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | Price | ||
| 2 | Apple | 1.2 | Kiwi | #N/A | ||
| 3 | Pear | 1.5 | ||||
| 4 | Plum | 0.8 | ||||
| 5 | Bread | 2.4 | ||||
| 6 | Milk | 1.1 |
#N/A Giá trị bạn tìm không có trong vùng tra cứu.Khi giá trị thật sự không có, #N/A là câu trả lời đúng, và IFNA (ở phần dưới) biến nó thành một thông báo. Những trường hợp đáng sửa là khi giá trị có trong bảng mà phép dò tìm vẫn thất bại. Excel ở một số ngôn ngữ hiện lỗi này dưới tên riêng, như #NV trong tiếng Đức, #N/D trong tiếng Bồ Đào Nha và tiếng Ý, #Н/Д trong tiếng Nga và #YOK trong tiếng Thổ Nhĩ Kỳ; tất cả đều là cùng một lỗi.
Lỗi #N/A sau khi kéo công thức dò tìm xuống
Nguyên nhân phổ biến nhất trên các trang tính thực tế: công thức chạy đúng ở hàng đầu, nhưng vài hàng bên dưới hiện #N/A dù sản phẩm có trong danh sách.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Order | Price | ||
| 2 | Apple | 1.2 | Apple | 1.2 | ||
| 3 | Pear | 1.5 | Plum | 0.8 | ||
| 4 | Plum | 0.8 | Pear | #N/A | ||
| 5 | Bread | 2.4 | Milk | 1.1 | ||
| 6 | Milk | 1.1 | Apple | #N/A |
#N/A Giá trị bạn tìm không có trong vùng tra cứu.Bấm vào F4: vùng bảng của nó là A4:B8, thấp hơn của F2 hai hàng. Kéo công thức xuống đã kéo theo cả vùng, nên Pear (hàng 3) và Apple (hàng 2) rơi ra ngoài. F3 và F5 chạy được chỉ vì Plum và Milk vẫn còn trong vùng của chúng. Bấm vào F2 và đổi vùng thành $A$2:$B$6: cả cột cập nhật theo và mọi giá đều hiện ra. Các dấu $ khóa vùng lại, xem tham chiếu tuyệt đối.
Lỗi #N/A do khoảng trắng thừa
Với Excel, "Pear " có khoảng trắng ở cuối và "Pear" là hai giá trị khác nhau. Khoảng trắng đến từ dữ liệu gõ tay, sao chép từ trang web hay xuất từ hệ thống khác, và bạn không thể nhìn thấy chúng trong ô.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | Price | Length of A2 | |
| 2 | Pear | 1.5 | Pear | #N/A | 5 | |
| 3 | Apple | 1.2 | ||||
| 4 | Plum | 0.8 |
#N/A Giá trị bạn tìm không có trong vùng tra cứu.E2 trả về #N/A. F2 cho thấy nguyên nhân: Pear có 4 chữ cái, nhưng A2 dài 5 ký tự. Xóa khoảng trắng trong A2 là phép dò tìm chạy được. Ba cách sửa dứt điểm:
- Làm sạch cột: đặt
=TRIM(A2)vào một cột phụ, kéo xuống, rồi sao chép và dùng Home > Paste > Values dán đè lên dữ liệu gốc. - Cắt khoảng trắng ở giá trị cần tìm khi khoảng trắng nằm trong những gì bạn gõ:
=VLOOKUP(TRIM(D2),A2:B4,2,FALSE). - Cắt khoảng trắng cho cả cột dò tìm ngay trong công thức (Excel 2021 hoặc Microsoft 365):
=XLOOKUP(D2,TRIM(A2:A4),B2:B4).
Văn bản dán từ trang web có thể chứa khoảng trắng không ngắt (non-breaking space), loại mà TRIM không xóa được. Trang TRIM hướng dẫn cách thay nó bằng SUBSTITUTE(A2,CHAR(160)," ").
Lỗi #N/A khi giá trị không nằm ở cột đầu tiên
VLOOKUP chỉ tìm trong cột đầu tiên của vùng và trả về một cột nằm bên phải cột đó. Dò tìm một giá trị từ bất kỳ cột nào khác đều trả về #N/A, kể cả khi giá trị có trong bảng.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Code | Price | Code | VLOOKUP | XLOOKUP | |
| 2 | Apple | A-17 | 1.2 | P-22 | #N/A | Pear | |
| 3 | Pear | P-22 | 1.5 | ||||
| 4 | Plum | P-31 | 0.8 | ||||
| 5 | Bread | B-05 | 2.4 | ||||
| 6 | Milk | M-40 | 1.1 |
#N/A Giá trị bạn tìm không có trong vùng tra cứu.Các mã nằm ở cột B, nên VLOOKUP trên A2:C6 đi tìm P-22 trong các tên sản phẩm và thất bại. Hàm cũng không thể trả về tên sản phẩm, vốn nằm trước cột mã. XLOOKUP nhận riêng cột dò tìm và cột trả về nên tìm được Pear. Trong Excel 2019 trở về trước, =INDEX(A2:A6,MATCH(E2,B2:B6,0)) làm được điều tương tự.
Lỗi #N/A do số lưu dạng văn bản
Một số đơn hàng được gõ dưới dạng văn bản ('1001, hoặc nhập từ tệp CSV) sẽ không bao giờ khớp với số 1001, và ngược lại. Cả hai ô đều hiện 1001, nên lỗi này khó nhận ra. Trong Excel:
A2:B6 holds order numbers stored as text, E2 holds the number 1001
=VLOOKUP(E2,A2:B6,2,FALSE) #N/A
=VLOOKUP(E2&"",A2:B6,2,FALSE) found: E2&"" turns the number into text
A2:B6 holds real numbers, E2 holds "1001" as text
=VLOOKUP(E2,A2:B6,2,FALSE) #N/A
=VLOOKUP(--E2,A2:B6,2,FALSE) found: -- turns the text into a number
=ISTEXT(A2) cho biết bên nào là văn bản, và một hình tam giác nhỏ màu xanh lá ở góc ô đánh dấu số đang lưu dạng văn bản. Để chuyển đổi cả một cột, xem chuyển văn bản thành số.
IFNA hay IFERROR: hiện thông báo khi không tìm thấy
Khi một giá trị có thể vắng mặt một cách hợp lệ, hãy hiện thứ gì đó hữu ích hơn #N/A. Dùng IFNA chứ không dùng IFERROR:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | IFNA | IFERROR | ||
| 2 | Apple | 1.2 | Pear | #REF! | Not found | ||
| 3 | Pear | 1.5 | |||||
| 4 | Plum | 0.8 | |||||
| 5 | Bread | 2.4 | |||||
| 6 | Milk | 1.1 |
#REF! Công thức tham chiếu đến một ô không tồn tại.Cả hai công thức đều lấy cột 3 của một vùng chỉ có hai cột, đây là một lỗi. IFNA để #REF! lọt qua, nên bạn thấy được bug. IFERROR thì che nó đi và báo "Not found" cho Pear, dù Pear có trong danh sách. Đổi cả hai số 3 thành 2: giờ mỗi ô hiện 1.5, và khi đặt E2 là Kiwi thì mỗi ô hiện "Not found". XLOOKUP có sẵn chỗ cho thông báo: =XLOOKUP(E2,A2:A6,B2:B6,"Not found"). Xem thêm về sự khác biệt ở IFERROR.
Sửa phép dò tìm bị hỏng vì khoảng trắng
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Price | Look for | Price | ||
| 2 | Apple | 1.2 | Plum | |||
| 3 | Pear | 1.5 | ||||
| 4 | Plum | 0.8 | ||||
| 5 | Bread | 2.4 | ||||
| 6 | Milk | 1.1 |
Đến lượt bạn: Mọi sản phẩm trong danh sách đều được nhập kèm một khoảng trắng ở cuối, nên =VLOOKUP(E2,A2:B6,2,FALSE) trả về #N/A. Viết một công thức trong F2 vẫn trả về được giá của sản phẩm ở E2.
=XLOOKUP(E2,TRIM(A2:A6),B2:B6) cắt khoảng trắng của danh sách ngay trong công thức. =VLOOKUP(E2&" ",A2:B6,2,FALSE) cũng chạy được ở đây, nhưng chỉ khi mọi sản phẩm có đúng một khoảng trắng ở cuối; làm sạch cột bằng TRIM mới là cách sửa lâu dài.
Câu hỏi thường gặp
Lỗi #N/A trong Excel nghĩa là gì?
N/A là viết tắt của "not available", tức là không có sẵn. Lỗi này cho biết một hàm dò tìm (VLOOKUP, HLOOKUP, XLOOKUP, MATCH, XMATCH) không tìm thấy giá trị được đưa vào. =NA() cũng cố ý trả về lỗi này, ví dụ để biểu đồ bỏ qua một điểm thay vì vẽ nó bằng 0.
Vì sao VLOOKUP trả về #N/A dù giá trị có trong bảng?
Hai giá trị không giống hệt nhau. Lý do thường gặp: một khoảng trắng thừa ở cuối một trong hai giá trị, một bên là số lưu dạng văn bản còn bên kia là số, hoặc vùng bảng thiếu $ nên bị trượt xuống khi kéo công thức, khiến hàng chứa giá trị không còn nằm trong vùng.
Vì sao VLOOKUP trả về #N/A ở một số hàng nhưng hàng khác thì không?
Vùng bảng chưa được khóa trước khi kéo công thức xuống, nên ở mỗi hàng nó bắt đầu thấp hơn một hàng: A2:B6 ở hàng đầu tiên thành A4:B8 sau hai hàng, và các giá trị nằm phía trên vùng không còn được tìm thấy. Khóa vùng bằng $: =VLOOKUP(E2,$A$2:$B$6,2,FALSE).
Vì sao XLOOKUP trả về #N/A?
Giá trị không có trong mảng dò tìm, hoặc khác đi vì một khoảng trắng hay vì là văn bản thay vì số. XLOOKUP mặc định khớp chính xác, nên giá trị gần giống cũng không được chấp nhận. Đối số thứ tư của hàm thay thế lỗi: =XLOOKUP(E2,A2:A6,B2:B6,"Not found").
Vì sao MATCH trả về #N/A?
Với kiểu khớp 0, giá trị không có trong vùng, giống hệt VLOOKUP. Với kiểu khớp 1 hoặc bỏ trống, vùng phải được xếp tăng dần và giá trị không được nhỏ hơn mục đầu tiên; dùng =MATCH(E2,A2:A6,0) để khớp chính xác.