[직장인 엑셀 초보 탈출] #9. 엑셀 함수 익히기 – VLOOKUP 함수 활용법(2) IFERROR 함수로 오류 바꾸기 – LG 공식 블로그
본문 바로가기

[직장인 엑셀 초보 탈출] #9. 엑셀 함수 익히기 – VLOOKUP 함수 활용법(2) IFERROR 함수로 오류 바꾸기

작성일2018-05-25

김과장의 엑셀 초보 탈출 강좌 9편. 엑셀 함수 익히리(5) VLOOKUP 함수 활용법(2) 함수 결과에 #N/A 안 나오게 만들기

퇴근 5분 전, 나지막히 부르는 부장님의 목소리

이 부장 : 김 대리, 여기 엑셀파일에 #N/A는 무슨 표시인가? 수식이 틀린 건가?
김 대리 : 네?? 아.. 흠. 수식은 맞는데… 한번 화… 확인해보겠습니다.

그렇게 김 대리는 오늘밤도 회사에서 지새웠다고 한다.

생각만 해도 아찔한 순간인데요, 지난번 VLOOKUP 함수에 대해서 많이 복습해 보셨나요? 다양한 예제로 복습을 많이 하신 분들이라면 함수 결과 곳곳에 #N/A 라고 생긴 이상한 문자들이 튀어 나오는 경우를 종종 보셨을 거예요.

생긴 것도 요상한데, 나오게 되면 가슴이 철렁! 하는 문자 #N/A. 오늘은 함수 결과에 #N/A 가 안 나오게 만드는 방법을 한번 배워보겠습니다.

너의 이름은? #N/A

#N/A는  Not Applicable(해당 없음, 공란)의 약자로 함수나 수식에 사용할 수 없는 값을 지정했을 때 나오는 오류 알림입니다. 특히 VLOOKUP, MATCH 함수를 사용할 때, 검색 테이블에서 해당 값이 없어 못 찾는 경우 주로 발생합니다. 만약 중요한 자료를 작성해서 보고했는데, 곳곳에 #N/A가 가득하다면 그 자료 전체에 대한 신뢰성은 떨어질 수밖에 없겠죠?

특히 VLOOKUP 함수식에 아무런 문제가 없는데도 불구하고 함수 결과에 #N/A가 나온다면? 『 VLOOKUP 함수를 써서 찾아올 값이 없는 경우 』를 의심해 봐야 하는데요.

사과빵 값이 #N/A로 처리된 단가표

예를 들어 위의 그림에서 D13 셀 (빨간색 동그라미 표시 부분)에 있는 수식을 잘 보시죠, 단가표에서 사과빵의 단가를 찾아오는 VLOOKUP 함수인데요, 문제는 오른쪽에 있는 단가표의 품목에 사과빵이 없다는 사실입니다.  즉, VLOOKUP 함수를 써서 사과빵의 단가를 찾아올 수가 없기 때문에 #N/A 가 나오게 되는 겁니다.

그렇다면 이렇게 VLOOKUP 함수 결과에 #N/A가 나오면 여러분들은 어떻게 하실 건가요?

1번 그냥 둔다! 함수를 쓰다보면 #N/A가 나올 수도 있는거지. 2번 지워버린다! #N/A는 용납할 수 없다. #N/A가 나온 셀들은 지워버린다.

[1번]도 뭔가 찜찜하고, [2번]도 딱히 좋은 방법 같지는 않고… 뭔가 깔끔한 다른 방법이 없을까요? 이런 방법이 있으면 참 좋을 텐데요.

함수 계산 결과가 제대로 나왔을 때함수 계산 결과를 보여주고 함수 계산 결과에 오류가 있을 땐 오류 메시지 말고 (오류가 아닌 것 같은) 다른 결과를 보여주는 방법이요. 그렇다면 이제 우리의 바람을 현실로 만들어 줄 새로운 함수를 하나 소개해 드리죠.

오류를 예쁘게 바꿔주는 능력자, IFERROR 함수

원하는 결과를 만들어 가기 위한 상상력에 아주 조금의 지식만 넣어주면 돼요

