티스토리 뷰

반응형

엑셀에서 #N/A, #REF!, #VALUE!, #NAME?, #DIV/0!, #NULL! 여섯 가지 오류를 한 방에 처리하는 함수가 IFERROR입니다. 수식을 =IFERROR(원래수식, 오류일때표시할값) 형태로 감싸기만 하면 됩니다. 다만 이건 오류를 고치는 게 아니라 숨기는 함수라서, 언제 써야 하고 언제 쓰면 안 되는지를 모르면 잘못된 보고서를 만들게 됩니다.

이 글에서 답하는 질문

  • IFERROR 함수 기본 문법과 사용법은?
  • 6가지 엑셀 오류를 모두 잡아 주나?
  • IFERROR와 IFNA는 뭐가 다른가?
  • 오류를 숨기면 안 되는 경우는 언제인가?
  • VLOOKUP, SUMIF와 어떻게 조합하나?

1. 기본 문법

=IFERROR(값, 오류일_때_반환할_값)

첫 번째 인수의 수식을 계산해 보고, 오류가 나면 두 번째 인수를 대신 보여 줍니다. 오류가 안 나면 원래 결과를 그대로 보여 줍니다.

가장 흔한 사용 예:

=IFERROR(VLOOKUP(A2, 상품표, 2, 0), "미등록")

VLOOKUP이 값을 못 찾아 #N/A가 뜨면 "미등록"이라는 글자를 대신 표시합니다.

빈 칸으로 두고 싶다면 두 번째 인수에 빈 따옴표를 넣습니다.

=IFERROR(VLOOKUP(A2, 상품표, 2, 0), "")

숫자 0으로 처리하고 싶다면:

=IFERROR(B2/C2, 0)

2. IFERROR가 잡아 주는 오류 6가지

IFERROR는 아래 오류를 전부 잡습니다. 어떤 오류인지 구분하지 않습니다.

오류 대표 원인 IFERROR로 잡히나
#N/A 찾는 값이 없음 (VLOOKUP, MATCH) O
#REF! 참조하던 셀·시트가 삭제됨 O
#VALUE! 숫자 자리에 텍스트가 들어감 O
#NAME? 함수 이름 오타, 정의되지 않은 이름 O
#DIV/0! 0 또는 빈 칸으로 나눔 O
#NULL! 범위 연산자 오류 (공백으로 구분) O

여기에 #NUM!(계산 결과가 너무 크거나 잘못된 인수)까지 포함해 7종 전부 잡힙니다.

이게 장점이자 함정입니다. 전부 잡아 버리기 때문에, 진짜 고쳐야 할 #REF!나 #NAME?까지 조용히 가려집니다.

3. 언제 써도 되고, 언제 쓰면 안 되나

이 구분이 이 글의 핵심입니다.

써도 되는 경우 — 오류가 "정상적인 상황"일 때

  • VLOOKUP에서 아직 등록 안 된 신규 코드 → #N/A는 예상된 결과
  • 분모가 아직 입력 안 된 비율 계산 → #DIV/0!는 예상된 결과
  • 월별 실적표에서 미래 월이 비어 있음

쓰면 안 되는 경우 — 오류가 "버그"일 때

  • #REF! : 참조하던 셀이 삭제됐다는 뜻입니다. IFERROR로 덮으면 수식이 망가진 걸 영원히 모릅니다.
  • #NAME? : 함수 이름을 잘못 쳤거나 정의된 이름이 사라진 것입니다. 반드시 고쳐야 합니다.
  • #VALUE! : 데이터 타입이 꼬였다는 신호입니다. 원본 데이터를 손봐야 합니다.

실무 원칙 하나만 기억하세요. 오류가 왜 났는지 먼저 확인하고, 그 원인이 "정상 케이스"일 때만 IFERROR를 씌웁니다. 순서를 바꾸면 안 됩니다.

4. IFERROR vs IFNA — 더 안전한 선택

IFNA는 #N/A만 잡습니다. 나머지 오류는 그대로 보여 줍니다.

=IFNA(VLOOKUP(A2, 상품표, 2, 0), "미등록")

VLOOKUP에서 "값을 못 찾은 경우"만 처리하고 싶다면 IFERROR보다 IFNA가 정확합니다. 만약 참조 범위가 삭제돼서 #REF!가 났다면 IFNA는 그 오류를 그대로 노출해 주므로 문제를 즉시 발견할 수 있습니다.

함수 잡는 오류 추천 상황
IFERROR 모든 오류 오류 종류를 따질 필요 없는 단순 표
IFNA #N/A만 VLOOKUP·MATCH 조회 결과 처리 (권장)

IFNA는 엑셀 2013 이상에서 쓸 수 있습니다. 그보다 낮은 버전이면 IFERROR를 쓰거나 ISNA와 IF를 조합합니다.

=IF(ISNA(VLOOKUP(A2,상품표,2,0)), "미등록", VLOOKUP(A2,상품표,2,0))

