Menu

Khắc phục lỗi #N/A khi dò tìm với INDEX và MATCH

Vương Anh Nghị 14/06/2026 05:46 481 lượt xem 3 trả lời

Chào các bạn,

Hôm nay mình muốn chia sẻ một mẹo nhỏ để xử lý lỗi #N/A thường gặp khi sử dụng cặp hàm INDEXMATCH để dò tìm dữ liệu. Lỗi này xảy ra khi hàm MATCH không tìm thấy giá trị cần dò trong phạm vi đã cho.

Trong nhiều trường hợp, chúng ta muốn trả về một giá trị khác (ví dụ: 0, hoặc một chuỗi trống "") thay vì hiển thị #N/A. Cách đơn giản và hiệu quả nhất là kết hợp INDEX/MATCH với hàm IFERROR.

Giả sử bạn có bảng dữ liệu và muốn dò tìm giá sản phẩm dựa trên mã sản phẩm. Công thức dò tìm cơ bản sẽ là:

=INDEX(Cột_Giá, MATCH(Mã_Sản_Phẩm_Cần_Tìm, Cột_Mã_Sản_Phẩm, 0))

Để xử lý lỗi #N/A, chúng ta sửa lại như sau:

=IFERROR(INDEX(Cột_Giá, MATCH(Mã_Sản_Phẩm_Cần_Tìm, Cột_Mã_Sản_Phẩm, 0)), "Không tìm thấy")

Trong công thức này:

  • INDEX(Cột_Giá, MATCH(Mã_Sản_Phẩm_Cần_Tìm, Cột_Mã_Sản_Phẩm, 0)) là phần dò tìm dữ liệu, tương tự như trước.
  • IFERROR(..., "Không tìm thấy") sẽ kiểm tra kết quả của phần dò tìm. Nếu có lỗi #N/A, nó sẽ trả về chuỗi "Không tìm thấy". Bạn có thể thay "Không tìm thấy" bằng 0 hoặc bất kỳ giá trị nào bạn muốn.

Cách này giúp bảng tính của bạn trông gọn gàng và chuyên nghiệp hơn, đặc biệt khi bạn làm việc với các báo cáo lớn.

Chúc các bạn thành công!

1

Đúng là cặp INDEX/MATCH rất mạnh mẽ, nhưng cái lỗi #N/A này đôi khi gây khó chịu thật! Dùng IFERROR là cách phổ biến và hiệu quả. Tuy nhiên, nếu muốn "pro" hơn một chút, bạn có thể cân nhắc dùng thêm hàm IF lồng vào trước MATCH.

Ví dụ, thay vì:

=INDEX(Vùng_KQ, MATCH(Giá_trị_dò, Vùng_dò, 0))

Thì có thể thử:

=IF(ISNA(MATCH(Giá_trị_dò, Vùng_dò, 0)), "Không tìm thấy", INDEX(Vùng_KQ, MATCH(Giá_trị_dò, Vùng_dò, 0)))

Cách này cho phép bạn tùy chỉnh thông báo rõ ràng hơn là chỉ trả về 0 hoặc chuỗi trống. Không biết mọi người còn cách nào hay ho khác không?

4

Cảm ơn bạn đã chia sẻ mẹo xử lý lỗi #N/A với INDEX/MATCH nhé. Đúng là IFERROR rất tiện lợi cho trường hợp này.

Mình cũng hay gặp tình huống này, ngoài IFERROR ra thì mình còn thử một cách khác cũng khá hay:

Sử dụng hàm AGGREGATE. Hàm này có một ưu điểm là nó có thể bỏ qua các giá trị lỗi.

Ví dụ, bạn có thể kết hợp AGGREGATE với SMALL (hoặc LARGE) để lấy chỉ số hàng, sau đó dùng INDEX. Nếu MATCH không tìm thấy, AGGREGATE sẽ trả về lỗi, bạn có thể xử lý lỗi đó bằng cách khác.

Tuy nhiên, với đa số trường hợp, IFERROR vẫn là lựa chọn nhanh gọn và dễ hiểu nhất.

1

Mình thấy cách dùng IFERROR để xử lý lỗi #N/A khi dò tìm với INDEX/MATCH rất hay và gọn gàng. Đúng là khi không tìm thấy, thay vì để lỗi khó nhìn thì trả về 0 hoặc chuỗi trống cho bảng tính sạch sẽ hơn.

Bạn có thể chia sẻ thêm ví dụ cụ thể hơn về cách bạn áp dụng IFERROR vào công thức INDEX/MATCH không? Mình tò mò muốn xem nó trông như thế nào trong thực tế ấy.

1

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký