Excel · 조회

엑셀 XLOOKUP

VLOOKUP의 진화형 — 왼쪽 조회, if_not_found 내장, 기본 정확 일치까지 한 함수로.

XLOOKUP 수식 구조

=XLOOKUP(찾을값, 찾을범위, 반환범위, [없을때], [매칭모드], [검색방향])

찾을값 (lookup_value)

찾을 키워드. 텍스트·숫자·셀 참조 모두 가능

찾을범위 (lookup_array)

검색할 1차원 범위 (한 열 또는 한 행)

반환범위 (return_array)

반환할 1차원 범위. 찾을범위와 같은 크기·방향이어야 함. 왼쪽이든 오른쪽이든 자유

없을때 (if_not_found) — 선택

매칭 실패 시 반환할 값. IFERROR 감쌀 필요 없이 내장

매칭모드 / 검색방향 — 선택

매칭모드 0=정확(기본), 1=다음 큰값, -1=다음 작은값, 2=와일드카드. 검색방향 1=위→아래(기본), -1=아래→위

Microsoft 365 / Excel 2021+에서만 작동. 이전 버전에서는 #NAME? 오류. 구글 스프레드시트는 전 버전 지원.

직접 체험해보세요

3가지 시나리오 토글로 XLOOKUP의 진가를 확인하세요. 특히 “왼쪽 조회”는 VLOOKUP이 못 하는 영역.

F2=XLOOKUP("E003", A2:A6, B2:B6, "없음")박민수

현재: 사원번호 → 이름 (사원번호 열에서 찾아 이름 열 반환)

A(찾기)B(반환)CD
1사원번호이름부서연봉
2E001김철수영업4500
3E002이영희마케팅5200
4E003박민수개발6000
5E004정유진영업4800
6E005최서영개발5500

F2 결과

박민수

✓ 4행 매칭

VLOOKUP으로도 가능 — XLOOKUP은 더 짧고 안전

실전 활용 예제

=XLOOKUP(A2, 사원번호열, 이름열, "미등록")

기본 + 오류 처리 — 가장 흔한 사용법. IFERROR 없이 if_not_found 인수로 깔끔하게 처리.

예시: XLOOKUP("E999", ...)"미등록"
=XLOOKUP(A2, B:B, A:A)

왼쪽 조회 — 이름(B열)으로 사원번호(A열) 찾기. VLOOKUP은 불가능, INDEX+MATCH 조합이 유일한 대안이었음.

예시: XLOOKUP("박민수", 이름열, 사원번호열)"E003"
=XLOOKUP(찾을값, A:A, C:E)

여러 열 동시 반환 — return_array를 다중 컬럼으로 지정하면 한 번에 여러 값 반환(spill). Microsoft 365 동적 배열 기능.

예시: 사원번호 → 이름·부서·연봉 한 번에3개 셀 자동 채움
목차
  1. 1.엑셀 XLOOKUP 함수란?
  2. 2.VLOOKUP 대비 7가지 결정적 진화점
  3. 3.매칭모드·검색모드 — 4+4 옵션
  4. 4.실전 사용 시나리오 10가지
  5. 5.자주 발생하는 오류·함정 6가지
  6. 6.버전 호환성 — 누가 쓸 수 있나
  7. 7.자주 묻는 질문

엑셀 XLOOKUP 함수란?

엑셀 XLOOKUP 함수는 VLOOKUP과 HLOOKUP의 한계를 모두 해결한 진화형 조회 함수 입니다. Microsoft 365와 Excel 2021부터 도입됐으며, 왼쪽 조회·if_not_found 내장·정확 일치 기본 등 VLOOKUP의 단점을 거의 모두 보완했어요. 신규 시트는 무조건 XLOOKUP, 기존 시트도 가능하면 마이그레이션이 추천될 정도로 상위 호환 함수입니다.

구문은 =XLOOKUP(찾을값, 검색범위, 반환범위, [없을때값], [매칭모드], [검색모드]) 형식으로 최대 6개 인수입니다. 처음 3개만 필수, 나머지는 선택. 가장 중요한 변화는 검색 범위와 반환 범위를 별도로 지정한다는 점 — VLOOKUP의 "열 번호" 방식을 버리고 범위 자체를 가리켜서 왼쪽 조회도 되고 열 추가/삭제에도 깨지지 않습니다.

