본문 바로가기

일상다반사

엑셀 #N/A 오류 코드가 나타나는 이유와 해결 방법

반응형

 

이번 시간에는 지난 포스팅의 #VALUE! 오류 코드에 이어 엑셀 사용 중 #N/A 오류 코드가 나타나는 이유와 해결 방법에 대해서 다루어 보겠다. 이 코드는 문서에서 VLOOKUP을 사용하다 보면 자주 보게 되는데 보고용 파일에 #N/A 값을 그대로 두고 올리는 직원들을 종종 본다. 그중 #N/A 코드가 안 나오게 다시 작업해서 제출하도록 요청하면 #N/A 셀을 아예 Delete로 지워서 함수 자체를 날리는 경우가 있는데 그럼 향후 데이터를 가공할 때 다시 함수를 붙여 넣어야 하는 번거로움이 생기기 때문에 이와 같은 #N/A 코드가 나올 때 해결 방법에 대해서 알아보도록 하자.

 


 

#N/A

#N/A는 약어로 풀이를 해보면 해당 없음을 말하는데 보통 특정 영역에서 검색 값을 끌고 오는 LOOKUP류 함수나 MATCH 함수 등을 사용할 때 많이 발생한다. 기준으로 잡은 텍스트가 끌고 오려는 영역에 없을 때 표시가 되는 코드라고 생각하면 되겠다.

 


오류 예시

VLOOKUP은 많은 데이터에서 특정 조건 검색 값을 불러오는 용도로 사용하기 때문에 흔히 사용되는 함수다. 그런데 기준이 되는 값이 검색하려는 데이터 영역에 없는 경우가 있다.

왼쪽표는 취합용표, 오른쪽 표는 데이터표

 

위의 이미지에서 왼쪽의 표를 보면 기준이 되는 항목에서 영국, 브라질은 오른쪽 데이터의 국가칼럼에 없기 때문에 이렇게 #N/A로 표시가 된다. 보고되는 파일은 #N/A를 포함해 오류 코드가 있어선 안되는데 언급한 대로 이대로 올라오는 경우가 많다.

 

 


 

해결 방법

그럼 위의 상황이 발생되었을 때 어떻게 해결을 할 것인지 결정을 해야 한다. 회사 외부로 전송되는 문서의 경우 일부러 문서 전체의 수식을 지우고 값으로만 바꿔 보내는 경우가 있다. 그럴 땐 그냥 시트의 데이터를 값으로 바꾸고 Ctrl+h#N/A만 일괄적으로 지워낼 수도 있겠다. 그러나 수식은 유지해야 하는데 오류 코드를 없애고 싶은 경우는 IFERROR를 이용하여 #N/A 값을 원하는 표시 형태로 바꿔줘야 한다.

 

함수구조 =IFERROR(value, value_if_error)

IFERROR에서 value 부분을 VLOOKUP 수식으로 두면 되고, value_if_error 부분은 만약 에러 값이 나왔을 때는 어떻게 표시할지 지정하는 부분이다. 본인이 몸 담았던 직장들에서는 보통 “-“(하이픈) 처리를 많이 해서 이미지의 수식줄처럼 저렇게 함수를 구성해 둔다. 이 부분은 본인이 어떻게 정하는가에 따라 다른데 없음또는 “0”으로 표시할 수도 있다.

 

=IFERROR(VLOOKUP($D3,$G$2:$H$5,2,0),"-")

이미지의 수식줄을 그대로 복사해 온 것이다. 여기서 빨간색 부분에 원하는 형태로 임의의 텍스트나 값을 지정한다.

 

 

 

이렇게 LOOKUP이나 MATCH 함수를 사용할 때 아예 IFERROR 함수를 같이 사용하는 버릇을 만들어 두면 나중에 함수를 고치는 불편함이 없다. 또한 이건 #DIV/0! 오류코드에도 적용할 수 있는데 다음 시간에는 #DIV/0! 오류 코드에 대해서 알아보도록 하자.

반응형