메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

엑셀 업무 공략집 - 에러는 왜 발생하고 어떻게 해결할 수 있을까?

한빛미디어

|

2020-06-30

|

by 한빛

17,284

 

사용자가 작성한 수식에 문제가 있다면 엑셀은 #N/A와 같은 에러를 반환합니다. 수식 에러는 한 가지가 아니라 여러 종류가 있으며, 각 에러는 사용자가 어떤 실수를 했는지 알려줍니다.

 

 

#DIV/0! 에러

#DIV/0! 에러에서 DIV는 Division(나눗셈)의 약어로, 나눗셈 연산자(/)를 사용하거나 QUOTIENT, MOD 등의 나눗셈 연산을 하는 함수를 사용하는 수식에서 주로 발생합니다. 나눗셈 연산은 숫자를 0으로 나눌 수 없기 때문에 작성된 수식이 숫자를 0으로 나누도록 되어 있다면 #DIV/0! 에러가 반환됩니다. 이 에러가 정확하게 어떤 이유로 발생하는지 설명만으로 충분하지 않다면 에러가 발생한 셀에서 [수식 계산] 명령을 이용해 계산 과정을 살펴보는 것이 좋습니다. [수식 계산] 명령을 이용하는 방법은 이 책의 119 페이지를 참고합니다.

 

#N/A 에러

#N/A 에러에서 N/A는 Not Available의 약어로, ‘사용할 수 없다’는 의미를 갖습니다. 엑셀 함수 중에는 특정 값의 위치를 찾는 함수(VLOOKUP, MATCH, LOOKUP 등)가 꽤 많은데, 만약 찾는 값이 없다면 #N/A 에러가 발생합니다. 

 

엑셀의 함수는 찾는 값과 정확하게 일치하는 값을 찾습니다. 따라서 공백 문자(“ ”)가 포함된 경우나 데이터 형식이 다른 경우에도 #N/A 에러가 발생하므로 주의가 필요합니다.

 

텍스트형 숫자와 #N/A 에러

#N/A 에러는 데이터가 동일한 상황에도 발생하는데, 바로 데이터 형식이 다른 경우입니다. 주로 숫자 데이터를 찾는 과정에서 숫자 데이터 중 일부가 텍스트 형식으로 인식되면서 발생합니다. VLOOKUP과 같은 함수는 값을 찾을 때 데이터 형식도 동일해야 하기 때문입니다. 그러므로 동일한 데이터가 존재할 때 #N/A 에러가 발생한다면 텍스트형 숫자 데이터를 숫자로 변경할 필요가 있습니다. 텍스트형 숫자 데이터를 숫자로 변환할 때 다음과 같은 수식을 사용합니다.

 

2.jpg

 

앞의 두 방법은 [A1] 셀의 숫자를 그대로 반환하는 역할을 하므로 비교적 어렵지 않습니다. 마지막 마이너스 기호(-)를 앞에 두 번 붙이는 방법은 원리를 알아야 쉽게 이해가 됩니다. 사용자가 숫자 앞에 마이너스 기호를 붙인다고 해서 바로 음수가 되는 것은 아닙니다.

 

예를 들어 다음과 같은 수식을 입력했다고 가정해봅니다.

3.jpg

 

[A1] 셀의 값을 바로 음수로 만드는 것이 아니라 다음과 같은 계산 과정을 거치게 됩니다.

18.jpg

 

그러므로 마이너스 기호(-)를 한 번만 사용해도 텍스트형 숫자는 숫자로 변경됩니다. 다만 음수가 되므로 이를 다시 양수로 변환해야 합니다. 따라서 마이너스 기호를 한 번 더 입력해 다음과 같은 계산식을 만드는 것입니다.

4.jpg

 

이렇게 하면 다음과 같은 계산이 되면서 1을 곱하는 연산과 같은 결과를 얻게 됩니다.

5.jpg

>>>업무 만렙 공략 팁!!!! -1과 -1를 곱하면 1이 됩니다.

 