VLOOKUP 대비 7가지 결정적 진화점

XLOOKUP이 VLOOKUP을 대체할 수 있는 7가지 핵심 차이.

#항목VLOOKUPXLOOKUP
1왼쪽 조회
2if_not_found 내장✗ (IFERROR 필요)
3정확 일치 기본값✗ (TRUE 기본)✓ (0 기본)
4열 번호 → 범위 지정숫자 (취약)범위 (안전)
5세로·가로 동시V만 (HLOOKUP 별도)둘 다
6역방향 검색✓ search_mode -1
7이진 검색✓ search_mode 2/-2

특히 4번 "열 번호 → 범위 지정"이 실무에서 가장 큰 가치. VLOOKUP의 "3"은 중간에 열 추가하면 깨지지만, XLOOKUP은 범위 자체를 가리키므로 안전합니다.

매칭모드·검색모드 — 4+4 옵션

5번째·6번째 인수로 동작을 세밀하게 제어할 수 있습니다.

매칭모드 (match_mode, 5번째 인수)

의미사용 시점
0정확 일치 (기본)실무 90% — 이 모드
-1정확 또는 다음 작은 값구간 매칭 (점수→등급)
1정확 또는 다음 큰 값반대 방향 구간 매칭
2와일드카드 (* ? ~)부분 문자열 검색

검색모드 (search_mode, 6번째 인수)

의미사용 시점
1첫→마지막 (기본)일반
-1마지막→첫 (역방향)최신 거래·로그 우선
2이진 검색 (오름차순)대용량 정렬 데이터
-2이진 검색 (내림차순)대용량 정렬 데이터

이진 검색(2/-2)은 데이터가 정렬되어 있어야 하지만 O(log n)으로 매우 빠릅니다. 1만 행 이상이라면 정렬 후 search_mode 2 사용을 고려하세요.

실전 사용 시나리오 10가지

XLOOKUP의 진가는 다양한 시나리오에서 발휘됩니다.

  • 기본 정확 일치 =XLOOKUP(A1, B:B, C:C)
  • if_not_found 내장 =XLOOKUP(A1, B:B, C:C, "없음")
  • 왼쪽 조회 (VLOOKUP 불가) =XLOOKUP("사과", C:C, A:A)
  • 가로 조회 (HLOOKUP 대체) =XLOOKUP(A1, B1:Z1, B5:Z5)
  • 다중 열 반환 (동적 배열) =XLOOKUP(A1, B:B, D:F) — 한 번에 D·E·F
  • 구간 매칭 (등급) =XLOOKUP(A1, {0;60;70;80;90}, {"F";"D";"C";"B";"A"}, , -1)
  • 와일드카드 =XLOOKUP("*"&A1&"*", B:B, C:C, "없음", 2)
  • 마지막 항목 (역방향) =XLOOKUP(A1, B:B, C:C, , , -1)
  • 다중 키 검색 =XLOOKUP(A1&B1, C:C&D:D, E:E)
  • 양방향 조회 (중첩) =XLOOKUP(B1, 행헤더, XLOOKUP(A1, 열헤더, 데이터범위))

자주 발생하는 오류·함정 6가지

  • #NAME? — 함수 미지원 — Excel 2019 이하에서 XLOOKUP 입력. 해결: 365/2021 업그레이드 또는 VLOOKUP+IFERROR/INDEX+MATCH
  • #N/A — if_not_found 생략 — 검색값 없는데 4번째 인수 안 줌. 해결: "없음" 등 대체값 명시
  • #VALUE! — 배열 크기 불일치 — lookup_array와 return_array 크기 다름. 해결: 두 범위 크기 일치
  • lookup_array에 여러 열·행 — 1행 또는 1열만 가능. 해결: 단일 열/행으로
  • 와일드카드 동작 안 함 — match_mode 2 지정 안 함. 해결: 5번째 인수에 2 명시
  • 이진 검색 잘못된 결과 — search_mode 2/-2 사용했는데 데이터 정렬 안 됨. 해결: 정렬 또는 search_mode 1

버전 호환성 — 누가 쓸 수 있나

