IFERROR
LogicPhổ biếnExcel 2007, 365
IFERROR(giá_trị, giá_trị_nếu_lỗi)Công thức chạy ra lỗi thì trả về giá trị thay thế, không thì trả về kết quả bình thường. Dùng để bảng in ra không đầy #N/A và #DIV/0!.
Các đối số
| Đối số | Bắt buộc? | Ý nghĩa |
|---|---|---|
| giá_trị | Bắt buộc | Công thức cần bọc. |
| giá_trị_nếu_lỗi | Bắt buộc | Trả về gì khi lỗi. Cột để ĐỌC thì dùng chữ; cột để TÍNH thì dùng số 0. |
Ví dụ
=IFERROR(D2/C2, 0)Chia cho 0 thì ra 0 thay vì #DIV/0!, cột vẫn cộng được
Kết quả: 0
=IFERROR(VLOOKUP(B2, DanhMuc, 2, 0), "Chưa có")Bảng gửi ra ngoài không hiện lỗi
Kết quả: Chưa có
Lưu ý khi dùng
- Bắt MỌI loại lỗi, kể cả #REF! do xoá cột và #NAME? do gõ sai tên hàm — tức là giấu luôn lỗi của chính mình.
- Ô kiểm tra thì TUYỆT ĐỐI không bọc IFERROR: đó là chỗ duy nhất trong file được phép hiện lỗi to đùng.
Bẫy hay dính
Bọc IFERROR ngay từ lúc mới viết công thức là tự bịt mắt: vùng dò sai, số thứ tự cột sai, tên vùng bị xoá — tất cả đều biến thành "Chưa có" trông rất bình thường. Viết xong cho chạy trần cho lỗi lộ ra hết, sửa sạch rồi mới bọc.
Chọn cái nào
IFERROR hay IFNA
IFERROR nuốt MỌI lỗi, kể cả lỗi do mình viết sai công thức — dữ liệu ra sai mà không ai biết. Dò tìm thì dùng IFNA để chỉ giấu #N/A, các lỗi khác vẫn lộ ra mà sửa.
=IFNA(VLOOKUP(B2, DanhMuc, 2, 0), "Chưa có")