What I Do

엑셀 수식 오류 종류와 해결법 | #N/A·#VALUE!·#REF!·#NAME?·#DIV/0!

8분 읽기

엑셀 수식 오류는 #N/A·#VALUE!·#REF!·#NAME?·#DIV/0!처럼 이름마다 원인이 다릅니다. 오류별 뜻과 먼저 볼 곳, IFERROR·IFNA로 가릴 때와 고칠 때를 가르는 기준, 광고 보고서 예제로 고치는 순서를 알아봅니다.

엑셀 수식 오류 종류와 해결법 | #N/A·#VALUE!·#REF!·#NAME?·#DIV/0!

엑셀 수식 오류는 #N/A, #VALUE!, #REF!, #NAME?, #DIV/0!처럼 이름이 제각각인데요, 이 이름이 곧 어디가 잘못됐는지 알려 주는 단서입니다. #N/A는 찾는 값이 없다는 뜻이고, #REF!는 참조하던 셀이 사라졌다는 뜻이라서, 이름만 보고도 어디부터 볼지 정할 수 있죠. IFERROR로 한꺼번에 가리는 방법도 있지만, 원인을 모른 채 가리면 틀린 숫자가 보고서에 그대로 남을 수 있어서 먼저 고치고, 남는 것만 가리는 순서가 안전합니다.

"어제까지 멀쩡하던 보고서에 갑자기 #N/A가 줄줄이 떴어요." 광고 매체에서 내려받은 데이터를 붙여 넣고 VLOOKUP으로 매출을 붙이다 보면 이런 장면을 한 번쯤 겪어 보셨을 텐데요. 그렇다면 오류마다 무엇을 먼저 확인하고, 어떤 경우에 IFERROR를 써도 괜찮은 걸까요? 이번 글에서는 자주 만나는 엑셀 수식 오류 다섯 가지의 원인과 해결 방법, 오류 처리 함수를 고르는 기준을 하나씩 짚어 보겠습니다.

1. 엑셀 수식 오류, 이름마다 무엇을 알려 줄까요?

Excel 수식 오류 감지 도움말은 셀에 나타나는 오류 값을 아래처럼 설명하고 있는데요.

오류 값뜻
#DIV/0!0이나 빈 셀로 나누었습니다
#N/A함수나 수식에서 값을 찾을 수 없습니다
#NAME?함수 이름, 범위 이름 같은 수식 속 텍스트를 인식할 수 없습니다
#NULL!교차하지 않는 두 범위에 교차 연산자(공백)를 썼습니다
#NUM!함수나 수식에 잘못된 숫자 값이 있습니다
#REF!셀 참조가 유효하지 않습니다(삭제되었거나 덮어쓴 경우)
#VALUE!수식에 서로 다른 데이터 형식이 섞여 있습니다

오류 값은 자동차 계기판의 경고등과 비슷합니다. 엔진 경고등과 타이어 경고등이 다른 곳을 가리키듯, #N/A와 #REF!도 서로 다른 곳을 가리키죠. 경고등에 테이프를 붙여 가린다고 고장이 고쳐지지는 않는데요, IFERROR로 오류를 덮는 것도 같은 이치라서 어떤 경고등이 켜졌는지부터 읽는 것이 첫 단계입니다. 참고로 셀이 ####로 채워지는 경우는 위 오류와 달리 열이 좁거나 날짜·시간 값이 음수일 때 생기는 표시 문제인데요, 이 경우는 엑셀 #### 해결 글에서 따로 다뤘습니다.

광고 보고서 시트에서 #N/A, #DIV/0!, #REF! 오류가 난 셀과 원인을 표시한 예시 예시 그림: 가상 데이터로 만든 시트 예시이며 실제 캡처가 아닙니다. 오류 이름마다 확인할 곳이 다릅니다.

그럼 실무에서 가장 자주 만나는 다섯 가지는 각각 어떻게 고칠까요?

2. 자주 만나는 엑셀 수식 오류 다섯 가지는 어떻게 고칠까요?