XLOOKUP은 신규 함수라 버전 제약이 명확합니다. 회사·학교 공유 파일은 호환성을 확인하고 사용하세요.

플랫폼XLOOKUP
Microsoft 365 (Windows·Mac·Web·Mobile)
Excel 2021
Excel 2019 / 2016 / 2013 / 2010 / 2007
Google Sheets (2022+)
LibreOffice Calc (7.4+)
Apple Numbers (12+)
한컴 한셀⚠️ 최신 버전 부분 지원

실무 가이드: 내부 본인용은 XLOOKUP, 외부 공유·구버전 사용자 있는 경우는 VLOOKUP+IFERROR 또는 INDEX+MATCH가 안전합니다. 두 패턴 모두 익혀두면 어떤 환경에서도 대응 가능해요.

자주 묻는 질문

Q. XLOOKUP 함수 사용법은?

=XLOOKUP(찾을값, 검색범위, 반환범위, [없을때값], [매칭모드], [검색모드]) 형식입니다. A1 값을 B열에서 찾고 같은 행의 C열 값을 가져오려면 =XLOOKUP(A1, B:B, C:C, "없음")을 입력합니다. 4번째 인수에 if_not_found가 내장돼 있어 IFERROR 없이도 깔끔합니다.

Q. XLOOKUP과 VLOOKUP의 가장 큰 차이는?

① 왼쪽 조회 가능 (VLOOKUP은 오른쪽만), ② if_not_found 내장 (IFERROR 불필요), ③ 정확 일치가 기본값 (VLOOKUP은 유사 일치 기본), ④ 열 번호가 아닌 반환 범위 지정 (열 추가에 안전). 가장 결정적인 건 왼쪽 조회와 if_not_found 두 가지입니다.

Q. XLOOKUP은 모든 Excel에서 쓸 수 있나요?

아니요. Microsoft 365 또는 Excel 2021 이상에서만 지원됩니다. Excel 2019, 2016, 2013 등 구버전에서는 #NAME? 오류가 납니다. 다른 사람과 공유하는 파일이라면 VLOOKUP + IFERROR 또는 INDEX+MATCH를 사용하는 게 안전합니다.

Q. XLOOKUP으로 왼쪽 열 값을 가져오는 방법은?

VLOOKUP의 가장 큰 한계가 왼쪽 조회 불가였는데, XLOOKUP은 lookup_array와 return_array를 별도로 지정하므로 어느 방향이든 가능합니다. 예: =XLOOKUP("사과", C:C, A:A) — C열에서 "사과" 찾고 왼쪽 A열 값 반환.

Q. 못 찾았을 때 #N/A 대신 다른 값을 표시하려면?

4번째 인수 if_not_found에 원하는 값을 넣으세요: =XLOOKUP(A1, B:B, C:C, "없음"). VLOOKUP은 IFERROR로 감싸야 했지만 XLOOKUP은 내장이라 한 줄로 끝납니다.

Q. XLOOKUP의 match_mode와 search_mode는 뭔가요?

match_mode(5번째): 0=정확 일치(기본), -1=정확 또는 다음 작은 값(구간 매칭), 1=정확 또는 다음 큰 값, 2=와일드카드. search_mode(6번째): 1=첫→마지막(기본), -1=마지막→첫(역방향), 2/-2=이진 검색(정렬 데이터에서 매우 빠름). 대부분은 둘 다 기본값(0, 1)으로 충분합니다.

Q. XLOOKUP으로 가로(행) 조회도 되나요?

네. HLOOKUP 따로 필요 없습니다. lookup_array를 1행 범위(B1:Z1), return_array를 다른 1행 범위(B5:Z5)로 주면 됩니다. 같은 함수로 세로·가로 모두 처리해서 함수 외워야 할 가짓수가 줄어듭니다.

Q. 구글 스프레드시트에서도 XLOOKUP 쓸 수 있나요?

네. 2022년부터 Google Sheets에서 XLOOKUP을 정식 지원합니다. 동일한 문법으로 작동합니다. LibreOffice Calc는 7.4 이상, Apple Numbers는 Numbers 12 이상에서 지원합니다.

본 페이지는 Microsoft Support 공식 XLOOKUP 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.