실무 적용

Vlookup 에러 #N/A 발생

excelcopycat 2020. 11. 3. 19:44

Vlookup 값 에러나는 이유
해결법 #N/A

1. 찾으려는 Data가 없는 경우
2. 찾을 값이 다른 문자와 같이 있는 경우
3. 찾으려는 Data에 빈칸이 있는 경우
4. 해결책
바꾸기 기능
Trim 함수 (앞뒤공간없애기)
빠른채우기
원인제공자 찾기

안녕하세요 Excelcopycat 입니다.
제가 어이없이 시간 낭비하고
너무 허탈했던 경험을 말씀드릴게요.
바로 VLOOKUP 에러 내용인데요.
다른 함수에도 적용될 수 있는 거니,
기억해주세요.
일하다가 이런 경우 정말 생긴답니다. 

아래 2가지 에러난 식이 있습니다.
원인을 한번 찾아봐 주세요.
힌트. #N/A의 뜻은
사용할 수 없는 값이 있다는 것입니다

찾으셨으면 더 안 읽으셔도 되고요.
못 찾으셨으면 계속 읽어주세요 ^^

보통 Vlookup 함수를 사용해서
값을 가져오려고 했는데
값이 에러나면 찾으려는 값(파란색),
범위(빨간색), 순서(검은색) 등을 확인 하죠.
수식을 잘 못 적었나하고요.
=VLOOKUP($G10,$B$3:$E$6,4,0)

위 예시를 보면 수식은 맞습니다.
$로 셀 고정도 잘 시켰고요.
$로 고정 안 시킨 경우 
수식을 아래로 복사하면
범위도 같이 내려오기 때문에 문제가 됩니다.


1. 찾으려는 Data가 없는 경우

이건 좀 간단했나요?
찾으려는 S10Y은 Raw Data에 없답니다.
찾으려는 값이 원본시트에 없으니
당연히 오류가 난 것이죠.
요약표의 항목이 잘못 적힌건지,
원본 시트가 문제인건지 찾아보셔야 합니다.

만일 없는게 맞다면,
#N/A를 저대로 두기는 좀 그렇죠?

=IFERROR(VLOOKUP($G10,$B$3:$E$6,4,0),원하는글자)
Vlookup 함수를 IFERROR 함수로 감싼건데요.
Vlookup 값이 에러이면
원하는 글자로 표현하라는 뜻입니다.

원하는 글자는 아무거나 적으셔도 되는데
보통 아래 것들을 사용합니다.

빈칸으로 나타내기 : "" (큰따옴표 두개)
0으로 나타내기 : (그냥 숫자 0)
값없음으로 나타내기 : "값없음"
(문자는 큰 따옴표로 묶어서 적어주세요)


2. 찾을 값이 셀 안에
다른 문자들과 섞여 있는 경우

S900 이라는 항목의 3월 판매량을
가져오고 싶은데
범위 안에 제품명이
XS900 으로 된 경우예요.
X가 앞에 붙어서 Data 없는 오류가 나옵니다.
이건 아래 링크 참조해주세요.

2020/11/26 - [실무 적용] - 특정 문자가 포함된 셀의 해당 값 가져오기 VLOOKUP



3. 찾으려는 Data에 빈칸이 있는 경우

이 경우... 정말 정말 어이없는 경우입니다.
예시에서 S101 에러 부분인데요.
세상에....raw data에 앞뒤로 빈칸이 있을 줄이야!!!!

보이시나요? 앞뒤로 여백이 있으니까
완전 감쪽 같네요.

S101 더블클릭 해봤더니, 보세요..세상에...
앞뒤에 빈칸이 있을 줄이야....
빈칸 지우면 값 제대로 가져옵니다.

회사 생활 초기에는 이걸로 몰라서...
정말 눈물까지 나오더군요..수식 다 맞는데....
아무튼 원인을 알았으니 해결책이 나와야죠.^^


3. 해결책

1) 바꾸기 기능

뒤에 빈칸이 있는 항목이 있다면
리스트 전체에 동일 문제가 있을 가능성이 많죠.
그래서 항목 범위를 드래그로 선택 하신 후
Ctrl 키를 누른 상태에서 h를 눌러주세요.
그러면 바꾸기 창이 뜨는데...
위에는 빈칸(스페이스바 한번 눌러주세요)
아래는 아무것도 안 적고
모두 바꾸기(A)를 눌러주세요.
그러면 항목들의 빈칸이 싹 없어집니다.

바꾸기 기능을 쓸 때 주의점!
항목 안에 빈칸이 여러개가 있는 경우
(예. 
 S 101 )
중간에 있는 빈칸도 사라집니다.
주의하셔야 해요.


2) TRIM 함수

중간에 빈칸이 있으면 어떻게 할까요?
그리고 앞 또는 뒤쪽에 여백이 있거나
또는 앞뒤로 모두 여백이 있거나
항목의 자리수가 다른 경우는
어떻게 할까요?

이럴땐 좌우측의 공간을 없애고
값만 나타나게 하는 TRIM 함수를 써보세요.

항목의 자리수가 달라도 적용되니
LEFT RIGHT 함수보다 더 유용하네요.

(품명의 __ 는 빈칸을 뜻합니다)

VLOOKUP으로 해당하는 값을 찾으려면
조건(S101)이 범위의 왼쪽 시작에 있어야 해요.

그래서 Trim 함수를 F열에 안 놓고
A열에 놓았던 겁니다.
 Vlookup 처럼 좋은 기능이
안타깝게도 이런 취약점이 있어요.
이 점 주의해 주세요.


3) 빠른 채우기

이 방법도 자리수에 상관 없으면서
함수를 쓰지 않는 특징이 있어요.
A열에 빈칸 없이 S70 적으시고 엔터!
셀의 오른쪽 아래에 커서를 대면
커서가 + 형태로 바뀝니다.
이때 마우스 우클릭하고
아래로 드래그.
창이 뜨면 빠른채우기 클릭!

빠른채우기 자세한 내용은
아래 링크를 참조해 주세요.

2020/11/20 - [실무 적용] - 함수없이 앞쪽 중간 뒤쪽 글자 빼내기 합치기 (빠른채우기)


4) 원인제공자 찾기

빈칸 없애기, left/Right/Trim 함수쓰기
그런데 이게 반복되는 업무이면
이것도 귀찮습니다. 실수할 수도 있고.
그래서 가장 좋은 방법은
자료 만든 사람 찾아가서
수정 요청하시는 것입니다.
회사 프로그램에서 다운 받으시는데
그렇다면 IT 담당자 찾아가세요.
여러분의 소중한 시간을 잡아먹는
악의 근원을 뿌리 뽑아야 합니다!!
여러분이 당하셨으면
다른 사람들도 당하고 있는거예요!!
여러분이 총대를 매시고
해결해주셔야 합니다 ㅋㅋㅋ


네 이렇게 또 옛날에 고생했던 거 기억하면서
포스팅을 하였습니다.
다시 강조하지만 악의 근원을 없애셔야 해요 ㅋ
즐거운 하루 보내시고요.
읽어주셔서 감사합니다!!