엑셀 함수IFERROR오류 처리

엑셀 IFERROR 함수 사용법 — #N/A·#DIV/0! 오류 숨기는 법과 주의점(예제 표)

🗓 기준일 2026-10-23📚 출처 3곳⏱ 7분 읽기
한 줄 답엑셀 IFERROR 함수는 =IFERROR(값, 오류일 때 보여 줄 값) 형식으로 쓰며, 첫 인수의 수식이 #N/A·#DIV/0! 등 오류가 되면 두 번째 인수를 대신 보여 주고 오류가 아니면 원래 결과를 그대로 보여 줍니다. 다만 모든 종류의 오류를 가리기 때문에, #N/A만 숨기려면 IFNA, 0으로 나누는 경우만 막으려면 IF를 쓰는 편이 안전합니다.

IFERROR 함수 형식과 인수 2개

IFERROR는 수식이 오류가 되면 지정한 값을 대신 돌려주는 함수이고, 인수는 두 개이며 둘 다 필수입니다. 오류가 아니면 첫 인수의 계산 결과를 그대로 돌려줍니다.

인수이름넣는 내용
1value오류가 나는지 검사할 수식·셀 참조·값
2value_if_error1번 인수가 오류일 때 대신 보여 줄 값(문구·숫자·빈 문자열 "")
=IFERROR(value, value_if_error)
=IFERROR(B2/C2, "")

Microsoft 지원 문서에 따르면 IFERROR가 오류로 판단하는 종류는 #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL! 일곱 가지입니다. 이 함수는 Microsoft 365와 Excel 2016 이후 버전의 문서에 나옵니다. 또 첫 인수나 둘째 인수가 빈 셀이면 빈 문자열("")로 취급한다고 안내되어 있습니다.

지역·언어 설정에 따라 인수 구분자가 쉼표(,) 대신 세미콜론(;)인 PC가 있습니다. 예시 수식이 입력되지 않으면 쉼표를 세미콜론으로 바꿔 입력해 봅니다.

#DIV/0! 오류를 빈칸으로 숨기려면?

단가처럼 나눗셈을 하는 열은 =IFERROR(B2/C2,"")로 감싸면 0으로 나누는 행이 빈칸으로 바뀝니다. 아래 표(A1:D9)를 이 글의 기준 예제로 씁니다. D열은 아직 IFERROR를 적용하지 않은 =B2/C2 결과입니다.

행A (제품)B (매출액, 원)C (수량, 개)D (=B/C, 원)
1제품매출액수량단가
2사과1200043000
3배90000#DIV/0!
4귤750051500
5감6000(빈 셀)#DIV/0!
6포도1800063000
7키위800081000
8딸기4500미정(문자)#VALUE!
9수박1500035000

D2:D9 에는 =B2/C2 를 아래로 채웠습니다. 빈 셀은 나눗셈에서 0으로 계산되어 #DIV/0! 이 되고, 글자("미정")로 나누면 #VALUE! 가 됩니다.

E2에 아래 수식을 넣고 E9까지 채우면 결과는 다음과 같습니다.

=IFERROR(B2/C2,"")
행제품D (IFERROR 없음)E (=IFERROR(B2/C2,""))
2사과30003000
3배#DIV/0!(빈칸)
4귤15001500
5감#DIV/0!(빈칸)
6포도30003000
7키위10001000
8딸기#VALUE!(빈칸)
9수박50005000

검산: 12000÷4=3000, 7500÷5=1500, 18000÷6=3000, 8000÷8=1000, 15000÷3=5000입니다. 오류가 나던 3·5·8행만 빈칸이 되고 나머지는 값이 그대로입니다.

#N/A 오류를 문구로 바꾸려면?

VLOOKUP 같은 찾기 함수가 값을 못 찾아 #N/A를 내면, 바깥을 IFERROR로 감싸고 두 번째 인수에 "없는 제품" 같은 문구를 넣습니다. 위 예제 표의 A2:D9 범위에서 D열 값(4번째 열)을 찾는 경우입니다.

수식결과
=VLOOKUP("귤",A2:D9,4,FALSE)1500
=VLOOKUP("참외",A2:D9,4,FALSE)#N/A
=IFERROR(VLOOKUP("참외",A2:D9,4,FALSE),"없는 제품")없는 제품
=IFERROR(VLOOKUP("귤",A2:D9,4,FALSE),"없는 제품")1500

네 번째 인수 FALSE 는 정확히 일치하는 값만 찾는다는 뜻입니다. 표에 없는 "참외"는 #N/A 가 되고, IFERROR 가 그 자리를 문구로 바꿉니다.

VLOOKUP의 인수 설명은 VLOOKUP 인수 4개와 정확히 일치·대략 일치 차이에, #N/A가 계속 나오는 원인은 VLOOKUP이 #N/A만 나올 때 원인 6가지에 정리되어 있습니다. 원인을 고치지 않고 IFERROR로 덮기만 하면 "없는 제품"이 아닌데도 그렇게 표시될 수 있으니, 먼저 원인을 확인하는 순서를 권합니다.

광고

오류 대신 빈칸·0·문구 중 무엇을 넣어야 하나?

이후에 그 열을 합계·평균에 쓸 계획이면 빈 문자열("")이나 0 중 하나를 골라야 하고, 평균이 달라집니다. 같은 오류 행에 "" 를 넣은 E열과 0을 넣은 F열(=IFERROR(B2/C2,0))로 비교하면 다음과 같습니다.

