엑셀 실무에서 “조회”는 거의 매일 합니다. 거래처 코드로 회사명 가져오기, 사번으로 부서/직급 가져오기, 상품코드로 단가/재고 가져오기 같은 작업이 전부 조회입니다. 많은 분이 먼저 VLOOKUP을 배우지만, 요즘 엑셀에서는 XLOOKUP이 사실상 표준에 가깝습니다. 다만 회사 환경(엑셀 버전)이나 구글시트 사용 여부에 따라 선택이 달라질 수 있어요. 이번 글에서는 VLOOKUP 및 XLOOKUP의 차이를 확실히 정리하고, 실무에서 가장 많이 터지는 오류(특히 #N/A)까지 예제로 바로 해결할 수 있게 구성했습니다.
1. 조회 함수가 하는 일(한 줄 요약)
“키(검색값)”로 기준표(마스터)에서 값을 찾아, 현재 표에 필요한 정보를 자동으로 채워 넣는 것입니다.
- 검색값: 예) 상품코드, 사번, 거래처ID
- 기준표(마스터): 코드에 대응하는 이름/단가/부서가 정리된 표
- 가져올 값: 예) 상품명, 단가, 담당자
2. VLOOKUP과 XLOOKUP의 핵심 차이 6가지
- 조회 방향: VLOOKUP은 “왼쪽에서 오른쪽”만 가능, XLOOKUP은 왼쪽/오른쪽 어디든 가능
- 열 번호: VLOOKUP은 “몇 번째 열” 숫자를 써야 해서 열 삽입에 약함, XLOOKUP은 “가져올 범위”를 직접 지정해 열 삽입에 강함
- 정확/근사 일치: VLOOKUP은 마지막 인수 TRUE/FALSE로 실수하기 쉽고, XLOOKUP은 기본이 정확 일치라 안전
- 없을 때 처리: VLOOKUP은 IFERROR로 감싸야 하고, XLOOKUP은 “없으면 반환값”을 인수로 바로 지정 가능
- 검색 모드: XLOOKUP은 앞에서/뒤에서 찾기(마지막 값 찾기)도 가능
- 구글시트: 구글시트에는 XLOOKUP이 기본 함수로 제공되지 않는 경우가 많아 VLOOKUP 또는 INDEX+MATCH 조합을 많이 사용
3. VLOOKUP 기본 문법과 실전 예제
문법: =VLOOKUP(검색값, 테이블범위, 열번호, [정확일치])
3-1) 실전 상황 예시
A열에 상품코드가 있고, 마스터 표(예: 시트2)에 상품코드/상품명/단가가 정리되어 있다고 가정해봅시다.
3-2) 상품명 가져오기(정확 일치)
- 예시 수식:
=VLOOKUP(A2,Sheet2!$A$2:$C$1000,2,FALSE)
여기서 FALSE는 “정확히 일치하는 코드만 찾겠다”는 의미입니다. 실무에서 코드 조회는 거의 항상 FALSE가 정답입니다.
3-3) 단가 가져오기
=VLOOKUP(A2,Sheet2!$A$2:$C$1000,3,FALSE)
3-4) VLOOKUP의 치명적인 함정 2가지
- 열번호가 바뀐다: 마스터 표 중간에 열을 삽입하면 “2열이던 상품명”이 “3열”로 밀려 결과가 틀어질 수 있습니다.
- TRUE/FALSE 실수: 마지막 인수를 생략하거나 TRUE로 쓰면 근사값을 찾다가 엉뚱한 값을 가져올 수 있습니다. 코드 조회는 반드시 FALSE로 고정하세요.
4. XLOOKUP 기본 문법과 실전 예제(엑셀 권장)
문법: =XLOOKUP(검색값, 검색범위, 반환범위, [없을 때], [일치모드], [검색모드])
4-1) 상품명 가져오기(정확 일치 기본)
- 예시 수식:
=XLOOKUP(A2,Sheet2!$A$2:$A$1000,Sheet2!$B$2:$B$1000)
XLOOKUP은 기본이 정확 일치라, VLOOKUP보다 실수 여지가 줄어듭니다.
4-2) “없으면 빈칸” 처리까지 한 번에
=XLOOKUP(A2,Sheet2!$A$2:$A$1000,Sheet2!$B$2:$B$1000,"")
이제 #N/A가 뜨는 대신, 코드가 없을 때는 빈칸으로 유지됩니다. 실무에서는 “없으면 확인 필요” 같은 문구로 바꿔도 좋습니다.
4-3) 오른쪽이 아니라 “왼쪽 값”도 가져올 수 있다
VLOOKUP은 왼쪽으로 조회가 불가능하지만, XLOOKUP은 반환 범위를 마음대로 지정할 수 있어 왼쪽 값 가져오기도 가능합니다.
- 예: B열(상품명)로 A열(상품코드) 찾기
=XLOOKUP(B2,Sheet2!$B$2:$B$1000,Sheet2!$A$2:$A$1000,"없음")
5. 실무에서 가장 많이 터지는 오류(#N/A) 원인과 해결
5-1) 원인 1) 검색값에 공백/숨은 문자
“코드가 분명 있는데 #N/A”면, 값이 같은 게 아니라 “비슷해 보일 뿐”인 경우가 많습니다. 앞뒤 공백, 복사 과정의 제어문자 때문에 매칭이 실패합니다.
- 해결: 검색값/마스터값에 TRIM 적용(또는 정리 열을 만들어 정규화)
- 예시:
=XLOOKUP(TRIM(A2),정리된코드범위,반환범위,"")
5-2) 원인 2) 텍스트 숫자 vs 숫자(형식 불일치)
00123 같은 코드는 한쪽은 텍스트, 다른 쪽은 숫자로 저장되어 매칭이 실패할 수 있습니다.
- 해결: 코드 열의 타입을 통일(텍스트로 고정하거나, 숫자로 변환)
- 팁: 코드가 앞에 0이 중요하면 텍스트로 관리하는 것이 안전합니다.
5-3) 원인 3) 마스터 표 범위가 누락됨
마스터 데이터가 늘었는데 범위를 $A$2:$C$1000으로 고정해두면, 1001행부터는 검색이 안 됩니다.
- 해결: 표(Table)로 만들거나(엑셀), 충분히 넉넉한 범위로 잡기
- 해결(권장): 마스터를 표로 만들면 범위가 자동 확장됩니다.
6. 구글시트에서는 어떻게 해야 하나?
구글시트에서는 기본적으로 VLOOKUP을 많이 쓰고, 더 유연하게 하고 싶으면 INDEX + MATCH 조합을 사용합니다.
6-1) 구글시트 VLOOKUP 예시
=VLOOKUP(A2,Sheet2!A:C,2,FALSE)
6-2) INDEX + MATCH(왼쪽 조회/열 삽입에도 강함)
예: A2(검색값)를 마스터의 A열에서 찾아, B열 값을 가져오기
=INDEX(Sheet2!B:B, MATCH(A2, Sheet2!A:A, 0))
MATCH의 마지막 인수 0은 “정확 일치”입니다.
7. 실무 선택 가이드: 언제 무엇을 쓰면 좋나?
- 엑셀 최신 환경이라면: XLOOKUP 우선(가독성/안정성/확장성)
- 회사가 구버전 엑셀이 섞여 있다면: VLOOKUP 또는 INDEX+MATCH
- 구글시트 중심이면: VLOOKUP + 필요 시 INDEX+MATCH
- “열 삽입이 자주 있는 마스터”라면: XLOOKUP 또는 INDEX+MATCH
8. 실무 팁: 조회는 ‘마스터 관리’가 반이다
- 마스터 표는 중간에 소계/합계/병합 없이 테이블 구조로 유지
- 키(코드/사번)는 중복이 없도록 관리(중복이면 어떤 값을 가져올지 기준이 필요)
- 상태/부서 같은 값은 드롭다운으로 표준화(오타 방지)
- 조회가 많아지면 “원본 데이터”와 “마스터”를 시트로 분리
'오늘하루생활' 카테고리의 다른 글
| SUMIFS·COUNTIFS 실무: 조건별 요약표를 10분 만에 만드는 법 (0) | 2025.12.22 |
|---|---|
| INDEX+MATCH 실무 완전정복: VLOOKUP보다 유연한 이유와 예제 (0) | 2025.12.22 |
| 조건부 서식 실무: 오류·마감·미처리를 자동으로 강조하는 법 (0) | 2025.12.21 |
| 날짜·시간 실무: TODAY, EDATE, NETWORKDAYS로 일정·마감 계산 끝내기 (0) | 2025.12.21 |
| 텍스트 분리·결합 실무: LEFT/RIGHT/MID, TEXTSPLIT로 한 번에 정리 (1) | 2025.12.21 |