ExcelIFERROR오류 처리

엑셀 IFERROR

수식이 오류일 때 대체값으로 바꿔 결과를 깔끔하게 — #DIV/0!·#N/A·#VALUE! 모두 한 번에

IFERROR 수식 구조

=IFERROR(수식, 대체값)

수식 (value)

평가할 수식. 셀 참조, VLOOKUP, 나눗셈, 다른 함수 호출 등 어떤 식이든 가능

대체값 (value_if_error)

수식이 오류일 때 반환할 값. 숫자 0, 빈 문자열 "", 텍스트 "없음" 등 자유

IFERROR는 모든 오류 유형을 잡습니다 (#DIV/0!, #N/A, #VALUE!, #REF!, #NAME?, #NULL!, #NUM!). 특정 오류만 잡고 싶다면 ISERROR와 IF의 조합, #N/A만 잡으려면 IFNA를 사용하세요. Excel 2007 이상에서 지원.

직접 체험해보세요

3가지 시나리오에서 입력값을 바꿔보면 IFERROR가 오류를 어떻게 대체값으로 바꿔주는지 좌우 비교로 확인할 수 있습니다

B2=IFERROR(10/0, 0)0

IFERROR 없이

=10/0

⚠️

#DIV/0!

오류 노출

IFERROR 적용

=IFERROR(10/0, 0)

🛡️

0

대체값 사용

⚡ 원본은 #DIV/0! 오류 — IFERROR가 0으로 가려줌

실전 활용 예제

=IFERROR(VLOOKUP(A2, 표, 2, 0), "찾을 수 없음")

VLOOKUP 실패 처리 — 검색 키가 표에 없을 때 #N/A 대신 친절한 메시지. 사용자 보고서에 가장 흔한 패턴.

예시: VLOOKUP("포도", 가격표, 2, 0)"찾을 수 없음"
=IFERROR(B2/C2, 0)

0으로 나누기 방지 — C열이 0이거나 빈 셀일 때 0 반환. 후속 SUM·AVERAGE 계산이 깨지지 않도록 데이터 전처리에 필수.

예시: 100 / 00
=IFERROR(VALUE(A2), "")

텍스트→숫자 변환 — VALUE는 숫자로 못 바꾸면 #VALUE! 오류. 빈 문자열로 받아서 SUM 계산에서 자연스럽게 제외되게 함.

예시: VALUE("abc")(빈 셀)
더 알아보기

엑셀 오류 7종 — IFERROR가 잡는 모든 유형

IFERROR는 7가지 오류 모두를 동일하게 처리합니다. 각 오류가 왜 나는지 알면 IFERROR로 가리기보다 원인을 고치는 게 낫기도 합니다.

오류원인
#DIV/0!0으로 나눔, 또는 분모가 빈 셀
#N/AVLOOKUP·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로 가리는 대신 시각적으로 표시하면 데이터 검토에 좋습니다.