엑셀 IFERROR
수식이 오류일 때 대체값으로 바꿔 결과를 깔끔하게 — #DIV/0!·#N/A·#VALUE! 모두 한 번에
IFERROR 수식 구조
수식 (value)
평가할 수식. 셀 참조, VLOOKUP, 나눗셈, 다른 함수 호출 등 어떤 식이든 가능
대체값 (value_if_error)
수식이 오류일 때 반환할 값. 숫자 0, 빈 문자열 "", 텍스트 "없음" 등 자유
직접 체험해보세요
3가지 시나리오에서 입력값을 바꿔보면 IFERROR가 오류를 어떻게 대체값으로 바꿔주는지 좌우 비교로 확인할 수 있습니다
IFERROR 없이
⚠️
#DIV/0!
오류 노출
IFERROR 적용
🛡️
0
대체값 사용
실전 활용 예제
=IFERROR(VLOOKUP(A2, 표, 2, 0), "찾을 수 없음")VLOOKUP 실패 처리 — 검색 키가 표에 없을 때 #N/A 대신 친절한 메시지. 사용자 보고서에 가장 흔한 패턴.
=IFERROR(B2/C2, 0)0으로 나누기 방지 — C열이 0이거나 빈 셀일 때 0 반환. 후속 SUM·AVERAGE 계산이 깨지지 않도록 데이터 전처리에 필수.
=IFERROR(VALUE(A2), "")텍스트→숫자 변환 — VALUE는 숫자로 못 바꾸면 #VALUE! 오류. 빈 문자열로 받아서 SUM 계산에서 자연스럽게 제외되게 함.
다른 엑셀 함수도 알아보세요
엑셀 오류 7종 — IFERROR가 잡는 모든 유형
▼
IFERROR는 7가지 오류 모두를 동일하게 처리합니다. 각 오류가 왜 나는지 알면 IFERROR로 가리기보다 원인을 고치는 게 낫기도 합니다.
| 오류 | 원인 |
|---|---|
| #DIV/0! | 0으로 나눔, 또는 분모가 빈 셀 |
| #N/A | VLOOKUP·MATCH 등에서 값을 못 찾음 |
| #VALUE! | 잘못된 데이터 타입 (텍스트를 숫자로 강제) |
| #REF! | 참조한 셀이 삭제됨 |
| #NAME? | 함수명 오타, 정의 안 된 이름 사용 |
| #NUM! | 계산이 너무 크거나 작음 (예: 1E+309) |
| #NULL! | 잘못된 범위 교차 연산 (드물게 발생) |
IFERROR로 다 가리지 말고, 예상한 오류(#N/A: 값 없음)만 가리고 버그성 오류(#REF!, #NAME?) 는 그대로 노출해 발견하는 게 좋습니다. 다음 항목 참조.
IFERROR vs IFNA vs ISERROR — 골라 쓰기
▼
오류 처리 함수가 여러 개입니다. 어떤 오류를 잡고 싶은지에 따라 골라 씁니다.
IFERROR — 모든 오류 잡기 (가장 흔함)
=IFERROR(VLOOKUP(...), "없음")
간단하고 강력. 단, 진짜 버그도 가려져서 디버깅 어려움
IFNA — #N/A만 잡기 (Excel 2013+)
=IFNA(VLOOKUP(...), "없음")
VLOOKUP에서 "값 없음"만 처리하고, 다른 오류(#REF! 등)는 그대로 노출 → 데이터 문제는 가려도 코드 문제는 바로 발견
ISERROR + IF — 세밀한 제어
=IF(ISERROR(A1), "오류!", A1*2)
오류일 때 다른 로직 실행. Excel 2003 호환이 필요할 때 (IFERROR는 2007+) 사용
실무 가이드: VLOOKUP 후처리는 IFNA, 일반 수식은 IFERROR, 복잡한 분기는 IF+ISERROR.
IFERROR의 함정 — 진짜 버그가 가려질 때
▼
IFERROR는 강력하지만 과사용 시 디버깅이 지옥이 됩니다. 모든 셀에 IFERROR가 걸려 있으면 진짜 문제(참조 깨짐, 오타)도 "0" 또는 ""으로 가려져 발견이 늦어집니다.
❌ 안티 패턴
=IFERROR(VLOOKUP(A2, 표, 2, 0), 0)
값 없음(#N/A)도 0, 표 참조 깨짐(#REF!)도 0, 함수 오타(#NAME?)도 0 → 차이 구별 불가
✓ 권장 패턴
=IFNA(VLOOKUP(A2, 표, 2, 0), 0)
VLOOKUP의 "값 없음"만 가리고, 코드 버그는 그대로 노출
원칙: IFERROR는 "이 오류가 일어날 수 있고 어떻게 처리할지 결정한 곳"에만. 모든 셀에 자동으로 감싸지 마세요.
자주 묻는 질문 (FAQ)
▼
Q. IFERROR가 빈 셀까지 처리하나요?
빈 셀은 오류가 아닙니다. 빈 셀을 다른 값으로 바꾸려면 =IF(A2="", "없음", A2) 또는 =ISBLANK(A2)를 사용하세요. IFERROR는 수식이 오류 값을 반환할 때만 작동합니다.
Q. 대체값으로 다른 수식을 넣어도 되나요?
네. =IFERROR(VLOOKUP(...), VLOOKUP(... 다른 표))처럼 백업 수식 가능. 단, 중첩이 깊어지면 가독성 급격히 저하 — XLOOKUP의 if_not_found 인수가 더 깔끔합니다.
Q. 합계에서 IFERROR로 처리된 셀이 0으로 들어가서 평균이 이상해요
"없는 값"을 0으로 두면 AVERAGE가 왜곡됩니다. 빈 문자열 ""을 반환하도록 바꾸세요 — =IFERROR(..., ""). AVERAGE는 텍스트·빈 셀을 자동 제외합니다.
Q. 조건부 서식에서 오류 셀을 색칠하려면?
조건부 서식 → 새 규칙 → 수식 =ISERROR(A1)로 오류 셀만 색상 적용 가능. IFERROR로 가리는 대신 시각적으로 표시하면 데이터 검토에 좋습니다.