Menu

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

Hoạt Hải Nhã 08/06/2026 15:47 280 lượt xem 2 trả lời

Chào mọi người, dạo gần đây mình có làm việc với một file excel khá lớn, cần trích xuất thông tin dựa trên nhiều điều kiện. Mình đã thử dùng VLOOKUP nhưng gặp phải hạn chế về việc chỉ dò tìm theo cột đầu tiên. Sau đó, mình chuyển sang dùng cặp hàm INDEXMATCH, và nó thực sự mạnh mẽ hơn nhiều!

Tuy nhiên, trong quá trình sử dụng, mình cũng gặp phải lỗi #N/A khi hàm MATCH không tìm thấy giá trị dò tìm trong mảng. Lỗi này khá phổ biến khi dữ liệu nguồn có thể bị thay đổi, thêm bớt hoặc đơn giản là không có sự khớp hoàn toàn.

Thay vì chỉ nhận về lỗi #N/A và bó tay, mình đã tìm hiểu và áp dụng cách xử lý nó một cách gọn gàng bằng hàm IFERROR. Cách này giúp trả về một giá trị tùy chỉnh (ví dụ: "Không tìm thấy", "Trống", hoặc 0) thay vì hiển thị lỗi khó chịu.

Cú pháp cơ bản mà mình hay dùng là:

=IFERROR(INDEX(vùng_trả_về, MATCH(giá_trị_tìm, vùng_tìm, 0)), "Thông báo khi lỗi")

Trong đó:

  • vùng_trả_về: Là mảng chứa các giá trị bạn muốn lấy ra.
  • giá_trị_tìm: Giá trị bạn muốn dò tìm.
  • vùng_tìm: Mảng chứa giá trị tìm kiếm. Số 0 ở cuối để đảm bảo dò tìm chính xác tuyệt đối.
  • "Thông báo khi lỗi": Chuỗi văn bản hoặc giá trị bạn muốn hiển thị nếu hàm MATCH không tìm thấy kết quả.

Ví dụ cụ thể, nếu bạn muốn tìm tên sản phẩm dựa trên mã sản phẩm trong một danh sách:

=IFERROR(INDEX(B2:B100, MATCH(E2, A2:A100, 0)), "Mã SP không tồn tại")

Với cách này, file của mình trông chuyên nghiệp hơn hẳn và dễ dàng cho người khác đọc hiểu. Không biết mọi người còn cách nào hay hơn để xử lý lỗi #N/A với INDEX/MATCH không? Chia sẻ cho mình với nhé!

5

Chào bạn,

Cảm ơn bạn đã chia sẻ kinh nghiệm về cặp hàm INDEX và MATCH. Đúng là VLOOKUP có nhiều hạn chế, còn INDEX-MATCH thì linh hoạt hơn hẳn.

Về lỗi #N/A khi MATCH không tìm thấy giá trị, ngoài việc kiểm tra lại dữ liệu nguồn và giá trị dò tìm, bạn có thể cân nhắc kết hợp thêm hàm IFERROR để xử lý lỗi một cách gọn gàng hơn. Ví dụ:

``excel =IFERROR(INDEX(mảng_kết_quả, MATCH(giá_trị_dò_tìm, mảng_dò_tìm, 0)), "Không tìm thấy") ``

Cách này giúp file của bạn hiển thị thân thiện hơn, thay vì các ô báo lỗi #N/A khó chịu.

Chúc bạn làm việc hiệu quả với Excel!

1

Mình thấy bạn đã nắm rất chắc cặp đôi INDEX-MATCH rồi đấy! Đúng là nó linh hoạt hơn VLOOKUP nhiều, nhất là khi cần dò tìm theo nhiều cột hoặc dò tìm từ phải sang trái.

Về lỗi #N/A khi MATCH không tìm thấy, ngoài việc kiểm tra kỹ dữ liệu nguồn và giá trị dò tìm xem có khớp hoàn toàn (bao gồm cả khoảng trắng thừa hay ký tự đặc biệt không), bạn đã nghĩ đến việc sử dụng wildcard () trong hàm MATCH chưa? Đôi khi, nếu mình chỉ cần dò tìm một phần của chuỗi thì wildcard sẽ rất hữu ích.

Ví dụ, nếu bạn muốn tìm "ABC" trong mảng mà có "ABCDEFG", bạn có thể thử: ``excel =MATCH("ABC", mảng_dò_tìm, 0) ` Hoặc nếu bạn muốn tìm "XYZ" mà có "123XYZ456": `excel =MATCH("XYZ", mảng_dò_tìm, 0) `` Tất nhiên, cách này chỉ áp dụng khi bạn thực sự muốn tìm một phần của chuỗi thôi nhé. Còn nếu muốn khớp chính xác thì vẫn cần đảm bảo dữ liệu hai bên là y hệt.

Bạn có thể chia sẻ thêm về trường hợp cụ thể mà bạn gặp lỗi #N/A không? Biết đâu mình có thể cùng nhau tìm ra giải pháp hay hơn nữa!

4

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

Đăng nhập Đăng ký