5. 실무에서 자주 쓰는 조합 5가지

조합 1. VLOOKUP + IFNA — 조회 실패 처리

=IFNA(VLOOKUP($A2, 상품마스터!$A:$D, 3, 0), "미등록")

조합 2. 나눗셈 + IFERROR — 달성률 계산

=IFERROR(C2/B2, "")

목표(B열)가 아직 안 잡혔을 때 #DIV/0! 대신 빈 칸이 나옵니다.

조합 3. 평균 + IFERROR — 데이터 없는 구간

=IFERROR(AVERAGE(B2:B10), 0)

조합 4. 이중 VLOOKUP — 1차 시트에서 못 찾으면 2차 시트에서

=IFNA(VLOOKUP(A2,시트1!A:B,2,0), IFNA(VLOOKUP(A2,시트2!A:B,2,0), "없음"))

IFERROR의 두 번째 인수에 또 다른 수식을 넣을 수 있다는 점을 활용한 패턴입니다. 조회 대상 테이블이 나뉘어 있을 때 유용합니다.

조합 5. SUMIF와 함께 — 조건 합계의 비율

=IFERROR(SUMIF($A:$A,$E2,$C:$C)/SUMIF($A:$A,$E2,$B:$B), "-")

6. 성능 주의 — 수식이 두 번 계산됩니다

IFERROR는 첫 번째 인수를 계산해 보고 오류면 두 번째를 계산합니다. 위 "조합 4" 같은 중첩 구조를 수천 행에 걸면 파일이 눈에 띄게 느려집니다.

행이 많은 파일이라면:

  • 조회 범위를 A:A 같은 전체 열 대신 A1:A5000처럼 명시적으로 지정
  • 중첩은 2단계까지만
  • 반복 조회는 INDEX/MATCH로 바꾸면 체감 속도가 개선됩니다

7. 자주 나오는 실수

두 번째 인수를 빼먹는 경우
=IFERROR(A1/B1) 은 오류입니다. 인수 두 개가 반드시 필요합니다.

따옴표를 안 붙이는 경우
=IFERROR(A1/B1, 없음) 은 #NAME? 이 납니다. 텍스트는 "없음" 처럼 따옴표로 감싸야 합니다.

빈 문자열과 0을 혼동하는 경우
""로 처리한 셀은 텍스트라서 SUM에는 안 잡히지만 COUNTA에는 잡힙니다. 나중에 집계할 열이라면 ""보다 0이 안전합니다.

전체 시트에 일괄로 IFERROR를 씌우는 경우
가장 위험한 습관입니다. 오류가 하나도 안 보이는 깨끗한 파일이 되지만, 틀린 값을 그대로 보고하게 됩니다.

엑셀 IFERROR 함수 기본 문법 구조를 설명한 도식
엑셀 IFERROR 실습

8. 첨부 실습파일 사용법

첨부한 엑셀에는 시트 두 개가 있습니다.

  • 실습 시트: 상황 1은 나눗셈(#DIV/0!), 상황 2는 VLOOKUP 조회 실패(#N/A)입니다. IFERROR를 적용하지 않은 수식은 참고용 글자로, 적용한 수식은 살아 있는 수식으로 나란히 배치했습니다.
  • 비교 시트: IFERROR와 IFNA가 각 오류에서 어떻게 다르게 동작하는지 한눈에 보이는 표입니다.

노란색 셀의 값을 바꾸면 결과가 즉시 달라집니다. 실제 오류를 눈으로 보고 싶다면 빈 셀에 =D7/C7 을 직접 입력해 보세요. #DIV/0! 이 그대로 나타납니다.

참고로 실습 시트 G열은 구버전 엑셀 호환을 위해 IF(ISNA(...)) 형태로 작성해 두었습니다. 엑셀 2013 이상이라면 =IFNA(VLOOKUP(...), "미등록") 으로 바꿔도 결과가 같습니다.

마무리

IFERROR는 강력하지만 진단 도구가 아니라 마감 도구입니다. 원인을 확인한 다음 마지막에 씌우세요. 각 오류가 왜 나는지부터 보고 싶다면 아래 관련 글에 오류별로 정리해 두었습니다.

엑셀_IFERROR_실습.xlsx
0.01MB

관련 글 — 엑셀 오류 6종 원인별 해결법

  • 엑셀 #N/A 오류 뜨는 이유와 해결법
  • 엑셀 #REF! 오류 완벽 해결 가이드
  • 엑셀 #VALUE 오류 완벽 해결 가이드 (5가지 원인과 해결법)
  • 엑셀 #NAME? 오류 뜨는 이유와 해결법 완전정리
  • 엑셀 #DIV/0! 오류 해결법
  • 엑셀 #NULL! 오류 원인과 해결법
  • 엑셀 VLOOKUP 함수 완전정리
  • 엑셀 SUMIF·SUMIFS 함수 사용법

공식 출처

반응형
반응형