엑셀에서 데이터를 조회할 때 가장 많이 쓰던 함수는 VLOOKUP이었습니다. 그러나 VLOOKUP은 검색 열의 오른쪽만 반환할 수 있고, 열을 추가하면 수식이 틀어지는 구조적 한계가 있었습니다. XLOOKUP 함수는 이러한 한계를 해소하기 위해 Microsoft 365와 Excel 2021에 도입된 조회 함수입니다. 이 글에서는 XLOOKUP의 구문, 6가지 인수, 실전 예시, 그리고 자주 하는 실수를 다룹니다.
XLOOKUP 함수란
XLOOKUP은 지정한 범위에서 값을 찾아 다른 범위의 대응 값을 반환하는 함수입니다. VLOOKUP·HLOOKUP·INDEX+MATCH 조합을 하나의 함수로 대체할 수 있으며, 가로·세로 방향 검색을 모두 지원합니다.
지원 버전 확인
| 버전 | 지원 여부 |
|---|---|
| Microsoft 365 (구독) | 지원 |
| Excel 2021 | 지원 |
| Excel 2019 이하 | 미지원 (#NAME? 오류) |
| Excel Online (웹) | 지원 |
Excel 2019 이하 환경의 동료와 파일을 공유한다면, XLOOKUP 수식이 #NAME? 오류로 표시됩니다.
VLOOKUP·HLOOKUP과의 차이점 요약
| 항목 | VLOOKUP | HLOOKUP | XLOOKUP |
|---|---|---|---|
| 검색 방향 | 세로(열) | 가로(행) | 세로·가로 모두 |
| 반환 방향 | 오른쪽만 | 아래쪽만 | 좌우·상하 모두 |
| 기본 일치 방식 | 근사 일치 | 근사 일치 | 정확 일치 |
| 열 삽입 영향 | 있음 | 있음 | 없음 |
| 오류 처리 내장 | 없음 (IFERROR 필요) | 없음 | 있음 (4번째 인수) |
| 지원 버전 | 모든 버전 | 모든 버전 | M365, 2021 이상 |
함수 구문과 인수 설명
=XLOOKUP(찾을값, 찾을범위, 반환범위, [찾지못한경우], [일치모드], [검색모드])필수 인수 3개
| 인수 | 영문명 | 설명 |
|---|---|---|
| 찾을값 | lookup_value | 검색할 값. 셀 참조, 숫자, 텍스트 모두 가능 |
| 찾을범위 | lookup_array | 검색을 수행할 열 또는 행 범위 |
| 반환범위 | return_array | 반환할 값이 있는 열 또는 행 범위 |
찾을범위와 반환범위의 크기(행 수 또는 열 수)는 반드시 같아야 합니다. 크기가 다르면 #VALUE! 오류가 발생합니다.
선택 인수 3개
4번째 인수: 찾지못한경우 (if_not_found)
찾을값이 찾을범위에 없을 때 반환할 값을 지정합니다. 생략하면 #N/A 오류를 반환합니다.
=XLOOKUP(A2, D2:D100, E2:E100, "해당없음")5번째 인수: 일치모드 (match_mode)
| 값 | 동작 |
|---|---|
| 0 (기본) | 정확 일치. 없으면 오류 반환 |
| -1 | 정확 일치 없을 시 다음으로 작은 값 반환 |
| 1 | 정확 일치 없을 시 다음으로 큰 값 반환 |
| 2 | 와일드카드 검색 (*, ?, ~ 사용 가능) |
6번째 인수: 검색모드 (search_mode)
| 값 | 동작 |
|---|---|
| 1 (기본) | 첫 번째 항목부터 순차 검색 |
| -1 | 마지막 항목부터 역순 검색 |
| 2 | 이진 검색 (오름차순 정렬된 데이터에 사용) |
| -2 | 이진 검색 (내림차순 정렬된 데이터에 사용) |
이진 검색(2, -2)은 데이터가 대량일 때 처리 속도를 높이지만, 데이터가 정렬되어 있지 않으면 결과가 잘못될 수 있습니다.
기본 사용 예시
단순 조회 – 사원번호로 부서 찾기
| A열: 사원번호 | B열: 이름 | C열: 부서 |
|---|---|---|
| E001 | 김민준 | 영업팀 |
| E002 | 이서연 | 개발팀 |
| E003 | 박지호 | 인사팀 |
| E004 | 최유나 | 마케팅팀 |
=XLOOKUP(F2, A2:A5, C2:C5, "없음")F2에 "E002"가 입력되어 있다면 "개발팀"을 반환합니다.
역방향 검색 – 부서로 이름 찾기
=XLOOKUP("이서연", B2:B5, A2:A5, "없음")이름 "이서연"을 B열에서 찾아 A열의 사원번호 "E002"를 반환합니다.
실전 활용 – 선택 인수 활용하기
와일드카드 검색 (일치모드 2)
=XLOOKUP("모니터*", D2:D4, E2:E4, "없음", 2)"모니터"로 시작하는 첫 번째 항목의 가격을 반환합니다.
역순 검색 (검색모드 -1)
=XLOOKUP("홍길동", F2:F4, G2:G4, "없음", 0, -1)홍길동의 주문 중 가장 마지막 항목을 반환합니다.
자주 하는 실수와 주의사항
오류 원인과 처리
| 오류 | 주요 원인 | 처리 방법 |
|---|---|---|
| #N/A | 찾을값이 찾을범위에 없음 | 4번째 인수(if_not_found) 지정 |
| #VALUE! | 찾을범위와 반환범위 크기 불일치 | 두 범위의 행/열 수를 동일하게 조정 |
| #NAME? | 지원하지 않는 엑셀 버전에서 실행 | VLOOKUP 또는 INDEX+MATCH로 대체 |
구버전 파일 공유 시 호환성 문제
Excel 2019 이하 사용자와 공유 시 INDEX+MATCH로 대체합니다.
=IFERROR(INDEX(C2:C5, MATCH(F2, A2:A5, 0)), "없음")마치며
XLOOKUP은 VLOOKUP의 방향 제한과 열 번호 의존 구조를 해소한 함수입니다. 필수 인수 3개만으로 기본 조회가 가능하고, 선택 인수를 활용하면 와일드카드 검색·역순 검색·오류 처리까지 단일 수식으로 처리할 수 있습니다. Microsoft 365 또는 Excel 2021 이상 환경이라면 VLOOKUP을 XLOOKUP으로 전환하는 것을 검토할 만합니다.
'엑셀' 카테고리의 다른 글
| 엑셀 HLOOKUP 함수 사용법 – 가로 방향 조회의 구문과 실전 예시 (0) | 2026.06.29 |
|---|---|
| 엑셀 VLOOKUP 함수 사용법 – 구문부터 오류 해결까지 (0) | 2026.06.26 |
| 엑셀 INDEX MATCH 함수 조합 사용법 – VLOOKUP이 안 될 때 대안 (1) | 2026.06.24 |
| 엑셀 HLOOKUP 함수 사용법 – 가로 방향 조회와 실전 예시 (0) | 2026.06.23 |
| 엑셀 VLOOKUP 함수 사용법 – 구문부터 오류 해결까지 (0) | 2026.06.22 |