환경 : Microsoft 365 / Excel 2010 이상
VLOOKUP으로 못 찾은 값, 0으로 나눈 계산처럼 수식 결과에 #N/A, #DIV/0! 같은 오류가 섞이면 표가 지저분해지고 합계도 오류가 됩니다. IFERROR는 오류가 날 때만 내가 정한 값으로 바꿔 주는 함수입니다.
1. 사용 방법
=IFERROR(value, value_if_error)
| 인수 | 의미 |
|---|---|
| value | 원래 계산할 수식 |
| value_if_error | 오류일 때 대신 보여 줄 값 (0, "", "없음" 등) |
수식이 정상이면 그 결과를 그대로, 오류면 두 번째 인수를 표시합니다.
2. 엑셀 오류 종류
| 오류 | 원인 |
|---|---|
| #N/A | 찾는 값이 없음 (VLOOKUP, MATCH, XLOOKUP 등) |
| #DIV/0! | 0 또는 빈 셀로 나눔 |
| #VALUE! | 숫자가 와야 할 곳에 텍스트, 찾는 문자 없음(FIND) |
| #REF! | 참조하던 셀·열이 삭제됨 |
| #NAME? | 함수 이름 오타, 따옴표 없는 텍스트 |
| #NUM! | 계산할 수 없는 숫자 (음수의 제곱근 등) |
3. 예제
예제 ① 달성률 계산의 #DIV/0!
| 담당 | 목표 | 실적 | 달성률 |
|---|---|---|---|
| 김 | 100 | 85 | 85% |
| 이 | 0 | 20 | #DIV/0! |
| 박 | 10 | #DIV/0! |
=IFERROR(C2/B2, 0)
목표가 0이거나 비어 있는 행은 0%로 표시됩니다. 빈 칸으로 두려면 0 대신 ""를 넣습니다.
[캡처 : 달성률 IFERROR 적용 전·후]
예제 ② VLOOKUP으로 못 찾은 값
=IFERROR(VLOOKUP(G3, $B$3:$E$11, 2, FALSE), "등록 안 됨")
목록에 없는 코드를 입력하면 #N/A 대신 '등록 안 됨'이 표시됩니다. VLOOKUP 사용법은 VLOOKUP 사용법(124번 글)을 참고하세요.
예제 ③ 오류가 섞인 범위의 합계
범위 안에 #N/A가 하나라도 있으면 SUM 결과도 #N/A가 됩니다. 각 셀에 IFERROR를 씌우거나, 오류를 무시하고 합하는 AGGREGATE를 씁니다.
=AGGREGATE(9, 6, D2:D20)
9는 합계, 6은 '오류 값 무시' 옵션입니다.
4. IFNA : #N/A만 처리
=IFNA(VLOOKUP(G3, $B$3:$E$11, 2, FALSE), "등록 안 됨")
IFERROR는 모든 오류를 숨기기 때문에, 범위를 잘못 지정한 #REF!나 함수 이름 오타(#NAME?)까지 감춰 버립니다. 조회 함수에는 '못 찾음'만 처리하는 IFNA(Excel 2013 이상)가 더 안전합니다.
5. 주의사항
1. 수식을 완성하고 결과를 확인한 뒤 마지막에 IFERROR를 씌우세요. 처음부터 씌우면 수식 실수를 알아채기 어렵습니다.
2. 오류를 0으로 바꾸면 평균·개수 계산에 포함됩니다. 계산에서 빼려면 ""(빈 문자열)을 쓰세요.
3. Microsoft 365의 XLOOKUP은 자체적으로 '못 찾았을 때' 값을 지정할 수 있어 IFERROR가 필요 없습니다.
'엑셀 다루기' 카테고리의 다른 글
| [엑셀 함수] XLOOKUP 사용법 – VLOOKUP보다 쉬운 찾기 함수 (왼쪽 조회·여러 열·못 찾을 때) (0) | 2026.10.13 |
|---|---|
| [엑셀 함수] XLOOKUP 사용법 – VLOOKUP보다 쉬운 찾기 함수 (왼쪽 조회·여러 열·못 찾을 때) (0) | 2026.10.13 |
| [엑셀 함수] TRANSPOSE 함수 사용법 – 행과 열 바꾸기 (붙여넣기 바꾸기와 차이) (6) | 2026.10.13 |
| [엑셀 함수] SEARCH·MID 함수로 주소에서 '동' 이름 추출하기 (와일드카드 활용) (0) | 2026.10.13 |
| [엑셀 함수] CHOOSE 함수 사용법 – 번호에 따라 값 고르기 (주민번호로 성별 표시) (0) | 2026.10.13 |