#N/A: 찾는 값이 없을 때 #N/A 오류 도움말에 따르면 이 오류는 XLOOKUP, VLOOKUP, HLOOKUP, LOOKUP, MATCH 함수에서 가장 흔하게 나타나는데요. 먼저 찾는 값이 원본 데이터에 정말 있는지 보고, 있다면 아래 세 가지를 확인합니다.

  • 데이터 형식: 한쪽은 숫자, 한쪽은 텍스트로 저장되어 있으면 같은 값이어도 찾지 못합니다. 이 경우는 텍스트로 저장된 숫자 바꾸는 글을 참고해 주세요.
  • 앞뒤 공백: 도움말은 TRIM 함수로 앞뒤 공백을 지우라고 안내합니다.
  • 정확히 일치: VLOOKUP은 마지막 인수 range_lookup을 FALSE로, MATCH는 match_type을 0으로 둡니다. 근사 일치로 두면 #N/A뿐 아니라 엉뚱한 값이 나올 수도 있습니다.

#VALUE!: 숫자 자리에 텍스트가 섞였을 때 #VALUE! 오류 도움말은 숨은 공백이나 텍스트가 섞인 셀을 +나 * 같은 연산자로 계산할 때를 대표 원인으로 듭니다. =A2+B2+C2 대신 =SUM(A2:C2)처럼 함수를 쓰면 풀리는 경우가 많고, 별도 열에 ISTEXT를 걸어 TRUE가 나오는 셀을 찾아 다시 입력하는 방법도 있습니다. 날짜가 왼쪽으로 정렬되어 있다면 텍스트로 들어간 날짜일 가능성이 높다는 점도 함께 짚고 있죠.

#REF!: 참조하던 셀이 사라졌을 때 #REF! 오류 도움말의 예시가 이해하기 쉬운데요. =SUM(B2,C2,D2)에서 C열을 지우면 수식이 =SUM(B2,#REF!,C2)로 바뀝니다. 바로 알아챘다면 Ctrl+Z로 되돌리면 되고, 처음부터 =SUM(B2:D2)처럼 범위로 써 두면 중간 열을 지워도 엑셀이 수식을 알아서 조정합니다. =VLOOKUP(A8,A2:D5,5,FALSE)처럼 4열짜리 범위에서 5번째 열을 달라고 해도 #REF!가 나옵니다.

#NAME?: 수식 속 글자를 못 알아볼 때 #NAME? 오류 도움말은 가장 큰 원인으로 함수 이름 오타를 꼽습니다. 그 밖에 정의하지 않은 이름을 쓴 경우, 텍스트를 큰따옴표로 감싸지 않은 경우, B2:B12에서 콜론을 빠뜨린 경우, 추가 기능이 꺼져 있어 함수를 쓸 수 없는 경우가 있는데요. 함수 이름을 직접 타이핑하기보다 입력할 때 뜨는 수식 자동 완성 목록에서 고르면 오타를 줄일 수 있습니다.

#DIV/0!: 0이나 빈 셀로 나눌 때 #DIV/0! 오류 도움말에 따르면 나누는 값이 0이거나 비어 있으면 생깁니다. 아직 데이터가 들어오지 않은 칸이라면 =IF(A3,A2/A3,0)처럼 나누는 값이 있을 때만 계산하게 만들 수 있죠.

다섯 가지 모두 원인을 고치는 방법이 먼저 나오는데요, 그래도 남는 오류는 어떻게 처리하면 좋을까요?

3. IFERROR·IFNA·XLOOKUP, 오류는 무엇으로 처리할까요?

오류를 다른 값으로 바꿔 보여 주는 방법은 크게 세 가지입니다.

방법잡는 오류이럴 때 맞습니다주의할 점
IFERROR(value, value_if_error)#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!원인을 확인한 뒤에도 남는 오류를 한 번에 바꿀 때모든 오류를 가리므로 오타나 삭제된 참조까지 숨깁니다
IFNA(value, value_if_na)#N/A만조회 결과 「없음」만 바꾸고 다른 오류는 보이게 둘 때다른 오류는 그대로 남습니다
XLOOKUP의 if_not_found일치 항목이 없을 때XLOOKUP으로 찾는 수식생략하면 #N/A가 나옵니다

