티스토리 뷰

반응형

"VLOOKUP 했는데 #N/A만 뜨고 값이 안 나와요!"

보고서 마감 30분 전, VLOOKUP으로 데이터 불러오는데 갑자기 #N/A 오류가 수백 개 떴던 경험 있으시죠? 저도 제조업 현장에서 재고 데이터 합칠 때 이 오류 때문에 밤샘한 적 있습니다.

오늘은 엑셀에서 가장 자주 만나는 #N/A 오류를 원인별로 정확히 진단하고, 각각 어떻게 해결하는지 실무 예시와 함께 알려드리겠습니다. 이 글 하나면 더 이상 #N/A 때문에 야근 안 합니다.


#N/A 오류가 뭔가요?

#N/A = Not Available (값을 찾을 수 없음)

엑셀이 "너가 찾으려는 값이 없어!"라고 알려주는 오류입니다. 주로 VLOOKUP, HLOOKUP, MATCH, INDEX 같은 찾기 함수에서 발생합니다.

 

즉시 확인법

오류 셀을 더블클릭 → 수식 확인
VLOOKUP(찾을값, 범위, 열번호, 0) ← 이런 형태면 찾기 함수

원인 1. 찾을 값이 정말 없음 (60%)

가장 흔한 경우입니다. 단순히 데이터가 없는 거예요.

진단 방법

예시 상황

A열(상품코드)     B열(상품명)
P001              사과
P002              배
P003              포도

VLOOKUP("P004", A:B, 2, 0) → #N/A

P004 상품이 표에 없으니 당연히 오류가 납니다.

해결법 3가지

방법 1: IFERROR로 감싸기 (가장 간단, 추천!)

=IFERROR(VLOOKUP("P004", A:B, 2, 0), "미등록")
  • 오류 나면 "미등록" 표시
  • 빈칸으로 하려면: IFERROR(수식, "")

방법 2: IF + ISNA 조합 (엑셀 2007 이하)

=IF(ISNA(VLOOKUP("P004", A:B, 2, 0)), "미등록", VLOOKUP("P004", A:B, 2, 0))
  • 같은 수식을 두 번 써야 해서 비효율적
  • 구버전에서만 사용

방법 3: 데이터 추가

  • 실제로 P004 상품을 표에 추가
  • 마스터 데이터 업데이트

원인 2. 띄어쓰기/보이지 않는 문자 (30%)

"분명 있는데 왜 안 찾아져?" → 99% 이 문제입니다.

진단 방법

육안으로는 같아 보이는데 오류

찾는 값: "사과" (3글자)
표의 값: "사과 " (3글자 + 공백 1)
        "사과  " (3글자 + 공백 2)
        " 사과" (공백 1 + 3글자)

확인 방법

  1. 오류 나는 셀 선택
  2. =LEN(A1) 입력 → 글자수 확인
  3. 찾을 값과 비교

또 다른 숨은 적들

  • 전각 공백 (Alt+255)
  • 엔터(줄바꿈, Char(10))
  • 탭(Tab, Char(9))

해결법 4가지

방법 1: TRIM 함수 (앞뒤 공백 제거)

=VLOOKUP(TRIM(A1), TRIM(B:C), 2, 0)
  • 양쪽 범위 모두 TRIM 적용 필요
  • 중간 공백은 하나만 남김

방법 2: SUBSTITUTE (특정 문자 제거)

=VLOOKUP(SUBSTITUTE(A1, " ", ""), B:C, 2, 0)
  • 모든 공백 완전 제거
  • 여러 문자 동시 제거 가능

방법 3: CLEAN (출력 불가 문자 제거)

=VLOOKUP(CLEAN(A1), CLEAN(B:C), 2, 0)
  • Char(10), Char(9) 같은 보이지 않는 문자 제거

방법 4: 데이터 정제 (근본 해결)

1. 열 전체 선택 (Ctrl+클릭)
2. Ctrl+H (찾기 및 바꾸기)
3. 찾을 내용: " " (공백)
4. 바꿀 내용: (비워둠)
5. 모두 바꾸기

실무 팁: 외부에서 복사한 데이터는 항상 공백 의심!


원인 3. 데이터 형식 불일치 (10%)

숫자 vs 텍스트 문제

진단 방법

찾는 값: 1001 (숫자)
표의 값: "1001" (텍스트)

확인법

  • 셀을 클릭했을 때 좌측 정렬 → 텍스트
  • 셀을 클릭했을 때 우측 정렬 → 숫자
  • 셀 좌측 상단 녹색 삼각형 → 텍스트로 저장된 숫자

해결법 3가지

방법 1: VALUE 함수 (텍스트→숫자)

