Hàm IFERROR, IFNA trong Excel: ẩn lỗi #N/A khi VLOOKUP
Cách dùng hàm IFERROR và IFNA để thay lỗi #N/A, #DIV/0! bằng ô trống hoặc thông báo dễ hiểu, kết hợp VLOOKUP, và khi nào không nên giấu lỗi.
Bảng tính đầy #N/A, #DIV/0! trông thiếu chuyên nghiệp và làm hỏng các phép cộng phía sau. IFERROR thay mọi loại lỗi bằng giá trị bạn chọn; IFNA chỉ bắt lỗi #N/A (không tìm thấy) và để nguyên các lỗi khác, an toàn hơn khi tra cứu.
Cú pháp
=IFERROR(value, value_if_error)
=IFNA(value, value_if_na)
| Đối số | Ý nghĩa |
|---|---|
value | Công thức cần kiểm tra, ví dụ một hàm VLOOKUP |
value_if_error / value_if_na | Giá trị hiển thị khi có lỗi: "" (ô trống), 0, hoặc chữ như "Không tìm thấy" |
IFERROR có từ Excel 2007, IFNA có từ Excel 2013; cả hai có trong Microsoft 365 và Google Sheets. Máy đặt vùng Việt Nam dùng dấu ;.
Ẩn lỗi #N/A khi VLOOKUP
Tra đơn giá theo mã hàng, mã chưa có trong bảng giá thì hiện “Chưa có giá”:
=IFNA(VLOOKUP(A2, BangGia!$A$2:$C$500, 3, 0), "Chưa có giá")
Hoặc dùng IFERROR nếu bạn dùng Excel 2010:
=IFERROR(VLOOKUP(A2, BangGia!$A$2:$C$500, 3, 0), "")
Trên Microsoft 365, XLOOKUP có sẵn đối số if_not_found nên không cần bọc thêm: =XLOOKUP(A2, BangGia!A:A, BangGia!C:C, "Chưa có giá"). Chi tiết cách tra cứu xem hàm VLOOKUP.
Các ví dụ khác
Tránh lỗi chia cho 0
Tính tỷ lệ hoàn thành kế hoạch khi có nhân viên chưa được giao chỉ tiêu (C2 = 0):
=IFERROR(B2/C2, "")
Cách rõ ràng hơn là kiểm tra điều kiện trước: =IF(C2=0, "", B2/C2). Xem thêm cách tính phần trăm ở bài công thức tính phần trăm.
Trả về 0 để cộng tổng được
Nếu cột kết quả còn dùng để cộng, trả về 0 thay vì chữ, vì =SUM bỏ qua chữ nhưng phép + gặp chữ sẽ báo #VALUE!:
=IFNA(VLOOKUP(A2, $F$2:$G$100, 2, 0), 0)
Tra ở bảng thứ hai nếu bảng đầu không có
=IFNA(VLOOKUP(A2, HangCu!$A:$C, 3, 0), VLOOKUP(A2, HangMoi!$A:$C, 3, 0))
Khi nào không nên giấu lỗi?
Lỗi là tín hiệu có gì đó sai. Bọc IFERROR khắp nơi giống như tháo đèn cảnh báo trên xe.
| Lỗi | Thường báo hiệu | Có nên giấu? |
|---|---|---|
#N/A | Không tìm thấy giá trị | Được, nếu “không có” là chuyện bình thường. Nên dùng IFNA |
#DIV/0! | Mẫu số bằng 0 hoặc trống | Được, nhưng nên dùng IF kiểm tra rõ ràng |
#REF! | Tham chiếu bị xoá, công thức hỏng | Không, phải sửa công thức |
#NAME? | Gõ sai tên hàm, thiếu ngoặc kép | Không |
#VALUE! | Sai kiểu dữ liệu, số dạng văn bản | Không, nên làm sạch dữ liệu |
Muốn hiểu nguyên nhân từng loại lỗi và cách sửa tận gốc, đọc bài lỗi công thức Excel thường gặp.
Google Sheets
Google Sheets hỗ trợ cả IFERROR và IFNA. Điểm khác nhỏ: trong Sheets, đối số thứ hai của IFERROR có thể bỏ trống, khi đó ô lỗi hiện trống.