엑셀 XLOOKUP 함수 완벽 정리
VLOOKUP의 한계를 넘는 최신 조회 함수

XLOOKUP은 Microsoft 365(구 Office 365)와 Excel 2021부터 사용 가능한 최신 조회 함수입니다. VLOOKUP이 가진 "첫 번째 열만 검색 가능", "오류 처리 별도 필요" 같은 불편함을 해소하고, 왼쪽 열 반환·역방향 검색·오류 처리 내장까지 한 함수로 해결합니다.

XLOOKUP 함수란?

XLOOKUP은 지정한 범위에서 값을 검색해 다른 범위의 대응 값을 반환하는 함수입니다. VLOOKUP처럼 "표의 첫 번째 열"에 묶이지 않고, 검색 범위와 반환 범위를 각각 독립적으로 지정할 수 있습니다.

XLOOKUP은 Excel 2019 이하에서는 사용할 수 없습니다. 버전을 확인하세요. 구버전이라면 VLOOKUP 또는 INDEX+MATCH를 사용하세요.

기본 문법

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
인수설명필수 여부
lookup_value찾으려는 값필수
lookup_array검색할 범위 (한 열 또는 한 행)필수
return_array반환할 값이 있는 범위필수
if_not_found찾지 못했을 때 반환할 값 (기본: #N/A)선택
match_mode0=정확값(기본), -1=작거나 같은 값, 1=크거나 같은 값, 2=와일드카드선택
search_mode1=처음부터(기본), -1=끝부터(역방향), 2=오름차순 이진 검색, -2=내림차순 이진 검색선택

STEP 1 — 기본 사용법: VLOOKUP과 동일한 결과 내기

1예제: 사번으로 이름 찾기

A열에 사번, B열에 이름이 있고 E1 셀의 사번으로 이름을 찾습니다.

=XLOOKUP(E1, A:A, B:B)

VLOOKUP과 달리 열 번호를 셀 필요 없이 반환 범위를 직접 지정합니다.

오류 처리가 기본 내장! 네 번째 인수에 "없음"을 넣으면 찾지 못했을 때 자동으로 표시됩니다. IFERROR를 따로 감쌀 필요가 없습니다.
=XLOOKUP(E1, A:A, B:B, "없음")

STEP 2 — VLOOKUP이 못 하는 왼쪽 열 반환

1B열(이름)으로 A열(사번) 거꾸로 찾기

이름을 기준으로 사번을 역으로 조회하는 경우입니다. VLOOKUP은 첫 번째 열만 검색 기준으로 쓸 수 있어 불가능하지만 XLOOKUP은 가능합니다.

=XLOOKUP("박민준", B:B, A:A, "없음")

B열(이름)에서 "박민준"을 찾아 A열(사번)을 반환합니다.

STEP 3 — 역방향 검색: 마지막 일치값 찾기

중복 데이터가 있을 때 가장 마지막(최근) 행의 값을 가져오려면 search_mode를 -1로 설정합니다.

=XLOOKUP(E1, A:A, B:B, "없음", 0, -1)

같은 사번이 여러 행에 있을 경우 제일 아래쪽 행의 이름을 반환합니다.

STEP 4 — 여러 열 한꺼번에 반환하기

return_array를 여러 열로 지정하면 한 번에 여러 값을 가져올 수 있습니다.

1이름과 부서를 동시에 반환
=XLOOKUP(E1, A:A, B:C, "없음")

B:C로 반환 범위를 지정하면 이름(B열)과 부서(C열)를 나란히 반환합니다. 결과가 F1에서 G1까지 자동으로 넘쳐 표시(스필)됩니다.

VLOOKUP vs XLOOKUP 비교

기능VLOOKUPXLOOKUP
검색 기준 위치첫 번째 열만 가능어느 열이든 가능
왼쪽 열 반환불가가능
오류 처리IFERROR 별도 필요if_not_found 인수 내장
역방향 검색불가search_mode=-1
여러 열 동시 반환불가 (수식 반복 필요)return_array를 여러 열로 지정
Excel 버전모든 버전Microsoft 365, Excel 2021+

자주 묻는 질문

XLOOKUP을 쓰려면 어떤 Excel 버전이 필요한가요?
Microsoft 365 구독 버전 또는 Excel 2021 이상이 필요합니다. Excel 2019 이하에서는 지원되지 않습니다. 파일을 공유할 상대방도 같은 버전이어야 수식이 정상 작동합니다.
XLOOKUP 결과가 여러 셀로 넘쳐(스필) 표시되는데 어떻게 하나요?
return_array를 여러 열로 지정하면 결과가 오른쪽 셀로 자동 확장(스필)됩니다. 스필이 필요 없을 때는 return_array를 단일 열로 지정하거나, 결과셀 앞에 @ 연산자를 붙여 =@XLOOKUP(...)처럼 사용하면 단일 값만 반환합니다.
XLOOKUP과 INDEX+MATCH 중 어느 것이 더 좋은가요?
XLOOKUP이 더 직관적이고 사용하기 쉽습니다. 다만 INDEX+MATCH는 구버전 Excel에서도 동작하고, 2차원 교차 조회나 복잡한 배열 수식에서 유연성이 높습니다. 팀 전체가 최신 버전을 사용한다면 XLOOKUP, 버전 혼재 환경이라면 INDEX+MATCH를 권장합니다.