엑셀 · 함수

엑셀 IFERROR·IFNA 차이와 오류값 처리법

보고서 제출 5분 전, 엑셀 화면 절반이 #N/A로 뒤덮여 있으면 손이 먼저 떨립니다. VLOOKUP으로 채워둔 표에서 이 오류값이 하나라도 보이면 상사한테 공유하기 민망해지죠. 급한 대로 셀을 지웠다 다시 채워봐도 똑같은 자리에서 오류가 재발하는 경우가 많습니다. 이럴 때 꺼내 쓰는 함수가 IFERROR와 IFNA입니다. 오류의 원인을 없애주는 함수는 아니지만, 적어도 화면에 빨간 글자 대신 원하는 문구를 띄워 급한 불은 끌 수 있습니다.

이 글에서는 엑셀에서 자주 만나는 오류값이 왜 뜨는지부터, IFERROR와 IFNA 각각의 문법과 차이, 실무에서 어느 쪽을 먼저 써야 하는지까지 정리했습니다. 2026년 7월 기준으로 Microsoft 공식 지원 문서를 확인해, 문서에 실제로 나온 내용만 담았습니다.

엑셀 오류값 종류 6가지 구분법 (#N/A·#VALUE!·#REF! 등)

IFERROR나 IFNA를 쓰기 전에 지금 뜬 오류가 정확히 무슨 오류인지부터 봐야 합니다. 이름은 다 비슷해 보여도 발생 원인이 완전히 다르고, 그에 따라 고치는 방법도 갈립니다. 자주 보이는 여섯 가지를 표로 정리했습니다.

오류값 발생 원인 대처법
#N/A VLOOKUP처럼 값을 찾는 함수에서 조회 범위에 찾는 값이 없을 때 가장 흔히 발생합니다. 데이터 형식이 안 맞거나(숫자 vs 텍스트), 숨은 공백, range_lookup을 TRUE로 잘못 지정한 경우도 원인이 됩니다. 원본 데이터에 찾는 값이 실제로 있는지 먼저 확인하고, TRIM으로 공백을 없애거나 INDEX/MATCH로 바꾸는 방법, range_lookup을 FALSE로 지정하는 방법이 있습니다. 급하면 IFERROR·IFNA로 감싸 대체 문구를 띄웁니다.
#VALUE! 잘못된 형식 지정이나 함수가 지원하지 않는 데이터 타입을 인수로 넣었을 때 발생합니다. 숫자를 요구하는 자리에 텍스트를 넣는 경우가 대표적입니다. 인수로 넣은 값의 데이터 타입을 다시 확인합니다. IF 함수 안에서 발생했다면 ISERROR·ISERR·IFERROR 같은 오류 처리 수식을 함께 씁니다.
#REF! 수식이 참조하던 셀·행·열이 삭제되거나 다른 데이터로 바뀌었을 때 발생합니다. 예를 들어 참조 범위가 4개 열(A:D)뿐인데 5번째 열을 지정하면 이 오류가 납니다. 참조 범위와 열 번호를 다시 맞추고, 삭제된 셀 대신 남아있는 범위로 수식을 다시 지정합니다.
#DIV/0! 셀 값을 0으로 나누거나, 값이 없는 빈 셀로 나눌 때 발생합니다. 분모로 쓰인 셀 값을 확인하고, IFERROR로 감싸 대체 문구를 띄웁니다.
#NAME? 함수 이름을 잘못 입력했거나, 특수문자가 들어간 시트 이름을 따옴표 없이 참조했을 때 발생합니다. 함수명 철자를 다시 확인하고, 시트 이름은 따옴표로 감싸 참조합니다.
#NUM! 숫자만 허용하는 함수 인수에 쉼표·통화기호 같은 서식이 붙은 숫자를 그대로 넣었을 때 발생합니다. 예를 들어 =ABS(-2,134)를 입력하면 Excel이 이를 -2와 134라는 별개의 두 인수로 인식합니다. 서식 없는 순수 숫자로 바꿔 입력합니다(쉼표 제거).

표에서 보듯 #N/A와 #REF!는 원인이 아예 다릅니다. 이름만 보면 둘 다 그냥 ‘오류’로 뭉뚱그려지기 쉽지만요. #N/A는 대체로 ‘찾는 값이 없어서’ 생기고, #REF!는 ‘참조하던 자리가 사라져서’ 생깁니다. 둘 다 IFERROR로 감싸면 화면에서는 똑같이 사라지지만, 진짜 문제는 전혀 다른 곳에 있는 셈이죠. 여기서 원인과 증상을 헷갈리는 경우가 많습니다. 이 표에 없는 #NULL! 오류도 있는데, IFERROR가 잡아내는 오류 목록 7종 중 하나로 이름만 확인됐을 뿐 구체적인 발생 조건까지는 이번 글에서 다루지 않았습니다.

텍스트/숫자 형식 불일치로 발생하는 #N/A 도식

A2 (조회값)정렬
“1001” (텍스트)좌측 정렬
VLOOKUP 결과#N/A

Before — 조회값이 텍스트 형식이라 숫자 형식인 원본과 매칭되지 않음

형식 통일 →
A2 (조회값)정렬
1001 (숫자)우측 정렬
VLOOKUP 결과정상 조회됨

After — 조회값을 숫자 형식으로 맞추면 원본과 매칭되어 정상 조회

엑셀 셀은 기본적으로 텍스트는 좌측 정렬, 숫자는 우측 정렬로 표시됩니다. 셀 정렬만 봐도 두 값의 형식이 다르다는 걸 알아챌 수 있습니다.

엑셀 IFERROR 함수 사용법

IFERROR는 수식 하나를 통째로 감싸서, 오류가 나면 지정한 값을 대신 보여주는 함수입니다. 구문은 아래처럼 단순합니다.

IFERROR(value, value_if_error)

value 자리에는 오류 여부를 확인할 원래 수식을 넣고, value_if_error 자리에는 오류가 났을 때 대신 보여줄 값을 넣으면 됩니다. 나눗셈에서 분모가 0이거나 빈 칸이라 #DIV/0!가 뜨는 상황이라면 이렇게 씁니다.

=IFERROR(A2/B2, “오류”)

이 수식은 A2를 B2로 나눈 값이 정상이면 그 결과를 그대로 보여주고, 계산 중 오류가 나면 “오류”라는 문자열로 바꿔 보여줍니다. 여기서 중요한 지점은 IFERROR가 오류 종류를 가리지 않는다는 점입니다. 공식 문서에 따르면 IFERROR는 #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL! 이렇게 일곱 가지 오류를 전부 같은 방식으로 처리합니다. 오류 종류를 따로 구분하지 않고 뭉뚱그려 잡아낸다는 뜻이죠.

나눗셈 #DIV/0! → IFERROR 적용 전/후 비교 도식

A2100
B20 (또는 빈 칸)
=A2/B2#DIV/0!

Before — 분모(B2)가 0이거나 비어 있어 #DIV/0! 발생

IFERROR 적용 →
A2100
B20 (또는 빈 칸)
=IFERROR(A2/B2, “오류”)오류

After — #DIV/0! 대신 “오류” 문자열로 대체됨

빈 셀이나 배열 수식을 다룰 때도 규칙이 있습니다. value나 value_if_error 자리가 빈 셀이면 빈 문자열(“”)로 처리되고, value가 배열 수식이면 범위 안 각 셀에 대한 결과를 배열로 반환합니다. 자주 쓰는 기능은 아니지만 표 전체에 IFERROR를 한 번에 적용할 때는 알아두는 편이 낫습니다.

엑셀 IFNA 함수 사용법

IFNA는 이름에서 짐작되듯 #N/A 오류 하나만 상대합니다. 구문은 IFERROR와 거의 동일합니다.

IFNA(value, value_if_na)

공식 문서 원문을 그대로 옮기면, IFNA는 수식이 #N/A 오류 값을 반환하면 지정한 값을 돌려주고 그렇지 않으면 수식의 결과를 그대로 돌려줍니다. VLOOKUP으로 값을 찾다가 원본 데이터에 없어서 #N/A가 뜨는 상황을 예로 들면 이렇게 씁니다.

=IFNA(VLOOKUP(“Seattle”, A2:B10, 2, FALSE), “Not found”)

“Seattle”이 조회 범위에 없으면 #N/A 대신 “Not found”라는 문자열이 뜨고, 있으면 정상적으로 찾은 값이 표시됩니다. 이 예시는 IFNA 공식 문서에 그대로 실려 있는 활용법입니다. 빈 셀·배열 처리 규칙은 IFERROR와 동일하게 적용됩니다.

VLOOKUP #N/A → IFNA 적용 전/후 비교 도식

수식결과
=VLOOKUP(“Seattle”, A2:B10, 2, FALSE)#N/A

Before — 조회 범위(A2:B10)에 “Seattle”이 없어 #N/A 표시

IFNA 적용 →
수식결과
=IFNA(VLOOKUP(…), “Not found”)Not found

After — #N/A 대신 “Not found” 문자열이 표시됨

IFERROR IFNA 차이 비교

이름도 비슷하고 구문도 거의 같다 보니 둘을 그냥 섞어 쓰는 경우가 많습니다. 실제로 잡아내는 오류의 범위는 꽤 다릅니다. IFERROR는 앞서 본 일곱 가지 오류를 전부 하나로 처리하는 반면, IFNA는 #N/A 하나만 골라서 처리하고 나머지 오류는 그대로 화면에 남겨둡니다. 표로 대조하면 이렇습니다.

구분 IFERROR IFNA
잡아내는 오류 범위 #N/A·#VALUE!·#REF!·#DIV/0!·#NUM!·#NAME?·#NULL! 7종 전부를 하나로 처리 #N/A 오류 하나만 처리. 나머지 오류는 화면에 그대로 노출됨
구문 IFERROR(value, value_if_error) IFNA(value, value_if_na)
대표 예시 =IFERROR(A2/B2, “오류”) =IFNA(VLOOKUP(“Seattle”, A2:B10, 2, FALSE), “Not found”)
빈 셀·배열 처리 빈 셀은 빈 문자열, 배열 수식은 배열 결과로 반환 IFERROR와 동일

이 차이가 실무에서 갈리는 지점은 하나입니다. VLOOKUP 수식에서 값을 못 찾는 상황(#N/A)만 대체 문구로 바꾸고 나머지 오류는 일부러 그대로 두고 싶다면 IFNA가 맞습니다. 오류 종류와 상관없이 화면에 뭐가 뜨든 전부 깔끔하게 가리고 싶다면 IFERROR 쪽이 편합니다.

실무에서 IFERROR·IFNA 언제 써야 할까

둘 중 뭘 먼저 써야 하느냐는 질문에는 정답이 정해져 있지 않습니다. 다만 공식 문서를 보면 VLOOKUP에서 #N/A가 뜰 때 접근법을 두 갈래로 제시합니다. 하나는 IFERROR·IFNA로 오류를 감싸 대체 값을 보여주는 방법이고, 다른 하나는 TRIM으로 숨은 공백을 지우거나 INDEX/MATCH로 바꾸거나 range_lookup 인수를 FALSE로 지정하는 식으로 오류 원인 자체를 없애는 방법입니다.

실무 우선순위
보고서 제출이 코앞이라 시간이 없다면 일단 IFERROR나 IFNA로 화면부터 정리하고, 여유가 생기면 데이터 형식이나 조회 범위 같은 원인을 다시 들여다보는 순서가 현실적입니다. 급한 불부터 끄고 나중에 원인을 찾는 흐름이죠.

문제는 원인을 나중으로 미룬 채 그대로 넘어가는 경우가 많다는 점입니다. 표 하나에 IFERROR를 걸어두고 그 뒤로 다시 열어보지 않으면, 데이터 형식이 안 맞아서 계속 오류가 나고 있었다는 사실 자체를 아예 잊어버리기 쉽습니다.

IFERROR 남용 주의
IFERROR는 오류 종류를 가리지 않고 전부 같은 값으로 바꿔버립니다. 함수 이름을 잘못 입력해서 나는 #NAME? 오류도 예외가 아닙니다. 수식을 IFERROR로 감싸두면 VLOKUP처럼 오타가 섞인 함수명 때문에 생긴 #NAME? 오류까지 조용히 “오류”라는 문구 뒤로 숨어버릴 수 있습니다. 화면은 깨끗해 보여도 수식 자체는 여전히 틀린 상태인 셈이라, IFERROR를 걸기 전에 함수명과 참조 범위부터 한 번 더 확인하는 편이 안전합니다.
함수명 오타(#NAME?)가 IFERROR에 가려지는 상황 도식

수식결과
=VLOKUP(A2, B2:C10, 2, FALSE)#NAME?

IFERROR 없이 — 함수명 오타(VLOKUP)가 #NAME?로 바로 드러남

IFERROR로 감싸면 →
수식결과
=IFERROR(VLOKUP(A2, B2:C10, 2, FALSE), “오류”)오류

IFERROR로 감싼 후 — 화면은 깨끗해 보이지만 VLOKUP 오타는 수식 안에 그대로 남아있음

두 화면 모두 결과 셀에는 “오류”만 보입니다. 오른쪽 화면만 봐서는 원인이 함수명 오타인지, 조회값이 없는 것인지 구분할 수 없습니다.

물론 이 우선순위가 항상 맞아떨어지는 건 아닙니다. #REF! 오류처럼 참조하던 셀이나 열 자체가 삭제된 경우엔 IFERROR로 감싸봤자 그 수식이 가리키는 대상은 여전히 없는 상태입니다. 화면에는 대체 문구만 뜰 뿐, 정작 그 표를 가져다 쓰는 다른 시트나 다른 수식에서는 같은 문제가 그대로 되풀이됩니다. 이런 경우엔 IFERROR로 가리는 대신 참조 범위를 다시 지정하는 쪽이 먼저입니다.

IF 함수 안에서 #VALUE!가 날 때도 비슷합니다. 공식 문서는 ISERROR나 ISERR, IFERROR 같은 오류 처리 수식을 IF와 함께 쓸 수 있다고 안내하는데, 이 역시 근본 원인인 데이터 타입 불일치를 고치는 대신 화면만 정리하는 방법이라는 점은 같습니다.

핵심 정리

  • IFERROR는 #N/A·#VALUE!·#REF!·#DIV/0!·#NUM!·#NAME?·#NULL! 7종 오류를 전부 같은 값으로 대체한다
  • IFNA는 #N/A 오류만 골라서 대체하고 나머지 오류는 그대로 노출한다
  • 급할 때는 IFERROR·IFNA로 화면부터 정리하고, 여유가 있을 때 데이터 형식·참조 범위 같은 원인을 다시 확인하는 편이 안전하다
  • IFERROR로 감싼 수식은 함수명 오타(#NAME?)까지 가릴 수 있으니 걸기 전에 한 번 더 확인한다
출처

  • Microsoft 지원, IFERROR·IFNA 함수 공식 문서(support.microsoft.com), 확인일 2026-07-11
  • Microsoft 지원, 오류 유형별 교정 가이드(#N/A·#VALUE!·#REF!·#NUM! 등, support.microsoft.com), 확인일 2026-07-11

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다