자격증
엑셀 VLOOKUP함수 사용시 #N/A 오류 표출
엑셀에서 VLOOKUP함수를 사용할 때 첫 칸 LOOKUP_VALUE 부분에 ~(물결)이 들어가니깐 #N/A 오류가 표출되네요 LOOKUP_VALUE에 특수문자 사용하면 안되는건가요???
2개의 답변이 있어요!
안녕하세요. 이중철 AX 정보처리기사입니다.
네, 특수문자 자체를 못 쓰는 것은 아닙니다.
다만, VLOOKUP에서 찾을 값에 들어간 '물결표 ~'는 엑셀이 별도로 해석하는 문자라서, 그대로 넣으면 일치 비교가 꼬이거나 #N/A가 날 수 있습니다.
1. 왜 이런 오류가 나는 건가요?
VLOOKUP의 lookup_value는 단순한 문자 입력이 아니라, 찾을 대상과 표의 첫 열 값이 정확히 같아야 매칭됩니다. 그런데 '~'는 엑셀에서 와일드카드 문자를 처리할 때 쓰이는 특수한 의미가 있어서, 일반 문자처럼 바로 비교되지 않을 수 있습니다. 그래서 '~'가 들어간 값을 찾으려면 보통 한 번 더 이스케이프 처리해야 해요.
2. 어떻게 해결하나요?
찾는 값에 '~'가 들어 있다면 보통 '~~'로 바꿔서 처리합니다. 예를 들어 셀 A1에 A~B가 있다면, 함수에서 직접 쓰거나 보조열을 만들어 =SUBSTITUTE(A1,"~","~~")처럼 변환한 뒤 VLOOKUP을 적용하는 방법이 많이 쓰입니다.
3. 꼭 특수문자만 문제인가요?
아니요, #N/A의 원인은 특수문자만이 아닙니다.
찾는 값이 실제로 없거나, 앞뒤 공백이 있거나, 숫자와 문자가 서로 다른 형식으로 들어가 있어도 같은 오류가 납니다. 즉 '~'가 원인일 수도 있지만, 먼저 아래 내용들도 같이 확인해야 합니다.
1) 표의 첫 열에 찾는 값이 실제로 있는지.
2) 앞뒤 공백이 섞여 있지 않은지.
3) 숫자와 텍스트 형식이 서로 다른지.
4) 범위가 복사될 때 바뀌지 않도록 절대참조를 썼는지.
4. 실무에서는 이렇게 보면 됩니다.
'~'는 일반 글자처럼 보이지만, 엑셀 입장에서는 특별한 의미가 있어서 그대로 쓰면 오류가 날 수 있습니다. 그래서 특수문자가 들어간 문자열을 찾을 때는 SUBSTITUTE로 바꿔 주거나, 아예 데이터 정리 단계에서 특수문자를 다른 문자로 통일하는 방식이 안전합니다.
정리하자면,
VLOOKUP의 lookup_value에 특수문자를 아예 못 쓰는 것은 아니지만 ~는 엑셀이 특별하게 처리해서 그대로 넣으면 #N/A가 날 수 있습니다. 이럴 때는 '~'를 '~~'로 바꾸거나 SUBSTITUTE로 변환한 뒤 찾으면 됩니다. 그리고 특수문자 외에도 공백, 숫자·문자 형식 차이, 범위 오류도 #N/A의 흔한 원인이므로 함께 확인하는 것이 좋답니다.
※ 질문자님을 포함하여 소중한 분들의 건강, 재산과 안전을 지키고, 혹시나 발생할 수 있을 다양한 문제 상황에 놓이지 않기 위해서라도 저를 포함하여 다양한 토픽에서 활동하는 모든 전문가분들의 아하 지식커뮤니티에서의 답변은 예외 없이 참고 용도로만 유용하게 활용하시기 바랍니다.😉
안녕하세요. 조원우 정보처리기사입니다.
Vlookup 사용시 ~ 특수문자를 찾는경우가 많은데, 그냥 사용하시면 안되고 substitute 를 사용하신 후 vlookuo으로 감싸셔야 합니다. Substitute 는 행렬, 찾는문자, 대체문자, 위치 순으로 정의하시면 됩니다