엑셀 XLOOKUP 사용법 총정리 — VLOOKUP과 차이점, 예제로 5분 만에 배우기
한 줄 요약: XLOOKUP은 "찾을 값, 찾을 범위, 가져올 범위" 세 가지만 지정하면 되는 새로운 조회 함수입니다. VLOOKUP과 달리 왼쪽 열도 찾을 수 있고, 열 번호를 세지 않아도 되며, 기본값이 정확히 일치라 실수가 크게 줄어듭니다.
XLOOKUP이 뭔가요?
엑셀에서 "상품코드로 상품명을 찾아오기", "사번으로 부서를 찾아오기"처럼 다른 표에서 값을 찾아 가져오는 일은 정말 자주 하는 작업입니다. 오랫동안 이 일을 해온 함수가 VLOOKUP이고, 이를 개선해 새로 나온 함수가 XLOOKUP입니다.
XLOOKUP은 Microsoft 365와 Excel 2021 이상에서 사용할 수 있습니다. Excel 2019 이하 버전에서는 지원되지 않아 #NAME? 오류가 나므로, 내 엑셀 버전을 먼저 확인하세요. 구글 스프레드시트에서도 XLOOKUP을 사용할 수 있습니다.
기본 문법: 인수 3개면 충분합니다
=XLOOKUP(찾을값, 찾을범위, 가져올범위)
- 찾을값: 내가 찾고 싶은 값 (예: 상품코드 A102)
- 찾을범위: 그 값이 들어 있는 열 (예: 상품코드 열 전체)
- 가져올범위: 결과로 돌려받을 값이 있는 열 (예: 상품명 열 전체)
따라 해 보기
아래와 같은 상품표가 A1:C5에 있다고 가정해 봅니다.
| 상품코드 (A열) | 상품명 (B열) | 가격 (C열) |
|---|---|---|
| A101 | 무선 마우스 | 25,000 |
| A102 | 기계식 키보드 | 89,000 |
| A103 | 노트북 거치대 | 32,000 |
| A104 | USB 허브 | 18,000 |
E1 셀에 상품코드 A102를 입력하고, F1 셀에 아래 수식을 넣으면 "기계식 키보드"가 나옵니다.
=XLOOKUP(E1, A2:A5, B2:B5)
가격이 필요하다면 가져올 범위만 C열로 바꾸면 됩니다.
=XLOOKUP(E1, A2:A5, C2:C5)
VLOOKUP과 XLOOKUP 비교
같은 작업을 두 함수로 해 보면 차이가 분명합니다.
VLOOKUP : =VLOOKUP(E1, A2:C5, 2, FALSE)
XLOOKUP : =XLOOKUP(E1, A2:A5, B2:B5)
| 비교 항목 | VLOOKUP | XLOOKUP |
|---|---|---|
| 찾는 방향 | 항상 오른쪽으로만 가능 | 왼쪽·오른쪽 모두 가능 |
| 가져올 열 지정 | 열 번호(2, 3…)를 직접 세야 함 | 가져올 열을 직접 선택 |
| 열을 추가·삭제하면 | 열 번호가 어긋나 결과가 틀어질 수 있음 | 범위가 함께 이동해 안전 |
| 기본 일치 방식 | 생략하면 근사 일치(위험) | 기본이 정확히 일치 |
| 못 찾았을 때 | #N/A 오류 (IFERROR 필요) | "못 찾으면 이 값" 인수를 내장 |
| 여러 값 한 번에 | 불가능 | 여러 열을 한 번에 반환 가능 |
| 사용 가능 버전 | 모든 버전 | Microsoft 365, Excel 2021 이상 |
특히 VLOOKUP은 마지막 인수를 FALSE로 적지 않으면 근사 일치로 동작해, 눈에 띄지 않는 엉뚱한 값을 가져오는 사고가 잦습니다. XLOOKUP은 이 문제가 기본적으로 해결되어 있습니다.
XLOOKUP 실전 활용 5가지
1. 못 찾았을 때 문구 표시하기
네 번째 인수에 "찾지 못했을 때 보여줄 값"을 적으면 IFERROR 없이도 깔끔하게 처리됩니다.
=XLOOKUP(E1, A2:A5, B2:B5, "해당 상품 없음")
2. 왼쪽 열에서 값 가져오기
상품명(B열)으로 상품코드(A열)를 찾는 식으로, 가져올 열이 왼쪽에 있어도 됩니다. VLOOKUP으로는 표를 재배열해야 했던 작업입니다.
=XLOOKUP(E1, B2:B5, A2:A5)
3. 여러 열을 한꺼번에 가져오기
가져올 범위를 두 열 이상으로 지정하면 결과가 옆 칸으로 자동으로 펼쳐집니다(스필).
=XLOOKUP(E1, A2:A5, B2:C5)
이 경우 상품명과 가격이 한 번에 나타납니다. 결과가 펼쳐질 오른쪽 칸이 비어 있어야 합니다.
4. 가장 마지막에 나온 값 찾기
같은 값이 여러 번 있을 때 가장 최근(아래쪽) 기록을 가져오고 싶다면 여섯 번째 인수를 -1로 지정합니다.
=XLOOKUP(E1, A2:A100, C2:C100, "없음", 0, -1)
다섯 번째 인수 0은 정확히 일치, 여섯 번째 인수 -1은 아래에서 위로 검색을 뜻합니다.
5. 구간별 값 찾기 (등급·수수료율)
점수에 따른 등급처럼 "이 값 이하 중 가장 가까운 값"이 필요할 때는 다섯 번째 인수를 -1(정확히 일치하거나 다음으로 작은 항목)로 설정합니다.
=XLOOKUP(E1, A2:A6, B2:B6, "해당 없음", -1)
이때 찾을 범위(A열)는 오름차순으로 정렬해 두는 것이 안전합니다.
인수 한눈에 보기
| 순서 | 인수 | 설명 |
|---|---|---|
| 1 | 찾을값 | 검색할 값 |
| 2 | 찾을범위 | 값을 검색할 열 또는 행 |
| 3 | 가져올범위 | 결과로 반환할 열 또는 행 |
| 4 | 못찾을때(선택) | 일치하는 값이 없을 때 표시할 내용 |
| 5 | 일치유형(선택) | 0 정확히 일치(기본), -1 정확히 또는 다음 작은 값, 1 정확히 또는 다음 큰 값, 2 와일드카드 |
| 6 | 검색모드(선택) | 1 위→아래(기본), -1 아래→위, 2·-2 이진 검색 |
자주 나는 오류와 해결법
| 오류 | 주요 원인 | 해결 방법 |
|---|---|---|
| #N/A | 찾을 값이 범위에 없음, 앞뒤 공백, 숫자와 텍스트 형식 불일치 | TRIM 함수로 공백 제거, 두 열의 형식을 통일, 4번째 인수로 안내 문구 지정 |
| #VALUE! | 찾을범위와 가져올범위의 크기(행 수)가 다름 | 두 범위의 시작·끝 행을 똑같이 맞춤 |
| #SPILL! | 결과가 펼쳐질 칸에 이미 값이 있음 | 오른쪽·아래쪽 빈칸 확보 |
| #NAME? | XLOOKUP을 지원하지 않는 엑셀 버전 | Microsoft 365 또는 Excel 2021 이상 사용, 또는 INDEX/MATCH 대체 |
#N/A가 가장 흔한데, 눈으로 보면 같은 값인데도 한쪽에 보이지 않는 공백이 있거나 한쪽은 숫자, 한쪽은 텍스트로 저장된 경우가 대부분입니다. 찾을값에 TRIM(E1)을 사용해 보세요.
=XLOOKUP(TRIM(E1), A2:A5, B2:B5, "없음")
엑셀 2019 이하라면: INDEX + MATCH 대안
XLOOKUP을 쓸 수 없는 버전이라면 INDEX와 MATCH를 조합하면 왼쪽 열도 찾을 수 있습니다.
=INDEX(B2:B5, MATCH(E1, A2:A5, 0))
MATCH가 "몇 번째 줄인지"를 찾고, INDEX가 그 줄의 값을 가져오는 방식입니다. 수식이 조금 길어도 모든 버전에서 안정적으로 동작합니다.
수식이 어렵다면 AI에게 물어보세요
데이터 구조를 말로 설명하면 AI가 수식을 만들어 주기도 합니다. 질문하는 요령은 AI에게 엑셀 함수 물어보는 법에서 자세히 다뤘으니 함께 참고해 보세요. 다만 AI가 알려준 수식은 반드시 작은 샘플 데이터로 먼저 검증한 뒤 실제 업무 파일에 적용하세요.
자주 묻는 질문 (FAQ)
Q1. VLOOKUP은 이제 쓰면 안 되나요?
그렇지 않습니다. 모든 엑셀 버전에서 동작하고 기존 파일에 많이 쓰이고 있어서 계속 쓸 수 있습니다. 다만 새로 만드는 파일이고 XLOOKUP을 쓸 수 있는 환경이라면 XLOOKUP이 더 안전합니다.
Q2. XLOOKUP이 VLOOKUP보다 느린가요?
일반적인 업무 규모에서는 체감 차이가 거의 없습니다. 수십만 행 이상의 큰 데이터에서는 범위를 필요한 만큼만 지정하는 것이 성능에 도움이 됩니다.
Q3. 다른 시트나 다른 파일에서도 찾을 수 있나요?
네, 찾을범위와 가져올범위에 다른 시트의 범위를 지정하면 됩니다. 예: =XLOOKUP(A2, 상품표!A:A, 상품표!B:B). 다른 파일을 참조할 때는 원본 파일이 열려 있거나 경로가 유지되어야 합니다.
Q4. 열 전체(A:A)를 지정해도 되나요?
가능합니다. 데이터가 계속 늘어나는 표에서 편리하지만, 아주 큰 파일에서는 필요한 범위만 지정하는 편이 계산이 빠릅니다.
마치며: 오늘 바로 바꿔볼 것
- 내 엑셀이 Microsoft 365 또는 2021 이상인지 확인
- 자주 쓰는 VLOOKUP 하나를 XLOOKUP으로 바꿔 보기
- 4번째 인수에 "없음" 같은 안내 문구 넣기
- #N/A가 나면 TRIM과 데이터 형식부터 확인하기
XLOOKUP은 한 번 익히면 다시 VLOOKUP으로 돌아가기 어려울 만큼 편한 함수입니다. 열 번호를 세다가 실수하던 경험이 있다면 오늘부터 XLOOKUP을 써 보세요.



댓글
댓글을 불러오는 중...