엑셀 VLOOKUP 안될때: #N/A 원인을 챗GPT로 찾는 법
이 글의 목차
- 목차

코드표에서 업무명을 끌어오는데 다른 코드는 다 나오고 A003만 #N/A가 뜹니다. 수식을 몇 번 다시 쳐도 그대로예요. 엑셀 VLOOKUP 안될때 이런 식으로 한두 개만 실패한다면, 수식보다 조회 대상 값부터 의심해야 합니다. 이 예시의 원인은 코드표의 'A003' 뒤에 붙은 공백 한 칸이었습니다.
VLOOKUP #N/A가 나는 5가지 원인 점검표
마지막 인수가 FALSE(정확 일치)일 때 #N/A는 "똑같은 값을 못 찾았다"는 뜻입니다. 화면에서 같아 보여도 문자열이 다르면 못 찾아요. 아래 순서대로 보면 대부분 걸러집니다.
| 원인 | 확인하는 법 | 고치는 법 |
|---|---|---|
| 앞뒤 공백, 보이지 않는 문자 | =LEN(A4)로 글자 수 비교(A003이면 4) | TRIM, CLEAN으로 정리 |
| 숫자와 텍스트 형식 차이 | =ISTEXT(E2)와 =ISTEXT(A2) 결과 비교 | 두 쪽 형식을 하나로 통일 |
| 찾는 값이 범위 첫 열에 없음 | 범위가 조회 열에서 시작하는지 확인 | 범위를 조회 열부터 다시 지정 |
| 수식을 복사하며 범위가 밀림 | 아래 셀 수식의 범위 주소 확인 | $A$2:$B$6처럼 절대 참조 |
| 값이 정말 없음 | =COUNTIF(A:A,E2)가 0인지 확인 | 원본 데이터 보완 |
웹이나 메신저에서 복사해 온 코드라면 하나 더 볼 게 있습니다. Microsoft 안내에 따르면 TRIM은 일반 공백만 지우고, 웹 페이지에서 흔한 줄바꿈 없는 공백(문자 코드 160)은 남겨 둡니다. TRIM을 했는데도 LEN이 줄지 않으면 =TRIM(SUBSTITUTE(A4,CHAR(160)," "))처럼 먼저 바꿔 주세요.
공백 하나로 #N/A가 나는 예시 표
원본 대신 작은 복사본에서 오류를 다시 만들어 보면 원인이 빨리 드러납니다. 아래 예시는 구글 시트로 만들었지만 조회 원리는 엑셀과 같습니다.
- A2:B6에 A001/기획, A002/디자인, A003 /품질, A004/영업, A005/운영을 넣습니다. 끝 공백이 자동으로 지워지면 A4에
="A003 "을 입력하세요. E2에는 공백 없는 A003을 넣습니다. - F2에 아래 수식을 넣으면 #N/A가 나옵니다.
=VLOOKUP(E2,A2:B6,2,FALSE)

여기서 네 번째 인수를 지우거나 TRUE로 바꾸고 싶어질 수 있는데, 그건 해결이 아닙니다. 근사 일치는 첫 열이 정렬돼 있다고 가정하고 가장 가까운 값을 가져오기 때문에 엉뚱한 업무명이 나올 수 있어요.
챗GPT에 VLOOKUP 오류를 설명하는 프롬프트
"조회가 안 돼요"만 쓰면 일반론이 돌아옵니다. 범위, 조회값, 현재 수식, 결과를 적고 원본을 바꾸지 않는 방법을 달라고 조건을 겁니다.
구글 시트 A2:B6의 첫 열에는 A001, A002, A003 뒤 공백 하나, A004, A005가 있습니다. B열은 기획, 디자인, 품질, 영업, 운영입니다. E2는 공백 없는 A003입니다. F2의 =VLOOKUP(E2,A2:B6,2,FALSE)는 #N/A입니다. 원본 A열을 바꾸지 않는 수정 수식과 원인을 알려 주세요. 엑셀에서는 TRIM 보조열로 고치는 방법을 별도로 제시해 주세요.

답변이 제안한 구글 시트용 수식은 다음과 같습니다. F2에 넣으면 '품질'이 나옵니다.
=VLOOKUP(TRIM(E2),ARRAYFORMULA({TRIM(A2:A6),B2:B6}),2,FALSE)
| F2 수식 | A003 결과 | 원본 A열 |
|---|---|---|
원래 수식 =VLOOKUP(E2,A2:B6,2,FALSE) | #N/A | 그대로 |
| 챗GPT 제안 TRIM 수식 | 품질 | 그대로 |
엑셀에서는 TRIM 보조열로 고치세요
위 배열 수식은 구글 시트 문법이라 엑셀에 그대로 붙이면 안 됩니다. 엑셀에서는 C2에 =TRIM(A2)를 넣어 C6까지 채우고, D2:D6에 B2:B6 업무명을 복사합니다. 그다음 =VLOOKUP(TRIM(E2),C2:D6,2,FALSE)로 조회하면 됩니다. TRIM 열만 만들고 반환 열을 옆에 두지 않으면 엉뚱한 열을 찾게 되니 주의하세요.
숫자 코드라면 선행 0도 챙겨야 합니다. VALUE로 일괄 변환하면 001 같은 식별자가 1로 바뀌어 다른 표와 또 안 맞을 수 있어요.
XLOOKUP으로 바꾸면 해결될까?
XLOOKUP은 기본이 정확 일치이고 조회 열 위치 제약도 없어서 편합니다. 하지만 키 값에 공백이 섞여 있으면 XLOOKUP도, INDEX/MATCH도 못 찾습니다. IFERROR로 #N/A를 빈칸으로 덮는 것도 화면만 깨끗해질 뿐이니, 원인을 고친 다음 마지막 표시용으로만 쓰세요.
고객번호처럼 민감한 값은 AI에 보내지 말고 지어낸 코드로 같은 상황을 만들어 물어보면 됩니다. 표 구조를 설명하는 다른 요령은 챗GPT 엑셀 프롬프트 모음에, 키 값 자체를 정리하는 방법은 엑셀 중복값 제거 3가지 방법에 이어집니다. 함수 기준은 Microsoft VLOOKUP 공식 안내와 TRIM 함수 안내를 따랐습니다.
댓글
댓글 쓰기