찾는 코드가 표에 분명히 있는데 VLOOKUP 결과가 #N/A로 나온 적 있나요? 눈으로 보면 똑같은 값인데 엑셀은 못 찾았다고 합니다.
#N/A는 찾는 값과 정확히 같은 값을 찾지 못했다는 뜻입니다. 대부분은 수식 설정이나 데이터 형식 문제라서, 아래 5가지를 순서대로 보면 원인을 찾을 수 있습니다.
“
FALSE를 넣었는지, 형식이 같은지, 공백이 없는지.
#N/A의 대부분은 이 세 가지에서 나옵니다.
”
기준 환경: Windows 데스크톱용 Excel의 한글 메뉴입니다. Mac·웹에서는 메뉴 위치가 다를 수 있지만 수식은 같습니다. 공식 도움말 확인일은 2026년 10월 6일입니다.
1. 마지막 인수가 FALSE인지 확인하기
VLOOKUP의 네 번째 칸은 정확히 일치(FALSE)와 유사 일치(TRUE)를 고르는 자리입니다. 비워 두면 유사 일치로 동작합니다.
=VLOOKUP(D2,$A$2:$B$100,2,FALSE)
유사 일치는 첫 열이 오름차순으로 정렬된 표를 전제로 합니다. 정렬되지 않은 목록에서 쓰면 #N/A가 나오거나, 더 곤란하게도 엉뚱한 행의 값을 가져올 수 있습니다. 코드·이름처럼 딱 맞는 값을 찾을 때는 항상 FALSE(또는 0)를 넣으세요.
2. 찾는 열이 범위의 첫 열인지 확인하기
VLOOKUP은 지정한 범위의 맨 왼쪽 열에서만 값을 찾습니다. 코드가 B열에 있는데 범위를 A열부터 잡으면, 엑셀은 A열에서 코드를 찾다가 #N/A를 냅니다.
| 코드 위치 | 범위 잡는 법 | 가져올 열 번호 |
|---|---|---|
| A열(상품명은 B열) | $A$2:$B$100 | 2 |
| B열(상품명은 C열) | $B$2:$C$100 | 2 |
| C열(상품명은 A열) | VLOOKUP 불가 → XLOOKUP 사용 | – |
열 번호는 시트 전체가 아니라 범위 안에서 몇 번째 열인지를 셉니다. 범위를 B열부터 잡았다면 C열은 3이 아니라 2입니다.
3. 숫자와 텍스트 형식이 같은지 확인하기
가장 많이 헷갈리는 원인입니다. 찾는 값은 숫자 1001인데 표의 첫 열은 텍스트로 저장된 “1001”이면, 화면에서는 같아 보여도 엑셀은 다른 값으로 봅니다. 다른 프로그램에서 내려받은 자료나 CSV에서 자주 생깁니다.
① 형식부터 확인합니다.
빈 셀에 =ISTEXT(D2)와 =ISTEXT(A2)를 각각 입력해 보세요. 한쪽만 TRUE라면 형식이 다른 것입니다. 왼쪽 위 녹색 삼각형이나 왼쪽 정렬된 숫자도 텍스트 숫자의 신호입니다.
② 표 쪽을 숫자로 바꾸는 것이 가장 깔끔합니다.
텍스트 숫자 열을 선택하고 녹색 삼각형 메뉴의 숫자로 변환을 누르면 됩니다. 방법은 문자로 저장된 숫자 바꾸기 글에 자세히 정리해 두었습니다.
③ 원본을 못 건드린다면 수식에서 맞춥니다.
표가 텍스트라면 찾는 값을 텍스트로: =VLOOKUP(D2&””,$A$2:$B$100,2,FALSE)
표가 숫자라면 찾는 값을 숫자로: =VLOOKUP(VALUE(D2),$A$2:$B$100,2,FALSE)
4. 앞뒤 공백이 섞였는지 확인하기
“홍길동”과 “홍길동 “은 다른 값입니다. 끝에 붙은 공백 한 칸은 눈에 보이지 않아서 찾기 어렵습니다. =LEN(A2)로 글자 수를 세어 보면 공백이 있는지 바로 드러납니다.
찾는 값에 공백이 있다면 =VLOOKUP(TRIM(D2),$A$2:$B$100,2,FALSE)처럼 TRIM으로 감싸세요. 표 쪽에 공백이 있다면 옆 열에 =TRIM(A2)로 정리한 열을 만든 뒤, 값으로 붙여넣어 원래 열을 바꾸는 방법이 안전합니다.
웹에서 복사한 자료는 TRIM으로도 안 지워지는
특수 공백이 섞여 있을 수 있습니다.
TRIM 후에도 LEN 값이 줄지 않는다면 =TRIM(SUBSTITUTE(A2,CHAR(160),” “))를 써 보세요. 웹 문서에서 자주 쓰는 줄바꿈 없는 공백(CHAR 160)을 일반 공백으로 바꾼 뒤 정리합니다.
5. 범위를 $로 고정했는지 확인하기
첫 줄은 잘 나오는데 아래로 갈수록 #N/A가 늘어난다면 범위가 밀린 것입니다. A2:B100으로 쓴 수식을 아래로 채우면 A3:B101, A4:B102로 한 칸씩 내려가서 위쪽 데이터를 놓칩니다.
수식 입력줄에서 범위를 선택하고 F4를 한 번 누르면 $A$2:$B$100처럼 고정됩니다. 그다음 아래로 채우세요.
6. 증상별로 한눈에 보기
| 이럴 때 | 의심할 원인 | 해결 |
|---|---|---|
| 엉뚱한 값이 나오거나 일부만 #N/A | 마지막 인수 누락·TRUE | FALSE 넣기 |
| 모든 행이 #N/A | 찾는 열이 첫 열이 아님 | 범위 시작 열 바꾸기 |
| 숫자 코드만 못 찾음 | 숫자·텍스트 형식 차이 | 숫자로 변환 또는 &””·VALUE |
| 이름·텍스트 일부만 못 찾음 | 앞뒤 공백 | TRIM·SUBSTITUTE |
| 아래 행으로 갈수록 #N/A | 범위 미고정 | F4로 $ 고정 |
7. 정말 없는 값이라면 IFNA로 표시하기
5가지를 다 확인했는데도 #N/A라면 그 값은 실제로 표에 없는 것입니다. 이때는 오류 대신 안내 문구가 보이게 할 수 있습니다.
=IFNA(VLOOKUP(D2,$A$2:$B$100,2,FALSE),”목록에 없음”)
원인을 확인하기 전에 IFNA부터 씌우면
형식·공백 문제까지 “없음”으로 덮여 버립니다.
IFERROR도 비슷하게 쓸 수 있지만, 열 번호를 잘못 넣은 #REF! 같은 다른 오류까지 숨깁니다. #N/A만 처리하려면 IFNA가 더 안전합니다. Microsoft #N/A 오류 수정 안내에서도 원인 확인을 먼저 권합니다.
8. 자주 묻는 질문
Q. 두 셀이 정말 같은 값인지 바로 확인할 수 있나요?
빈 셀에 =D2=A2를 입력해 보세요. FALSE가 나오면 형식이나 공백 차이가 있는 것입니다.
Q. XLOOKUP을 쓰면 이런 문제가 없나요?
XLOOKUP은 기본이 정확히 일치이고, 찾는 열이 왼쪽에 있지 않아도 됩니다. =XLOOKUP(D2,$C$2:$C$100,$A$2:$A$100,”목록에 없음”)처럼 씁니다. 다만 형식 차이와 공백 문제는 똑같이 확인해야 하고, Microsoft 365·Excel 2021 이후 버전에서만 쓸 수 있습니다.
Q. 같은 코드가 두 번 있으면 어떻게 되나요?
VLOOKUP은 위에서부터 처음 찾은 값 하나만 가져옵니다. 중복이 의심된다면 중복값 정리를 먼저 해 두세요.
9. 마지막 확인 체크리스트
□ 네 번째 인수에 FALSE를 넣었나요?
□ 찾는 값이 있는 열이 범위의 첫 열인가요?
□ ISTEXT로 양쪽 형식을 비교했나요?
□ LEN으로 공백이 없는지 확인했나요?
□ 범위를 $로 고정했나요?
□ 그래도 없다면 IFNA로 안내 문구를 넣었나요?
오늘 내용만 짧게 기억하기
FALSE → 첫 열 → 형식 → 공백 → $ 고정.
원인을 찾은 뒤에 IFNA.
함께 읽기: 엑셀 SUM 합계가 0일 때 · AI로 엑셀 수식 만들고 검산하기
공식 자료 확인: 2026년 10월 6일 · SOMANYIO
참고: Microsoft #N/A 오류 수정 방법 안내. 메뉴 이름은 버전과 표시 언어에 따라 다를 수 있습니다.
댓글 남기기