그러므로 [A1] 셀에 텍스트형 숫자가 입력되어 있고 이 값을 [C1:C10] 범위 같은 임의의 숫자 데이터에서 찾아야 한다면 다음과 같이 VLOOKUP 함수를 구성합니다. 

6.jpg

 

반대로 [A1] 셀에 숫자가 입력되어 있고 [C1:C10] 범위에 텍스트형 숫자가 입력되어 있다면 다음과 같이 [A1] 셀의 데이터를 텍스트 형식으로 변환한 후 찾아야 #N/A 에러를 피할 수 있습니다.

7.jpg

 

 

#NAME? 에러

#NAME? 에러는 수식 내에서 엑셀이 알지 못하는 이름(NAME)이 사용될 때 발생합니다. 보통 함수명이나 정의된 이름을 잘못 입력한 경우에 표시되는데, 하위 버전에서 상위 버전 함수를 사용할 경우에도 발생합니다. 버전별로 새로 추가된 함수 중 자주 사용되는 함수는 다음과 같습니다.

 

8.jpg

 

 

#NULL! 에러

#NULL! 에러에서 NULL이란 표현은 아무것도 존재하지 않는다는 뜻입니다. 보통 공백 참조 연산자(“ ”)의 사용과 연관이 있습니다. 공백 참조 연산자(“ ”)는 두 범위의 교집합 범위를 반환하는데, 교집합 범위가 없다면 #NULL! 에러가 표시됩니다. 다만 최근에는 공백 참조 연산자(“ ”)를 거의 사용하지 않으므로 이 에러는 일반 사용자가 만나기 어려운 에러에 해당합니다. 그럼에도 이 에러가 발생한다면 대부분 사용자가 수식을 고치다가 쉼표(,)와 같은 참조 연산자를 잘못 지운 경우입니다.

 

예를 들어 다음 화면의 표에서는 #NULL! 에러가 발생하고 있는데, 수식은 다음과 같습니다.

9.jpg

 

 

#NUM! 에러

#NUM! 에러에서 NUM은 Number의 약어입니다. 그러므로 이 에러는 숫자와 관련한 계산 작업에서 주로 발생하며 다양한 원인이 있습니다. 대표적인 사례는 다음과 같습니다.

 

사례 1 엑셀에서 계산할 수 있는 숫자 범위를 초과하는 경우입니다.

엑셀은 숫자 계산의 경우 정밀도는 15자리까지만 지원하며, 계산 결과는 ‘-10^307 ~ 10^307’ 범위 내 숫자여야 합니다. 이 범위를 넘어서는 계산 작업의 경우는 #NUM! 에러가 발생합니다. 빈 셀에 다음과 같은 수식을 입력해보세요!

10.jpg

 

그러면 계산 결괏값 대신 #NUM! 에러가 표시되는데, 보통 이 정도로 큰 숫자를 계산해야 할 일은 많지 않습니다. 따라서 이 에러가 표시된다면 숫자 계산 작업에서 괄호 열기와 닫기를 잘못 사용한 경우가 많습니다. 다음으로는 수식 내에서 거듭제곱(^) 연산자를 사용하는 부분이나 거듭제곱 함수인 POWER 함수 부분을 잘 살펴보는 것이 좋습니다.

 

참고로 숫자 정밀도는 엑셀에서 정확하게 계산할 수 있는 숫자의 자릿수를 의미하는 표현으로, 엑셀은 총 15자리까지만 정확하게 계산하고, 이후 값은 대략적인 값만 지수 형식(1E208)으로 반환합니다. 이 부분을 확인하려면 빈 셀에 카드 번호(xxxx xxxx xxxx xxxx)를 띄어쓰기 없이 그대로 입력합니다. 마지막 숫자가 무조건 0이 됩니다.

 

사례 2 계산할 수 없는 수식을 사용할 때 표시됩니다.

계산할 수 없는 수식이란 수학적으로 계산이 불가능한 경우입니다. 예를 들어 다음과 같은 수식을 사용해 -25의 제곱근(루트값)을 계산하면 #NUM! 에러가 표시됩니다.

11.jpg