수식결과계산 근거
=SUM(D2:D9)오류가 그대로 표시됨범위 안에 오류 값이 있음
=SUM(E2:E9)135003000+1500+3000+1000+5000
=AVERAGE(E2:E9)270013500÷5 (빈 문자열 3칸은 평균에서 빠짐)
=SUM(F2:F9)13500오류 행이 0이라 합계는 같음
=AVERAGE(F2:F9)1687.513500÷8 (0 세 칸이 평균에 포함됨)

E열은 오류 행에 "" 를, F열은 0을 넣은 열입니다. 합계는 같지만 평균은 2700원과 1687.5원으로 갈립니다. AVERAGE 는 참조 범위 안의 글자를 계산에서 제외합니다.

  • "" (빈 문자열): 화면에서 비어 보이고 합계·평균에서 빠집니다. 다만 그 칸을 다시 =E3*2 처럼 곱하면 #VALUE! 가 날 수 있어, 뒤에서 계산에 쓰는 열이면 주의합니다.
  • 0: 계산에 이어 쓰기 쉽지만 "값이 0"인 것처럼 보이고 평균을 끌어내립니다.
  • "확인 필요" 같은 문구: 사람이 읽는 보고용 표에 알맞습니다. 계산에는 쓰지 않는 열에 둡니다.

조건에 맞는 값만 더하는 방법은 SUM·SUMIF·SUMIFS 사용법을 참고합니다.

IFERROR가 진짜 오류까지 숨기는 경우

IFERROR는 오류의 종류를 가리지 않고 모두 같은 값으로 바꿉니다. 그래서 수식 오타(#NAME?)나 잘못된 참조(#REF!)까지 조용히 가려 버립니다.

예제 표에서 "배"는 A3에 분명히 있지만 D3이 #DIV/0! 입니다. 이때 VLOOKUP이 돌려주는 값 자체가 오류가 되고, IFERROR는 그것도 "찾지 못함"과 똑같이 처리합니다.

수식결과해석
=IFERROR(VLOOKUP("배",A2:D9,4,FALSE),"없는 제품")없는 제품"배"는 표에 있는데도 없다고 표시됨
=IFNA(VLOOKUP("배",A2:D9,4,FALSE),"없는 제품")#DIV/0!#N/A가 아니므로 오류가 그대로 보임
=IFNA(VLOOKUP("참외",A2:D9,4,FALSE),"없는 제품")없는 제품표에 없어서 #N/A가 난 경우만 바뀜

IFNA는 #N/A만 처리하는 함수로, Excel 2013 이후에 쓸 수 있다고 알려져 있습니다(보조 출처 Exceljet 기준이며, Microsoft 문서에서는 이 글을 쓰며 확인하지 못했습니다). 찾기 함수의 "못 찾음"만 문구로 바꾸고 싶다면 IFNA가 더 좁게 막아 줍니다.

나눗셈은 IF로 조건을 직접 거는 방법도 있습니다. 예제 표의 C열이 0이거나 비어 있을 때만 막는 수식입니다.

=IF(C2=0,"",B2/C2)
행제품C 값=IF(C2=0,"",B2/C2) 결과
3배0(빈칸)
5감빈 셀(빈칸)
8딸기미정(문자)#VALUE!
4귤51500

3행과 5행(수량 0·빈 셀)만 빈칸이 되고, 8행의 글자 입력 문제는 #VALUE! 로 남아 눈에 띕니다. 어떤 오류가 나는지 알고 있고 그것만 막고 싶다면 이 방식이 낫습니다. 반대로 어떤 오류든 화면에서 치우는 것이 목적인 보고용 표라면 IFERROR가 간단합니다. 참고로 Microsoft 문서도 IF 함수의 #VALUE! 오류를 ISERROR·ISERR·IFERROR 같은 오류 처리 함수로 가릴 수 있다고 안내합니다.

IFERROR를 썼는데 결과가 이상할 때

IFERROR 적용 뒤 이상한 결과는 대부분 "오류가 가려진 것"이거나 "대체값이 글자라서 생긴 것"입니다. 아래 표 순서로 확인합니다.

증상원인확인 방법
정상 데이터인데 대체 문구가 나옴찾는 값이 아니라 가져온 값 자체가 오류(예: 위 "배" 사례)IFERROR 바깥쪽을 지우고 =VLOOKUP(...) 만 두어 어떤 오류인지 본다
전체 행이 모두 대체값으로 나옴수식 오타(#NAME?)나 잘못된 범위(#REF!)가 가려짐첫 인수의 수식만 따로 입력해 결과를 확인한다
빈칸으로 만든 열을 곱하면 #VALUE!"" 는 숫자가 아닌 글자 취급뒤 계산 열에는 0을 쓰거나 SUM 같은 함수를 이용한다
평균이 예상보다 낮음대체값을 0으로 넣어 평균 계산 칸 수가 늘어남=AVERAGE(E2:E9) 와 =AVERAGE(F2:F9) 를 비교한다
수식이 입력되지 않거나 오류 메시지가 뜸구분자(, / ;) 또는 따옴표 입력 문제지역 설정에 맞는 구분자인지, 큰따옴표가 짝이 맞는지 본다

정리하면, 오류 원인을 먼저 확인하고 → 숨겨도 되는 오류인지 판단한 뒤 → 필요한 범위만 IFNA·IF·IFERROR 중에서 골라 감싸는 순서가 안전합니다.

IFERROR는 오류를 해결하는 함수가 아니라 화면에서 가리는 함수입니다. 최종 보고서·집계표에 쓰기 전에 오류가 나던 원본 수식을 한 번 확인해 두는 것을 권합니다.

광고