=VLOOKUP(VALUE(A1), B:C, 2, 0)

방법 2: TEXT 함수 (숫자→텍스트)

=VLOOKUP(TEXT(A1, "0"), B:C, 2, 0)

방법 3: 더하기 0 (간단한 방법)

=VLOOKUP(A1+0, B:C, 2, 0)  '텍스트를 숫자로
=VLOOKUP(A1&"", B:C, 2, 0)  '숫자를 텍스트로

데이터 일괄 변환

1. 빈 셀에 1 입력
2. 복사 (Ctrl+C)
3. 변환할 범위 선택
4. 선택하여 붙여넣기 (Ctrl+Alt+V)
5. "곱하기" 선택 → 확인

원인별 빠른 진단 플로우차트

#N/A 오류 발생
    ↓
[1단계] 데이터가 정말 없나?
   YES → IFERROR로 처리
   NO → 2단계로
    ↓
[2단계] LEN으로 글자수 비교
   다름 → TRIM/SUBSTITUTE 사용
   같음 → 3단계로
    ↓
[3단계] 셀 정렬 방향 확인
   다름 → VALUE/TEXT 사용
   같음 → VLOOKUP 범위 재확인

실전 예제: 직원 급여 조회

상황: 직원 번호로 급여를 찾는데 #N/A 발생

[직원 마스터]
A열(사번)  B열(이름)  C열(급여)
1001      김철수    3,000,000
1002      이영희    3,500,000

[급여 조회 시트]
A열(사번)  B열(급여)
1001      =VLOOKUP(A2, 직원마스터!A:C, 3, 0) → #N/A

문제 진단

1. LEN(A2) = 4 ← 숫자
2. LEN(직원마스터!A2) = 4 ← 텍스트

해결 수식

=VLOOKUP(TEXT(A2,"0"), 직원마스터!A:C, 3, 0)

또는 더 안전하게

=IFERROR(VLOOKUP(TEXT(TRIM(A2),"0"), 직원마스터!A:C, 3, 0), "미등록 사원")


버전별 추천 해결법

엑셀 2007-2010

=IF(ISNA(VLOOKUP(...)), "오류처리", VLOOKUP(...))

엑셀 2013 이상

=IFERROR(VLOOKUP(...), "오류처리")

Microsoft 365

=XLOOKUP(A1, B:B, C:C, "미등록")
  • XLOOKUP은 #N/A 대신 기본값 자동 설정 가능
  • 하지만 회사가 구버전이면 못 씀!

예방하는 습관 5가지

1. 외부 데이터는 항상 TRIM 먼저
   =TRIM(CLEAN(A1))

2. 마스터 데이터 만들 때 규칙 정하기
   - 공백 금지
   - 숫자는 텍스트로 통일
   - 대소문자 구분 여부 결정

3. VLOOKUP 쓸 때 습관
   =IFERROR(VLOOKUP(TRIM(...)), "")
   
4. 데이터 유효성 검사 설정
   입력 시 자동으로 공백 제거

5. 정기적으로 데이터 정제
   월 1회 공백/중복 제거


자주 묻는 질문 (FAQ)

Q1. IFERROR 쓰면 성능이 느려지나요? A. 아니요. 최신 엑셀에서는 거의 차이 없습니다. 단, 수만 개 행에서는 IF+ISNA가 약간 빠를 수 있지만 체감 불가 수준입니다.

Q2. #N/A 대신 0을 표시하고 싶어요.

=IFERROR(VLOOKUP(...), 0)

Q3. 여러 조건으로 찾고 싶어요.

'보조열 사용 (A열&B열 결합)
=VLOOKUP(A1&B1, 보조열:결과열, 2, 0)

'또는 INDEX+MATCH 조합
=INDEX(결과범위, MATCH(1, (조건1범위=A1)*(조건2범위=B1), 0))

Q4. VLOOKUP 말고 다른 방법 없나요?

  • INDEX+MATCH: 더 유연함
  • XLOOKUP: 365 전용, 가장 강력
  • FILTER: 여러 결과 한번에

마무리: 3줄 요약

  1. #N/A 원인 60%는 데이터 없음 → IFERROR로 처리
  2. 30%는 공백/보이지 않는 문자 → TRIM+CLEAN 사용
  3. 10%는 숫자/텍스트 형식 차이 → VALUE/TEXT로 통일

다음에 #N/A 오류 보시면

1. 데이터 있나 확인 (Ctrl+F로 직접 찾기)
2. LEN으로 글자수 비교
3. 셀 정렬 방향 확인
→ 90% 해결됩니다!

 

엑셀_NA오류_해결_실습파일.xlsx
0.02MB

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함