Mục lục
Bạn gặp nhiều lỗi #N/A trong trang tính của mình và tò mò muốn biết liệu có cách nào để hiển thị văn bản tùy chỉnh thay thế không? Công thức IFNA chính là giải pháp bạn cần.
Khi một công thức Excel không thể xác định hoặc tìm thấy thứ gì đó, nó sẽ đưa ra lỗi #N/A. Để bắt một lỗi như vậy và thay thế nó bằng một thông báo thân thiện với người dùng, bạn có thể sử dụng hàm IFNA. Nói cách khác, #N/A là cách Excel nói rằng giá trị bạn đang tìm kiếm không có trong tập dữ liệu được tham chiếu. IFNA là cách bạn bẫy và xử lý lỗi đó.
Hàm IFNA trong Excel
Hàm IFNA trong Excel được dùng để phát hiện và xử lý lỗi #N/A. Nếu một công thức đánh giá là #N/A, thì IFNA sẽ loại bỏ lỗi đó và thay thế nó bằng một giá trị tùy chỉnh mà bạn chỉ định; mặt khác trả về kết quả bình thường của công thức.
Cú pháp IFNA
Cú pháp của hàm IFNA như sau:
IFNA(giá trị, value_if_na)Ở đâu:
Giá trị (bắt buộc) - công thức, giá trị hoặc tham chiếu để kiểm tra lỗi #N/A.
Value_if_na (bắt buộc) - giá trị để trả về nếu phát hiện thấy lỗi #N/A.
Lưu ý sử dụng
- Hàm IFNA chỉ xử lý lỗi #N/A mà không loại bỏ bất kỳ lỗi nào khác.
- Nếu đối số giá trị là một công thức mảng , thì IFNA trả về một mảng kết quả, mỗi kết quả một ô, như minh họa trong ví dụ này.
Tính khả dụng của IFNA
Chức năng IFNA được giới thiệu trongExcel 2013 và có sẵn trong tất cả các phiên bản tiếp theo bao gồm Excel 2016, Excel 2019, Excel 2021 và Microsoft 365.
Trong các phiên bản cũ hơn, bạn có thể phát hiện lỗi #N/A bằng cách sử dụng hàm IF và ISNA cùng nhau.
Cách sử dụng hàm IFNA trong Excel
Để sử dụng hàm IFNA trong Excel một cách hiệu quả, hãy làm theo phương pháp chung sau:
- Trong đối số đầu tiên ( giá trị ), hãy đặt một công thức bị ảnh hưởng bởi lỗi #N/A.
- Trong đối số thứ hai ( value_if_na ), hãy nhập văn bản bạn muốn trả về thay vì ký hiệu lỗi tiêu chuẩn. Để trả về một ô trống khi không tìm thấy gì, hãy cung cấp một chuỗi trống ('"").
Để trả về văn bản tùy chỉnh , công thức chung là:
IFNA( công thức(), " văn bản tùy chỉnh")Để trả về ô trống , công thức chung là:
IFNA( công thức(), "")Hãy xem cách nó hoạt động trên một ví dụ đơn giản. Trong bảng bên dưới, giả sử bạn muốn biết điểm của một học sinh nhất định được xếp hạng như thế nào so với những học sinh khác. Vì dữ liệu được sắp xếp theo cột Điểm từ cao nhất xuống thấp nhất nên thứ hạng sẽ khớp với vị trí tương đối của học sinh trong bảng. Và để có được vị trí, bạn có thể sử dụng hàm MATCH ở dạng đơn giản nhất:
=MATCH(E1, A2:A10, 0)
Vì giá trị tra cứu (Neal) không có sẵn trong mảng tra cứu (A2:A10), xảy ra lỗi #N/A.
Khi gặp phải lỗi này, người dùng thiếu kinh nghiệm có thể nghĩ rằng có điều gì đó không ổn vớicông thức và bạn với tư cách là người tạo sổ làm việc sẽ nhận được rất nhiều câu hỏi. Để tránh điều này, bạn có thể chỉ ra rõ ràng rằng công thức là chính xác, chỉ là nó không thể tìm thấy giá trị mà nó được yêu cầu tìm kiếm. Vì vậy, bạn lồng công thức MATCH vào đối số đầu tiên của IFNA và trong đối số thứ hai, nhập văn bản tùy chỉnh của bạn, "Không tìm thấy" trong trường hợp của chúng tôi:
=IFNA(MATCH(E1, A2:A10, 0), "Not found")
Bây giờ, thay vì ký hiệu lỗi tiêu chuẩn, văn bản của riêng bạn được hiển thị trong một ô, thông báo cho người dùng rằng giá trị tra cứu không có trong tập dữ liệu:
Cách sử dụng IFNA với VLOOKUP
Lỗi #N/A thường xảy ra nhất trong các hàm tìm kiếm thứ gì đó như VLOOKUP, HLOOKUP, LOOKUP và MATCH. Các ví dụ dưới đây đề cập đến một vài trường hợp sử dụng điển hình.
Ví dụ 1. Công thức VLOOKUP IFNA cơ bản
Để bẫy lỗi #N/A xảy ra khi VLOOKUP không thể tìm thấy kết quả khớp, hãy kiểm tra kết quả của nó sử dụng IFNA và chỉ định giá trị sẽ được hiển thị thay vì lỗi. Thực tiễn phổ biến là bọc hàm IFNA xung quanh công thức VLOOKUP hiện tại của bạn bằng cú pháp sau:
IFNA(VLOOKUP(), " your text")Trong bảng mẫu của chúng tôi, giả sử bạn muốn lấy điểm của một học sinh cụ thể (E1). Đối với điều này, bạn đang sử dụng công thức VLOOKUP cổ điển này:
=VLOOKUP(E1, A2:B10, 2, FALSE)
Vấn đề là Neal đã không tham gia kỳ thi, do đó tên của anh ấy không có trong danh sách và rõ ràng là VLOOKUP không tìm thấy trùng khớp.
Để ẩn lỗi, chúng tôigói VLOOKUP trong IFNA như thế này:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
Bây giờ, kết quả trông không quá đáng sợ đối với người dùng và có nhiều thông tin hơn:
Ví dụ 2. Hàm IFNA VLOOKUP để tra cứu trên nhiều trang tính
Hàm IFNA cũng có ích để thực hiện cái gọi là tra cứu tuần tự hoặc liên kết trên nhiều trang tính hoặc sổ làm việc khác nhau. Ý tưởng là bạn lồng một vài công thức IFNA(VLOOKUP(…)) khác nhau vào một công thức khác theo cách này:
IFNA(VLOOKUP(…), IFNA(VLOOKUP(…), IFNA(VLOOKUP(…), "Không phải found")))Nếu VLOOKUP chính không tìm thấy gì, thì hàm IFNA của nó sẽ chạy VLOOKUP tiếp theo cho đến khi tìm thấy giá trị mong muốn. Nếu tất cả các tra cứu không thành công, công thức sẽ trả về văn bản đã chỉ định.
Giả sử bạn có điểm của các lớp khác nhau được liệt kê trong các trang khác nhau (có tên là Lớp A , Lớp B và Lớp C ). Mục tiêu của bạn là lấy điểm của một học sinh cụ thể, có tên được nhập vào ô B1 trong trang tính hiện tại của bạn. Để hoàn thành nhiệm vụ, hãy sử dụng công thức sau:
=IFNA(VLOOKUP(B1, 'Class A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class C'!A2:B5, 2, FALSE), "Not found")))
Công thức tìm kiếm tên được chỉ định theo trình tự trong ba trang tính khác nhau theo thứ tự các hàm VLOOKUP được lồng vào nhau và mang lại kết quả tìm thấy đầu tiên:
Ví dụ 3. IFNA với INDEX MATCH
Theo cách tương tự, IFNA có thể bắt lỗi #N/A do các hàm tra cứu khác tạo ra. Ví dụ, hãy sử dụng nó cùng với INDEX MATCHcông thức:
=IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Not found")
Ý chính của công thức giống như trong tất cả các ví dụ trước - INDEX MATCH thực hiện tra cứu và IFNA đánh giá kết quả và phát hiện lỗi #N/A nếu không tìm thấy giá trị được tham chiếu.
IFNA để trả về nhiều kết quả
Trong trường hợp hàm bên trong (tức là công thức được đặt trong giá trị đối số) trả về nhiều giá trị, IFNA sẽ kiểm tra từng giá trị được trả về riêng lẻ và xuất ra một mảng kết quả. Ví dụ:
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Not found")
Trong Dynamic Array Excel (Microsoft 365 và Excel 2021), một công thức thông thường trong ô trên cùng (E2) sẽ tự động hiển thị tất cả kết quả trong các ô lân cận (về mặt của Excel, nó được gọi là phạm vi tràn).
Trong các phiên bản tiền động (Excel 2019 trở xuống), bạn có thể đạt được hiệu ứng tương tự bằng cách sử dụng mảng nhiều ô hoàn thành công thức bằng phím tắt Ctrl + Shift + Enter.
Sự khác biệt giữa IFNA và IFERROR là gì?
Tùy thuộc vào nguyên nhân gốc rễ của sự cố vấn đề, một công thức Excel có thể gây ra các lỗi khác nhau, chẳng hạn như #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM và các lỗi khác. Hàm IFERROR phát hiện tất cả các lỗi đó trong khi IFNA chỉ giới hạn ở lỗi #N/A. Cái nào tốt hơn để chọn? Điều đó tùy thuộc vào tình huống.
Nếu bạn muốn loại bỏ bất kỳ loại lỗi nào , thì hãy sử dụng hàm IFERROR. Nó đặc biệt hữu ích trong các phép tính phức tạp khi một công thứcbao gồm một số hàm có thể tạo ra các lỗi khác nhau.
Với chức năng tra cứu , bạn nên sử dụng IFNA vì nó chỉ hiển thị kết quả tùy chỉnh khi không tìm thấy giá trị tra cứu và không ẩn bên dưới vấn đề với chính công thức đó.
Để minh họa sự khác biệt, hãy sử dụng lại công thức IFNA VLOOKUP cơ bản của chúng ta và "vô tình" viết sai tên hàm (VLOKUP thay vì VLOOKUP).
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
IFNA không khắc phục lỗi này, vì vậy bạn có thể thấy rõ rằng có điều gì đó không ổn với một trong các tên hàm:
Bây giờ, hãy xem điều gì sẽ xảy ra nếu bạn sử dụng IFERROR:
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
Hmm… nó nói rằng Olivia đã không tham gia kỳ thi, điều đó là không đúng! Điều này là do hàm IFERROR bẫy lỗi #NAME? lỗi và thay vào đó trả về văn bản tùy chỉnh. Trong tình huống này, nó không chỉ trả về thông tin sai mà còn che khuất vấn đề với công thức.
Đó là cách sử dụng công thức IFNA trong Excel. Tôi cảm ơn bạn đã đọc và mong được gặp bạn trên blog của chúng tôi vào tuần tới!
Các bản tải xuống hiện có
Ví dụ về công thức Excel IFNA (tệp .xlsx)