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
valueCông thức cần kiểm tra, ví dụ một hàm VLOOKUP
value_if_error / value_if_naGiá 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ỗiThường báo hiệuCó nên giấu?
#N/AKhô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ỏngKhông, phải sửa công thức
#NAME?Gõ sai tên hàm, thiếu ngoặc képKhông
#VALUE!Sai kiểu dữ liệu, số dạng văn bảnKhông, nên làm sạch dữ liệu
Cảnh báoVới bảng lương, công nợ, IFERROR(…, 0) có thể biến một mã nhân viên gõ sai thành lương 0 đồng mà không ai để ý. Hãy dùng IFNA với thông báo dễ thấy như “KIỂM TRA MÔ, rồi dùng định dạng có điều kiện tô đỏ các ô này.

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.

Zalo