엑셀 XLOOKUP
VLOOKUP의 진화형 — 왼쪽 조회, if_not_found 내장, 기본 정확 일치까지 한 함수로
XLOOKUP 수식 구조
찾을값 (lookup_value)
찾을 키워드. 텍스트·숫자·셀 참조 모두 가능
찾을범위 (lookup_array)
검색할 1차원 범위 (한 열 또는 한 행)
반환범위 (return_array)
반환할 1차원 범위. 찾을범위와 같은 크기·방향이어야 함. 왼쪽이든 오른쪽이든 자유
없을때 (if_not_found) — 선택
매칭 실패 시 반환할 값. IFERROR 감쌀 필요 없이 내장
매칭모드 / 검색방향 — 선택
매칭모드 0=정확(기본), 1=다음 큰값, -1=다음 작은값, 2=와일드카드. 검색방향 1=위→아래(기본), -1=아래→위
직접 체험해보세요
3가지 시나리오 토글로 XLOOKUP의 진가를 확인하세요. 특히 "왼쪽 조회"는 VLOOKUP이 못 하는 영역
현재: 사원번호 → 이름 (사원번호 열에서 찾아 이름 열 반환)
| A(찾기) | B(반환) | C | D | |
|---|---|---|---|---|
| 1 | 사원번호 | 이름 | 부서 | 연봉 |
| 2 | E001 | 김철수 | 영업 | 4500 |
| 3 | E002 | 이영희 | 마케팅 | 5200 |
| 4 | E003 | 박민수 | 개발 | 6000 |
| 5 | E004 | 정유진 | 영업 | 4800 |
| 6 | E005 | 최서영 | 개발 | 5500 |
F2 결과
박민수
✓ 4행 매칭
실전 활용 예제
=XLOOKUP(A2, 사원번호열, 이름열, "미등록")기본 + 오류 처리 — 가장 흔한 사용법. IFERROR 없이 if_not_found 인수로 깔끔하게 처리.
=XLOOKUP(A2, B:B, A:A)왼쪽 조회 — 이름(B열)으로 사원번호(A열) 찾기. VLOOKUP은 불가능, INDEX+MATCH 조합이 유일한 대안이었음.
=XLOOKUP(찾을값, A:A, C:E)여러 열 동시 반환 — return_array를 다중 컬럼으로 지정하면 한 번에 여러 값 반환(spill). Microsoft 365 동적 배열 기능.
다른 엑셀 함수도 알아보세요
XLOOKUP vs VLOOKUP — 7가지 결정적 차이
▼
XLOOKUP은 VLOOKUP의 거의 모든 단점을 해결합니다. 신규 시트는 무조건 XLOOKUP, 기존 시트도 가능하면 마이그 레이션을 추천합니다.
| 항목 | VLOOKUP | XLOOKUP |
|---|---|---|
| 왼쪽 조회 | ❌ | ✓ |
| 기본 매칭 모드 | 근사값 ⚠️ | 정확 ✓ |
| if_not_found | IFERROR 별도 | 내장 ✓ |
| 열 번호 지정 | 숫자 (취약) | 범위 직접 |
| 아래→위 검색 | ❌ | ✓ |
| 와일드카드 | 기본 ON | 선택적 (모드 2) |
| 행/열 둘 다 | V(세로)만 | 둘 다 ✓ |
특히 열 번호 vs 범위 직접 지정이 중요. VLOOKUP의 4번째 인수 "3"은 표 중간에 열을 추가하면 깨지지만, XLOOKUP은 범위 자체를 가리키므로 안전합니다.
XLOOKUP vs INDEX+MATCH — 둘 다 알아야 할 이유
▼
XLOOKUP 이전엔 왼쪽 조회를 위해 INDEX+MATCH 조합이 정석이었습니다. 두 함수의 결과는 같지만 가독성· 버전 호환에 차이가 있습니다.
INDEX+MATCH (전 버전 호환)
=INDEX(A:A, MATCH("박민수", B:B, 0))
중첩이 길고 처음 보면 헷갈림. Excel 2003부터 사용 가능
XLOOKUP (Excel 2021+)
=XLOOKUP("박민수", B:B, A:A)
한 줄, 읽기 쉬움. 단, 구버전 사용자에게 보내면 #NAME?
실무 가이드: 내부용 시트는 XLOOKUP, 외부 공유·구버전 호환 필요 시 INDEX+MATCH. 두 패턴 모두 익혀두면 어떤 환경에서도 대응 가능합니다.
매칭모드 4종 — 정확·근사·와일드카드
▼
다섯 번째 인수 match_mode로 정확도를 조절합니다. 기본값 0(정확 일치)이 가장 흔하지만 구간 매칭은 1/-1을 사용.
| 값 | 의미 | 예 |
|---|---|---|
| 0 | 정확 일치 (기본) | "E003" 그대로 |
| 1 | 없으면 다음 큰 값 | 75점 → 80점대 등급 |
| -1 | 없으면 다음 작은 값 | 75점 → 70점대 등급 |
| 2 | 와일드카드 (* ?) | "김*" → "김"으로 시작 |
구간 매칭(1/-1)은 등급 매기기·구간별 할인율 등에 유용. 와일드카드(2)는 일부 일치 검색에 적합 — VLOOKUP은 이게 기본이라 의도치 않은 부분 매칭이 종종 발생했지만 XLOOKUP은 명시적이라 더 안전.
자주 묻는 질문 (FAQ)
▼
Q. Excel 2019에서 XLOOKUP을 쓸 수 있나요?
아니요. Excel 2021 또는 Microsoft 365 이상에서만 작동합니다. 2019 이하에서는 INDEX+MATCH 또는 VLOOKUP을 사용하세요.
Q. XLOOKUP이 더 느린가요?
동일한 정확 일치 검색에서는 거의 동일. 큰 데이터(수만 행)에서는 VLOOKUP/INDEX+MATCH가 더 빠를 수 있는데, XLOOKUP은 기본 정확 일치라 binary search를 못 쓰기 때문. 일반 업무에서는 체감 차이 없음.
Q. 여러 조건으로 조회하려면?
찾을값과 찾을범위를 & 또는 배열로 합치면 다중 조건 가능 — =XLOOKUP(A2&B2, C:C&D:D, E:E). FILTER 함수도 대안.
Q. 결과를 정확히 0이 아닌 빈 셀로 받으려면?
XLOOKUP은 빈 셀을 0으로 반환하는 특성이 있습니다. =IF(XLOOKUP(...)="", "", XLOOKUP(...)) 또는 결과 셀 서식에서 0을 숨기는 방식으로 처리하세요.