>>>업무 만렙 공략 팁!!!! SQRT 함수는 숫자의 제곱근 값을 반환해주는 함수로 일반 계산식으로는 ‘=숫자^1( /2)’로 구합니다.

 

제곱근이란 어떤 수 x를 제곱하여 a라는 결과를 얻었을 때 x는 a의 제곱근이라고 합니다. 그러므로 a는 항상 양수가 될 수 밖에 없습니다.

12.jpg

그러므로 음수의 제곱근은 구할 수 없습니다. 이런 계산 작업은 불가능하므로 #NUM! 에러가 표시됩니다.

 

사례 3 IRR, RATE 함수와 같은 반복 계산 함수에서 답이 없는 경우에 표시됩니다.

 

사례 4 DATEDIF 함수에서 시작일이 종료일보다 큰 값일 때 표시됩니다. 예를 들어 2010년 1월 1일부터 2020년 1월 1일까지 연의 차이를 구하려는 다음 수식을 입력하면 #NUM! 에러가 발생합니다.

13.jpg

>>>업무 만렙 공략 팁!!!! 첫 번째 인수와 두 번째 인수의 날짜를 서로 변경하면 에러가 사라집니다.

 

 

#VALUE! 에러

#VALUE! 에러에서 VALUE는 용어 그대로 값을 의미합니다. 이 에러는 수식 내에서 값을 잘못 사용하고 있는 경우에 표시되며, 다양한 원인에 의해 발생합니다. 대표적인 사례는 다음과 같습니다.

 

사례 1 텍스트 형식의 값으로 사칙 연산할 경우에 표시됩니다.

 

사례 2 숫자를 인수로 받는 함수에 텍스트 형식의 값을 전달한 경우에 표시됩니다.

14.jpg

>>>업무 만렙 공략 팁!!!! LEFT 함수의 두 번째 인수에는 숫자 데이터만 사용해야 합니다.

 

15.jpg

>>>업무 만렙 공략 팁!!!! SUM 함수는 “사”와 같은 텍스트 데이터를 더할 수 없습니다.

 

사례 3 셀을 하나만 참조해야 하는데, 둘 이상의 범위를 참조할 때 표시됩니다.

16.jpg

단, 마이크로소프트 365 버전에서는 데이터를 배열로 반환하므로 위 수식에서 #VALUE! 에러가 발생하지 않습니다.

 

 

#REF! 에러

#REF! 에러에서 REF는 Reference의 약어로, 참조한 셀(또는 범위)이 존재하지 않을 때 발생합니다. 주로 셀을 삭제했을 때 발생하지만 다른 원인에 의해 발생할 수도 있습니다. 대표적인 사례는 다음과 같습니다.

 

사례 1 참조한 셀(또는 범위)이 삭제된 경우에 표시됩니다.

 

사례 2 상대 참조 방식으로 참조된 셀이 포함된 수식을 왼쪽(또는 위쪽)으로 복사할 때 워크시트의 범위를 벗어날 경우 표시됩니다. 예를 들어 [C3] 셀에 [A1] 셀을 참조하는 아래의 수식을 입력하고, [C3] 셀의 채우기 핸들 을 [A3] 셀쪽으로 드래그해 수식을 복사하면 [A3], [B3] 셀에 #REF! 에러가 발생합니다.

17.jpg

 

 

########## 에러

이 에러는 셀 값을 표시하지 못할 때 표시됩니다. 보통 열 너비를 잘못 조정해 셀 값을 표시하기 어려울 때 발생하는데, 열 구분선을 더블클릭하는 방법으로 해결할 수 있습니다. 그런데 이 에러는 셀 값이 음수가 되는 경우에도 발생할 수 있습니다. 이 경우는 표시 형식이 [날짜(또는 시간)]로 설정된 경우이므로, 표시 형식을 [일반]으로 변경하면 해결할 수 있습니다.

 

 

 

 

필수 공식으로 하루에 하나씩 정복하는 엑셀 업무 공략집 ↓

 

B3669653041_l.jpg

 

 

댓글 입력
자료실