IFERROR 함수 도움말에 나온 처리 대상은 위 표의 일곱 가지이고, IFNA 함수 도움말은 수식이 #N/A를 돌려줄 때만 지정한 값을 돌려준다고 설명합니다. XLOOKUP 함수 도움말에 따르면 if_not_found를 비워 두면 일치 항목이 없을 때 #N/A가 나옵니다.

IFERROR, IFNA, XLOOKUP if_not_found가 어떤 오류를 바꾸고 어떤 오류를 남기는지 비교한 그림 IFNA는 #N/A만 바꾸고 나머지 오류는 그대로 보여 줍니다.

제가 고르는 기준은 이렇습니다.

  • 조회 수식이라면 IFNA나 if_not_found: 「목록에 없는 캠페인」만 「매칭 없음」으로 바꾸고, 범위가 틀려 생긴 #REF!는 눈에 보이게 남겨 둘 수 있기 때문입니다.
  • 나눗셈이라면 IF로 분모 확인: 분모가 비어 있는 경우만 골라 처리하므로 다른 실수를 덮지 않습니다.
  • IFERROR는 마지막에: #DIV/0! 도움말도 IFERROR와 IF(ISERROR())는 #DIV/0!만이 아니라 모든 오류를 숨기므로, 수식이 제대로 동작하는지 먼저 확인하라고 당부하는데요. #NAME? 도움말 역시 IFERROR로 가리지 말고 구문을 고치라고 권합니다.

셀 값은 그대로 두고 보이는 것만 바꾸는 방법도 있습니다. 오류 값 숨기기 도움말에 따르면 홈 > 조건부 서식 > 규칙 관리 > 새 규칙에서 「포함된 셀만 서식」을 고르고 「오류」를 선택해 글꼴을 흰색으로 바꿀 수 있고, 피벗 테이블은 피벗 테이블 분석 > 옵션의 레이아웃 & 서식 탭에서 「오류 값 표시」를 선택해 대신 보여 줄 글자를 정할 수 있습니다. 다만 조건부 서식은 글꼴 색만 바꾸는 방법이라 셀 안의 값은 오류 그대로라는 점을 기억해 두시길 권합니다.

4. 주간 광고 보고서에서 오류가 났다면 어떤 순서로 고칠까요?

캠페인별 광고비 시트에 주문 시트의 매출을 VLOOKUP으로 붙이고, ROAS를 매출/광고비로 계산하는 주간 보고서를 만든다고 해 볼게요. 데이터는 예시입니다.

오류 검사, 수식 계산, 원인별 수정, 남은 오류 처리로 이어지는 네 단계 예시 오류를 가리는 일은 마지막 단계에서만 합니다.

  1. 오류 위치를 모읍니다. 수식 > 수식 감사 > 오류 검사를 누르면 오류가 있는 셀을 하나씩 찾아 줍니다.
  2. 수식을 한 단계씩 풀어 봅니다. 같은 그룹의 수식 계산을 열고 계산을 누르면 밑줄 친 부분이 차례로 계산되는데요, 어느 조각에서 오류가 생기는지 눈으로 볼 수 있습니다. 수식 오류 감지 도움말은 이 기능을 Windows용 Excel 안내에 넣어 두었는데, 중첩 수식의 단계별 계산 도움말의 적용 대상에는 Mac용 Excel 2024·2021도 올라 있어 버전에 따라 메뉴가 보이지 않을 수도 있습니다.
  3. 원인별로 고칩니다. 매출 열의 #N/A는 캠페인명 끝 공백이나 숫자·텍스트 형식 차이부터, ROAS 열의 #DIV/0!는 광고비가 비어 있는 행부터, #REF!는 지난주에 지운 열이 있었는지부터 확인합니다.
  4. 남은 것만 처리합니다. 이번 주 주문이 정말 없는 캠페인은 =IFNA(VLOOKUP(A2,주문!A:C,3,FALSE),0)처럼 0으로, 광고비가 아직 없는 행은 =IF(B2,C2/B2,"")처럼 빈칸으로 둡니다.
매출   =IFNA(VLOOKUP(A2,주문!A:C,3,FALSE),0)
ROAS   =IF(B2,C2/B2,"")

