안녕하세요! 엑셀의 모든 것을 알려드리는 엑셀러레이터입니다. 😊 다들 엑셀 작업하시다가 오류 메시지 때문에 당황하신 적 한 번쯤은 있으시죠? 특히 VLOOKUP 함수라도 썼다 하면 나타나는 무수한 #N/A 오류들… 정말 막막할 때가 많아요.
이런 골치 아픈 오류 메시지들을 깔끔하게 정리하고, 원하는 값으로 대체할 수 있는 아주 유용하고 간단한 함수가 있답니다. 바로 IFERROR 함수예요! 오늘은 저와 함께 IFERROR 함수가 무엇인지, 어떻게 사용하는지 기초부터 실무 활용 팁까지 완벽하게 정복해 봐요.
📌 [핵심] IFERROR 함수는 수식의 오류를 감지하고, 오류 발생 시 지정한 값으로 대체해주는 마법 같은 함수예요!
📘 IFERROR 함수, 너 정체가 뭐니?
엑셀 IFERROR 함수는 이름 그대로 "만약(IF) 오류(ERROR)가 발생하면?" 이라는 질문에 답을 주는 함수랍니다. 수식이 정상적으로 계산되면 그 결과값을 그대로 보여주고, 만약 오류가 발생하면 우리가 미리 정해놓은 값을 대신 보여주죠. 더 이상 지저분한 오류 메시지 때문에 보고서가 더러워 보일 일이 없어진다는 뜻이에요!
✅ 함수 구문
IFERROR 함수의 구문은 정말 간단해요. 딱 두 가지만 기억하면 된답니다.
=IFERROR(value, value_if_error)
✅ 함수 인수 설명
- value: 필수 요소예요. 오류가 있는지 검사할 수식이나 셀 참조를 넣는 곳이에요. 예를 들면 =VLOOKUP(...) 이나 =A1/B1 같은 수식이죠.
- value_if_error: 역시 필수 요소! value 인수에 넣은 수식에서 오류가 발생했을 때 대신 표시할 값을 지정하는 곳이에요. 빈칸으로 두고 싶으면 "" (큰따옴표 두 개), 특정 텍스트를 넣고 싶으면 "데이터 없음" 처럼 입력할 수 있고, 숫자 0을 넣을 수도 있어요.
⚠️ 잠깐! 주의할 점 (Note)
- IFERROR 함수는 #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL! 등 엑셀의 모든 종류의 오류를 잡아내요.
- 오류의 종류와 상관없이 모두 동일한 값으로 처리하기 때문에, 혹시 오류의 원인을 파악해야 할 때는 IFERROR를 잠시 지우고 원래 오류 메시지를 확인하는 것이 좋을 수 있어요.
🛠️ IFERROR 함수, 이렇게 사용해 보세요! (예제 4가지)
백문이 불여일견! 직접 예제를 통해 IFERROR 함수가 얼마나 유용한지 확인해 볼까요?
예제1. 기본 : 0으로 나누기 오류(#DIV/0!) 처리하기
가장 흔한 오류 중 하나죠? 어떤 값을 0으로 나누려고 할 때 #DIV/0! 오류가 발생합니다. 예를 들어, 제품별 판매 달성률을 계산하는데, 신제품이라 목표량이 아직 입력되지 않았거나(0으로 입력된 경우) 데이터 입력 실수로 목표량이 0인 경우 이 오류를 만나게 됩니다.
데이터 예시 (제품별 판매 실적)
이제 달성률을 계산하는 D4 셀에 =50/0 이라는 수식이 들어가면서 #DIV/0! 오류가 발생합니다.
제품명,목표량,판매량,달성률
A제품,100,80,=C2/B2
B제품,150,120,=C3/B3
C제품,0,50,=C4/B4
D제품,120,110,=C5/B5
E제품,180,95,=C6/B6

수식 적용
이제 IFERROR 함수를 사용해서 이 보기 싫은 오류를 깔끔하게 '0' 또는 특정 텍스트(예: "목표량 오류")로 바꿔보겠습니다.
=IFERROR(C2/B2, 0)

이 수식을 D2셀에 입력하고 아래로 쭉 채우면, 오류가 발생했던 *D4셀에 *#DIV/0! 대신 '0'이 표시되는 것을 확인할 수 있습니다.👍
예제2. VLOOKUP 함수와 찰떡궁합! (#N/A 오류 처리)
실무에서 IFERROR 함수가 가장 많이 쓰이는 곳이 바로 VLOOKUP 함수와 함께일 거예요. VLOOKUP은 참조 범위에서 정확히 일치하는(FALSE 옵션) 값을 찾지 못할 때 #N/A (Not Available) 오류를 띄웁니다. 이것을 "해당 없음" 이나 "담당자 미지정" 등으로 처리하면 보고서가 훨씬 전문적으로 보인답니다.
데이터 예시 (프로젝트별 담당자 목록)
'전체 프로젝트 목록'에 있는 "D 프로젝트"가 우측의 '담당자 배정표'에는 누락된 상황을 가정해 보겠습니다. 이 경우, D 프로젝트의 담당자를 VLOOKUP 으로 찾으면 #N/A 오류가 발생합니다.
"전체 프로젝트 목록",,,,"담당자 배정표",
프로젝트,시작일,담당자,,프로젝트명,담당자
A 프로젝트,2025-08-01,"=VLOOKUP(A3,$E$3:$F$5,2,FALSE)",,A 프로젝트,김민준
B 프로젝트,2025-08-05,"=VLOOKUP(A4,$E$3:$F$5,2,FALSE)",,B 프로젝트,이서연
C 프로젝트,2025-08-11,"=VLOOKUP(A5,$E$3:$F$5,2,FALSE)",,C 프로젝트,박도윤
D 프로젝트,2025-08-20,"=VLOOKUP(A6,$E$3:$F$5,2,FALSE)",,

수식 적용
이제 IFERROR 함수로 #N/A 오류가 표시되는 대신 "담당자 미지정"이라는 텍스트가 나타나도록 수식을 수정해 보겠습니다.
=IFERROR(VLOOKUP(A3,$E$3:$F$5,2,FALSE), "담당자 미지정")

이 수식을 C3 나 H3셀에 입력하고 아래로 채우면, 담당자 배정표에 없어서 오류가 발생했던 'D 프로젝트'의 담당자 셀에 깔끔하게 "담당자 미지정"이라고 표시됩니다.
어때요? #N/A라고 덩그러니 있는 것보다 훨씬 상황을 이해하기 쉽고 보기에도 좋죠? 👍
예제3. INDEX + MATCH 함수의 #N/A 오류 처리하기
VLOOKUP은 조회하려는 값이 항상 테이블의 첫 번째 열에 있어야 한다는 한계가 있죠. 하지만 실무 데이터는 그렇게 깔끔하지 않을 때가 많아요. INDEX 와 MATCH 함수를 조합하면 어느 열에 있든 상관없이 값을 찾아올 수 있는 막강한 기능을 발휘합니다!
하지만, 이 조합 역시 찾는 값이 없으면 #N/A 오류를 반환하는데, 이때 IFERROR가 아주 유용하게 쓰입니다.
데이터 예시 (담당자 ID로 부서 찾아오기)
'업무 목록' 에는 '담당자 ID' 만 있고, 이 ID를 이용해서 우측 '사원 명부' 에서 '부서' 를 찾아와야 하는 상황입니다. '사원 명부' 는 '부서' 가 '담당자 ID' 의 왼쪽에 있으므로 VLOOKUP 으로는 한 번에 찾을 수 없죠.
"업무 목록",,,,"사원 명부",,
업무 내용,담당자 ID,담당부서,,부서,이름,담당자 ID
기획안 작성,S001,"=INDEX($E$3:$E$5,MATCH(B3,$G$3:$G$5,0))",,기획팀,김민준,S001
시장 조사,S003,"=INDEX($E$3:$E$5,MATCH(B4,$G$3:$G$5,0))",,영업팀,이서연,S002
주간 보고,S002,"=INDEX($E$3:$E$5,MATCH(B5,$G$3:$G$5,0))",,마케팅팀,박도윤,S003
고객 응대,S005,"=INDEX($E$3:$E$5,MATCH(B6,$G$3:$G$5,0))",,
'업무 목록' 의 마지막 업무를 맡은 담당자 ID S005 는 '사원 명부' 에 존재하지 않습니다. 따라서 MATCH 함수가 위치를 찾지 못해 #N/A 오류를 반환하고, 결국 C6 셀에 #N/A 오류가 표시됩니다.
수식 적용
이제 IFERROR 함수로 이 수식을 감싸서, 오류가 발생할 경우 "미등록 인원"이라고 표시되도록 만들어 보겠습니다.
=IFERROR(INDEX($E$3:$E$5,MATCH(B3,$G$3:$G$5,0)), "미등록 인원")

이 수식을 C3 셀에 입력하고 아래로 쭉 채워주면, 사원 명부에 없어서 오류가 났던 C6 셀에 "미등록 인원" 이라고 깔끔하게 표시됩니다. VLOOKUP의 한계를 뛰어넘는 INDEX + MATCH 조합과 IFERROR의 환상적인 케미, 정말 유용하죠? 🚀
예제4. 실무 활용: 데이터 유효성 검사 오류 처리
실무에서는 여러 사람이 하나의 엑셀 파일을 다루는 경우가 많죠? 이럴 때 데이터 유효성 검사로 특정 값만 입력하게 제한해 두어도, 붙여넣기 등으로 엉뚱한 값이 들어와 오류가 생기는 경우가 있어요. IFERROR로 이런 상황을 방지할 수 있습니다.
데이터 예시 (프로젝트 시간 기록)
업무,시작시간,종료시간,소요시간(분)
기획안 작성,09:00,11:30,=TEXT(C2-B2,"[m]")
자료 조사,13:00,오후 4시,=TEXT(C3-B3,"[m]")
회의,16:30,17:00,=TEXT(C4-B4,"[m]")
보고서 초안,17:00,"퇴근",=TEXT(C5-B5,"[m]")
시간 형식(hh:mm)이 아닌 텍스트("오후 4시", "퇴근")가 입력된 셀 때문에 소요시간 계산 시 #VALUE! 오류가 발생합니다. 이걸 "입력 오류" 로 표시해 볼까요?
수식 적용
=IFERROR(TEXT(C2-B2,"[m]"), "입력 오류")

이렇게 하면 잘못된 데이터가 입력된 부분을 쉽게 찾아내고 수정 요청을 할 수 있겠죠? 🧐
관련 게시물:
엑셀 TEXT 함수 서식지정 실무활용 2025 완벽 마스터 가이드
📊 엑셀 [h]:mm 누적 시간 사용자지정 셀서식을 배워볼까요!
😵 IFERROR 함수를 써도 오류가 난다고요?
가끔 IFERROR 함수 자체를 잘못 사용해서 오류가 나는 경우가 있어요. 몇 가지만 짚어 드릴게요!
- 인수를 빼먹었을 때: =IFERROR(A1/B1) 처럼 value_if_error 인수를 입력하지 않으면 오류가 나요. 빈칸으로 두고 싶다면 꼭 "" 를 입력해 주세요.
- 괄호를 잘못 닫았을 때: =IFERROR(VLOOKUP(A1,B:C,2,0) 처럼 VLOOKUP 함수의 괄호를 닫고 IFERROR 함수의 괄호를 닫아야 하는데, 괄호가 부족하면 오류가 발생해요. 항상 괄호 짝이 맞는지 확인하세요!
🤝 함께 쓰면 더 좋은 친구 함수들
IFERROR 와 비슷한 역할을 하거나 함께 사용하면 시너지가 나는 함수들이 있어요.
- IFNA: IFERROR는 모든 오류를 잡아내지만, IFNA 는 오직 #N/A 오류만 잡아내고 싶을 때 사용해요. VLOOKUP 오류만 특정해서 처리하고 싶을 때 유용하겠죠?
- ISERROR / ISERR: 어떤 셀에 오류가 있는지 없는지 TRUE 또는 FALSE 로 알려주는 정보 함수예요. IF 함수와 조합해서 IF(ISERROR(A1), "오류 발생", "정상") 처럼 더 복잡한 논리를 만들 수 있어요.
- IF: 가장 기본적인 조건 함수죠. IFERROR는 '오류인가 아닌가' 만 판단하지만, IF 함수는 A1>100 과 같이 훨씬 다양한 조건을 만들 수 있어요.
🎉 정리하며: 이제 오류 메시지와 작별할 시간!
오늘 배운 IFERROR 함수, 어떠셨나요? 생각보다 훨씬 간단하고 강력하지 않나요? 이제 더 이상 엑셀의 무서운 오류 메시지 앞에서 작아지지 마세요! IFERROR 함수 하나면 여러분의 엑셀 문서가 훨씬 깔끔하고 전문적으로 바뀔 거예요.
오늘 배운 내용 꼭 직접 실습해 보시고, 실무에 적용해서 칼퇴에 한 걸음 더 다가가시길 바라요! 궁금한 점이 있다면 언제든지 댓글로 질문 남겨주세요. 이 글이 도움이 되셨다면 공감과 공유도 잊지 마시고요! 😉
작성자: 마늘빵
📱 바쁜 당신을 위한 1분 엑셀 꿀팁: IFERROR 함수
😫 이런 분들 보세요!
🏈 IFERROR, 이게 뭔가요?
- 수식에 오류가 나면, 내가 지정한 값(ex: 빈칸, 0, "오류")으로 바꿔주는 착한 함수!
📋 초간단 사용법
=IFERROR(오류날수있는수식, 오류나면보여줄값)
🚀 실전 예시
- =IFERROR(A1/B1, 0)
- A1/B1 계산하다 오류나면 0으로 표시!
- =IFERROR(VLOOKUP(...), "못찾음")
- VLOOKUP 으로 값 못찾아서 #N/A 오류나면 "못찾음" 으로 표시!
✅ 핵심 포인트
- 지저분한 오류 메시지를 깔끔하게 정리!
- 함수 사용법이 아주 쉬움!
- VLOOKUP 이랑 같이 쓰면 효과 200%!
❤️ 저장해두고 필요할 때 꺼내 쓰세요!