이러한 고민을 단 번에 해결해 줄 오늘의 주인공을 소개합니다. 바로 IFERROR 함수입니다.

IFERROR 함수식

아주 단순하게 생겼죠? 함수식을 살펴보겠습니다.

IFERROR(① value ,② value_if_error) 

① value 부분에는 기존에 사용하려고 한 함수식을 써주고, ② value_if_error 부분에는 오류가 있을 때 처리할 값 또는 수식을 써주면 됩니다. 앞에서 얘기했던 VLOOKUP을 사용해 사과빵의 단가를 찾을 때 사용했던 식을 적용해 봅시다.

엑셀9편_5

엑셀9편_6

VLOOKUP 함수를 이용해 계산을 하되, 오류가 나오게 되면 0(영)이 나오게 되는 마법! 함수식도 복잡하지 않으면서 #N/A 가 나오지 않아서 보기에도 훨씬 깔끔해졌고, 강제로 함수를 지워서 값을 삭제한 것도 아니니, 나중에 함수가 누락되어 실수할 일도 없게 되네요. IFERROR 함수! 이 친구 꽤 쓸모있는 함수인 것 같습니다.

그러나, IFERROR 함수를 쓸 때 주의해야 할 부분이 하나 있는데요. 함수 오류 메세지 대신 0을 넣게 될 경우, 다른 계산식에서 오류가 발생할 경우가 있습니다. 특히나 가격, 수량 같은 숫자로 된 항목들을 찾아야 하는 경우에 말이죠.

엑셀9편_7

엑셀9편_8

예시로 살펴보겠습니다. 위의 그림에서 빨간색 테두리로 표시된 부분과 같이 IFERROR 함수를 이용하면 단가표에 단가가 없는 사과빵의 단가는 오류가 발생하게 되고, 오류를 대체해서 『 0 (영) 』으로 표시됩니다. 즉 사과빵의 판매금액도 『 0 (영) 』이 되면서 판매 금액의 합계가 『 1,155,593,746 원 』이 되지요.

이 경우는 수식은 잘못되지 않았으나, 단가표에 사과빵의 단가가 누락된 실수가 발생합니다.  단가표에 사과빵의 단가 (= 1,000 원)을 추가해 주면 아래쪽 그림과 같이 사과빵의 판매 금액이 바뀌면서 판매 금액의 합계는 원래 계산되어야 할『 1,167,343,746 원 』으로 변경됩니다.

즉,  IFERROR 함수의 ② value_if_error 부분에 『 0 (영) 』을 넣어주면 위의 예시에서 사과빵처럼 단가표에 단가가 없는 품목의 단가를 『 0 (영) 』으로 처리해 버립니다.

이 경우, 사용자들은 단가표에 단가가 누락된 품목(사과빵)이 있다는 걸 미처 인지하지 못한 채로 판매 금액의 합계 『 1,155,593,746 원 』이 틀린 계산 결과라는 걸 모르고 넘어갈 가능성이 매우 높아집니다. (이런일이 생기면… 야… 야근이라는 재앙이 일어날 수도…)

이런! 보고서 다 만들었는데 사과빵의 단가가 0으로 처리된 것을 몰랐어!

그래서 IFERROR 함수 안에 VLOOKUP  함수를 넣어서 사용할 때는 ② value_if_error 부분에 『 0 (영) 』을 넣지 말고 개인 취향에 따라 함수 오류 발생 여부를 쉽게 찾을 수 있는 문구를 넣어서 사용하시길 추천합니다. 예를 들어, ② value_if_error = “확인 필요” 처럼 말이죠.

엑셀9편_10

백문일불여일엑셀! 오늘 배운 IFERROR 함수, 지난 번에 배웠던 VLOOKUP 함수와 함께 사용해 보는 연습 꼭 해보시길 바랍니다. 다음 시간에도 유익한 엑셀 꿀팁으로 찾아오겠습니다. :smile:

김택상 프로필

LG디스플레이에서 경영관리 (Business Management) 업무를 담당하고 있습니다. 엑셀과 친해지고 싶은 분들께 그 동안 갖은 시행착오를 겪으며 익힌 엑셀 실전 기술들을 나눠드리고 있는 엑셀 공작소의 김과장입니다.