이렇게 해 두면 다음 주에 시트 범위가 틀어져 #REF!가 생겨도 IFNA가 그 오류를 덮지 않으니 바로 눈에 띄는데요. ROAS 같은 지표 계산식이 헷갈리신다면 광고 성과 지표 계산법 글도 함께 보시면 좋겠습니다.

5. 구글 시트에서도 같은 방법이 통할까요?

구글 시트도 같은 이름의 오류 값을 씁니다. 구글 시트 ERROR.TYPE 도움말을 보면 이 함수는 오류 종류를 숫자로 돌려주는데, 1부터 7까지가 #NULL!, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM!, #N/A 순서이고 그 밖의 모든 오류는 8입니다. 오류가 많은 시트에서 =ERROR.TYPE(A3)을 옆 열에 걸어 두고 필터로 종류별로 모아 보면 어디부터 손댈지 정하기 쉬워지죠.

다만 함수 동작이 엑셀과 조금 다른 곳이 있습니다.

  • IFERROR 두 번째 인수: 구글 시트 IFERROR 도움말에서는 두 번째 인수가 선택 사항이라 생략하면 오류 대신 빈칸이 나옵니다. 엑셀 IFERROR 도움말에는 두 인수가 모두 필수로 적혀 있습니다.
  • IFNA: 구글 시트 IFNA 도움말도 두 인수가 모두 필수이고, #N/A일 때만 지정한 값을 돌려줍니다.

※ 참고로 엑셀의 오류 표시 삼각형을 끄는 설정은 파일 > 옵션 > 수식의 오류 검사 항목에 있는데요, 수식 오류 감지 도움말은 이 확인란을 「백그라운드 오류 검사 사용」으로, 오류 값 숨기기 도움말은 「다른 작업을 수행하면서 오류 검사」로 적고 있어 버전에 따라 이름이 다를 수 있습니다. 끄면 오류를 발견하기 어려워지니 공유용 파일이 아니라면 켜 두시길 권합니다.

마치며

엑셀 수식 오류는 이름이 곧 원인을 가리키는 단서라서, #N/A는 찾는 값과 형식을, #REF!는 지워진 참조를, #DIV/0!는 분모를 먼저 보면 대부분 풀립니다. 원인을 고친 뒤에도 남는 오류만 IFNA나 IF로 좁게 처리하고, IFERROR는 무엇을 가리는지 알 때 쓰는 습관을 들이시면 보고서 숫자를 믿고 쓸 수 있습니다. 저도 보고서를 만들면서 새로 알게 되는 오류 사례가 있으면 다시 알려 드리겠습니다. 조회 함수 자체를 고르는 기준은 VLOOKUP XLOOKUP 차이 글을 참고해 주세요.

자주 묻는 질문

엑셀 #N/A 오류는 어떻게 없애나요?
먼저 찾는 값이 원본 데이터에 있는지, 숫자와 텍스트 형식이 같은지, 앞뒤에 공백이 없는지 확인합니다. VLOOKUP이라면 마지막 인수를 FALSE로 두어 정확히 일치하는 값을 찾게 합니다. 그래도 정말 없는 값이라면 IFNA 함수나 XLOOKUP의 if_not_found 인수로 0이나 「없음」 같은 값을 대신 보여 줄 수 있습니다.
IFERROR와 IFNA는 무엇이 다른가요?
IFERROR는 #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!을 모두 지정한 값으로 바꾸고, IFNA는 #N/A만 바꿉니다. 조회 수식에 IFNA를 쓰면 「찾는 값 없음」만 처리되고 범위 오류나 함수 이름 오타 같은 다른 문제는 오류로 남아 바로 알아챌 수 있습니다.
엑셀 수식 오류가 있는 셀을 한 번에 찾을 수 있나요?
수식 탭의 수식 감사 그룹에서 오류 검사를 누르면 오류가 있는 셀을 차례로 찾아 줍니다. 같은 그룹의 수식 계산을 쓰면 선택한 셀의 수식을 한 단계씩 계산해 보며 어느 부분에서 오류가 생기는지 볼 수 있습니다. 다만 Excel 버전에 따라 수식 계산 메뉴가 없을 수도 있습니다.

관련 글 더 보기

엑셀 수식과 데이터를 다룰 때 함께 보면 좋은 글들입니다.