목차▾
엑셀 IFERROR 함수란?
엑셀 IFERROR 함수는 수식이 오류면 지정한 대체값으로 바꿔 표시하는 논리 함수입니다. VLOOKUP 검색 실패 #N/A(값 없음, Not Available), 0으로 나누기 #DIV/0!(0으로 나누기 오류), 텍스트 연산 #VALUE!(값 유형 오류) 등 7가지 모두 잡습니다.
구문은 =IFERROR(검사할값, 오류시대체값) 2 인수. Excel 2007부터 지원. 다만 모든 오류를 가리면 진짜 버그도 묻힐 수 있어서, VLOOKUP은 IFNA(2013+)로 #N/A만 잡는 게 안전합니다.
처리하는 오류 7가지
| 오류 코드 | 풀이 | 발생 원인 |
|---|---|---|
| #DIV/0! | 0으로 나누기 오류 | 분모가 0 또는 빈 셀 |
| #N/A | 값 없음 (Not Available) | VLOOKUP·MATCH 등 검색 실패 |
| #VALUE! | 값 유형 오류 | 텍스트를 숫자 연산 등 |
| #REF! | 참조 오류 (Reference) | 삭제된 셀 참조 |
| #NUM! | 숫자 오류 (Number) | 결과가 표현 범위 초과 (예: FACT(171)) |
| #NAME? | 이름 오류 | 잘못된 함수명·정의되지 않은 이름 |
| #NULL! | 공백 연산자 오류 | 교집합 범위가 비어있을 때 |
→ IFERROR는 이 7가지 모두 잡음. 특정 오류만 잡으려면 IFNA·ISERROR 조합.
IFERROR vs IFNA vs ISERROR
| 함수 | 잡는 오류 | 인수 수 | 권장 |
|---|---|---|---|
| IFERROR(v, alt) | 7가지 모두 | 2 | 일반적 |
| IFNA(v, alt) | #N/A만 | 2 | VLOOKUP 결과 처리 |
| ISERROR(v) | 7가지 (TRUE/FALSE) | 1 | IF와 조합해서 사용 |
| ISNA(v) | #N/A (TRUE/FALSE) | 1 | IF와 조합 |
=IFERROR(VLOOKUP(...), "없음") → 모든 오류 → "없음"
=IFNA(VLOOKUP(...), "없음") → #N/A만 → "없음"
=IF(ISERROR(A1/B1), 0, A1/B1) → IFERROR보다 장황
→ VLOOKUP은 IFNA 권장 — #VALUE! 같은 진짜 버그도 가려버리지 않게.
실전 사용 시나리오 8가지
- VLOOKUP 결과 없음 처리 —
=IFERROR(VLOOKUP(A1, 표, 2, FALSE), "없음") - 0으로 나누기 처리 —
=IFERROR(A1/B1, 0) - 빈 셀로 처리 —
=IFERROR(수식, "")→ 대시보드에 깔끔 - 0 처리 (집계 안전) —
=IFERROR(수식, 0)→ SUM·AVERAGE 연산에 안전 - 다중 폴백 (중첩) —
=IFERROR(VLOOKUP(A1, 표A, 2, 0), IFERROR(VLOOKUP(A1, 표B, 2, 0), "없음")) - 백분율 안전 처리 —
=IFERROR((B1-A1)/A1, "N/A") - 텍스트 → 숫자 변환 안전 —
=IFERROR(VALUE(A1), 0) - IFNA로 #N/A만 (VLOOKUP 권장) —
=IFNA(VLOOKUP(A1, 표, 2, 0), "없음")
IFERROR 남용 경계 — 진짜 버그 숨김
IFERROR가 가장 위험할 때는 진짜 버그를 가릴 때입니다. 예를 들어:
=IFERROR(SUM(A1:A10), 0)
이 식은 데이터에 #REF!(참조 오류)가 섞여 있어도 0으로 가립니다. 합계가 갑자기 0이 됐을 때 원인 추적이 어려워요.
가능한 한 좁게 잡기:
- VLOOKUP만 처리 → IFNA 사용 (#N/A만)
- 나눗셈 0 처리 →
=IF(B1=0, 0, A1/B1)(분명한 조건) - 합계는 IFERROR 안 씀 → 데이터 오류는 데이터에서 고치기
자주 발생하는 오류·함정 6가지
- 진짜 버그 숨김 — IFERROR가 모든 오류를 가리면 디버깅 어려움. VLOOKUP은 IFNA로 좁게
- value 부분 중복 계산 우려 — 사실 Excel은 첫 인수만 평가하고 오류 시만 두 번째 계산. 그래도 복잡한 수식은 보조 셀 권장
- Excel 2003 이하 미지원 — IFERROR는 2007+. 구버전:
=IF(ISERROR(수식), 대체, 수식) - IFNA는 2013+ — Excel 2007·2010에는 없음. 환경 확인
- 빈 셀과 0 차이 —
=IFERROR(수식, "")후 AVERAGE 분모 달라질 수 있음. 집계 영향 확인 - 중첩 너무 많음 — 5단 이상 → 가독성 0. IFS·SWITCH 또는 보조 셀로 분리
자주 묻는 질문
Q. IFERROR 함수 사용법은?
=IFERROR(검사할값, 오류시대체값) 형식입니다. 예: =IFERROR(A1/B1, 0) → B1=0이면 0, 아니면 A1/B1. #DIV/0!(0으로 나누기 오류) 등 7가지 오류 모두 처리.
Q. IFERROR와 IFNA의 차이는?
IFERROR는 7가지 모두, IFNA는 #N/A(값 없음)만 처리. VLOOKUP은 IFNA 권장 — #REF!·#VALUE! 같은 진짜 버그를 가리지 않도록.
Q. VLOOKUP 결과 #N/A를 "없음"으로 표시하려면?
=IFNA(VLOOKUP(A1, 표, 2, FALSE), "없음") 또는 =IFERROR(VLOOKUP(...), "없음"). IFNA가 더 안전.
Q. 0으로 나누기 처리는?
=IFERROR(A1/B1, 0) 또는 =IF(B1=0, 0, A1/B1). IFERROR가 짧지만 다른 오류도 가려질 수 있어서 의도 확인.
Q. ISERROR 대신 IFERROR가 권장되나요?
2007+이면 IFERROR. =IFERROR(수식, 대체)는 =IF(ISERROR(수식), 대체, 수식)보다 짧고 수식 1번만 계산. 구버전 호환 필요할 때만 ISERROR.
Q. 다중 폴백 (표 여러 개 검색)은?
IFERROR 중첩: =IFERROR(VLOOKUP(A1, 표A, 2, 0), IFERROR(VLOOKUP(A1, 표B, 2, 0), "없음")). 표A → 표B → "없음" 순서. 3단 이상 중첩은 가독성 떨어져서 보조 셀 권장.
Q. 진짜 버그는 어떻게 발견?
IFERROR 남용 주의. 모든 오류를 가리면 진짜 버그도 묻힘. VLOOKUP은 IFNA로 #N/A만 잡고, 나머지(#REF!·#VALUE!)는 노출해서 디버깅 단서 보존.
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
네. IFERROR·IFNA·ISERROR·ISNA 모두 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일하게 작동합니다.
본 페이지는 Microsoft Support 공식 IFERROR·IFNA·IS functions 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.