AI 실전노트
엑셀·오피스

엑셀 XLOOKUP 함수 사용법: VLOOKUP과 차이, 예제 6가지로 끝내기

XLOOKUP의 인수 6개를 하나씩 풀어 설명하고, VLOOKUP으로는 어려웠던 왼쪽 찾기·여러 열 가져오기·구간 찾기를 예제로 정리했습니다. 지원 버전과 자주 나는 오류도 함께 다룹니다.

VLOOKUP을 쓰다 보면 한 번쯤 이런 일을 겪습니다. 찾을 값이 표의 첫 열에 있지 않아서 열 순서를 바꾸고, 열 하나를 끼워 넣었더니 결과가 전부 틀어지고, 마지막 인수 FALSE를 빼먹어서 엉뚱한 값이 나옵니다.

XLOOKUP 은 이런 불편을 없애려고 나온 함수입니다. 이 글에서는 XLOOKUP의 문법을 하나씩 풀고, 실무에서 바로 쓰는 예제 6가지를 정리했습니다.

XLOOKUP을 쓸 수 있는 버전

Microsoft 공식 문서 기준으로 XLOOKUP은 아래 버전에서 쓸 수 있습니다.

사용 가능 사용 불가
Microsoft 365용 Excel (Windows, Mac) Excel 2019
Excel 2024, Excel 2021 (Windows, Mac) Excel 2016 및 이전 버전
웹용 Excel, iPad·iPhone·Android용 Excel

회사 PC가 Excel 2016이나 2019라면 XLOOKUP이 #NAME? 오류로 표시됩니다. 파일을 여러 사람이 함께 쓴다면 모두의 버전을 먼저 확인하세요.

기본 문법

=XLOOKUP(찾을값, 찾을범위, 가져올범위, [없을때값], [일치방식], [검색방향])

앞의 3개만 필수이고, 나머지 3개는 필요할 때만 씁니다.

인수 필수 설명
찾을값 (lookup_value) ○ 찾으려는 값
찾을범위 (lookup_array) ○ 찾을값을 검색할 열(또는 행)
가져올범위 (return_array) ○ 결과를 가져올 열. 여러 열도 가능
없을때값 (if_not_found) 값을 못 찾았을 때 표시할 내용. 생략하면 #N/A
일치방식 (match_mode) 0 = 정확히 일치(기본값), -1 = 없으면 바로 작은 값, 1 = 없으면 바로 큰 값, 2 = 와일드카드
검색방향 (search_mode) 1 = 위에서 아래로(기본값), -1 = 아래에서 위로, 2·-2 = 정렬된 데이터용 이진 검색

VLOOKUP과 가장 큰 차이는 찾을 범위와 가져올 범위를 따로 지정한다 는 점입니다. 그래서 표의 열 순서나 열 번호에 신경 쓸 필요가 없습니다.

VLOOKUP과 무엇이 다른가

구분 VLOOKUP XLOOKUP
기본 일치 방식 마지막 인수를 빼면 근사 일치 기본이 정확히 일치
찾는 열 위치 반드시 범위의 첫 열 어느 열이든 가능 (왼쪽 찾기 가능)
결과 열 지정 열 번호(3, 4…)로 지정 범위를 직접 지정
열 삽입·삭제 열 번호가 어긋나 결과가 틀어질 수 있음 범위가 함께 조정되어 안전
못 찾았을 때 IFERROR 등으로 감싸야 함 4번째 인수로 바로 지정
여러 열 한 번에 불가 (함수를 여러 번) 가능
아래에서부터 찾기 불가 가능 (마지막 값 찾기)

특히 VLOOKUP은 마지막 인수를 생략하면 근사 일치로 동작 한다는 점이 실수의 주원인입니다. 정렬되지 않은 표에서 근사 일치를 쓰면 오류 없이 엉뚱한 값을 돌려주기 때문에 알아채기도 어렵습니다. XLOOKUP은 기본이 정확히 일치라 이 문제가 없습니다.

예제 1. 기본 찾기

사원 명단에서 이름으로 부서를 찾는 경우입니다.

A B C
1 사번 이름 부서
2 1001 김민준 영업팀
3 1002 이서연 인사팀
4 1003 박지호 개발팀
=XLOOKUP("이서연", B2:B4, C2:C4)
→ 인사팀

같은 작업을 VLOOKUP으로 하면 =VLOOKUP("이서연", B2:C4, 2, FALSE)입니다. 열 번호 2와 FALSE가 사라진 것만으로도 실수할 곳이 두 군데 줄었습니다.

예제 2. 왼쪽 열 값 가져오기

이름으로 사번 을 찾고 싶다면, 사번은 이름보다 왼쪽에 있어서 VLOOKUP으로는 열 순서를 바꾸거나 INDEX와 MATCH를 조합해야 했습니다. XLOOKUP은 그냥 범위만 바꾸면 됩니다.

=XLOOKUP("박지호", B2:B4, A2:A4)
→ 1003

예제 3. 못 찾았을 때 메시지 표시

=XLOOKUP("최유나", B2:B4, C2:C4, "명단에 없음")
→ 명단에 없음

예전처럼 IFERROR(VLOOKUP(...), "명단에 없음")으로 감쌀 필요가 없습니다. 텍스트는 반드시 큰따옴표로 감싸야 합니다.

예제 4. 여러 열을 한 번에 가져오기

가져올 범위를 여러 열로 지정하면 결과가 오른쪽 칸으로 자동으로 펼쳐집니다(Microsoft 365, Excel 2021 이후의 동적 배열 기능).

=XLOOKUP(1002, A2:A4, B2:C4)
→ 이서연 | 인사팀  (두 칸에 나뉘어 표시)

결과가 펼쳐질 자리에 이미 값이 있으면 #SPILL! 오류가 나니 오른쪽 칸을 비워 두세요.

예제 5. 구간 찾기 (등급·수수료율)

점수에 따라 등급을 매기는 것처럼 구간 으로 찾을 때는 일치방식을 -1(없으면 바로 작은 값)로 씁니다.

E F
1 기준점수 등급
2 0 D
3 60 C
4 75 B
5 90 A
=XLOOKUP(82, E2:E5, F2:F5, , -1)
→ B

82와 정확히 같은 기준점수가 없으니 바로 아래인 75의 등급 B를 돌려줍니다. 4번째 인수(없을때값)를 비워 두려면 쉼표만 두 번 연달아 쓰면 됩니다.

예제 6. 가장 최근 기록 찾기

거래 내역처럼 같은 거래처가 여러 번 나올 때, VLOOKUP은 항상 첫 번째 값만 찾습니다. XLOOKUP은 검색방향을 -1로 주면 아래에서부터 찾으므로 가장 마지막(최근) 기록 을 가져옵니다.

=XLOOKUP("A상사", 거래처열, 금액열, "거래 없음", 0, -1)

날짜순으로 쌓이는 장부에서 “이 거래처의 마지막 거래 금액”을 구할 때 유용합니다.

자주 나는 오류와 해결법

오류 원인 해결
#N/A 찾을값이 없음 4번째 인수로 대체값 지정, 철자·공백 확인
#NAME? XLOOKUP을 지원하지 않는 버전, 또는 텍스트에 따옴표 누락 버전 확인, 텍스트는 " 로 감싸기
#VALUE! 찾을범위와 가져올범위의 크기가 다름 두 범위의 행 수를 똑같이 맞추기
#SPILL! 여러 칸 결과가 펼쳐질 자리에 값이 있음 오른쪽(또는 아래) 칸 비우기
값이 있는데 못 찾음 숫자가 텍스트로 저장됨, 앞뒤 공백 TRIM 함수로 공백 제거, 셀 서식 통일

마지막 경우가 실무에서 가장 흔합니다. 다른 시스템에서 내려받은 데이터는 숫자처럼 보여도 텍스트인 경우가 많으니, 셀 왼쪽 위에 초록색 삼각형이 있는지 확인해 보세요.

정리

  • XLOOKUP은 찾을 범위와 가져올 범위를 따로 지정해서 열 번호, 열 순서 걱정이 없습니다.
  • 기본이 정확히 일치 라 VLOOKUP의 FALSE 누락 실수가 사라집니다.
  • 못 찾았을 때 값, 여러 열 가져오기, 구간 찾기, 마지막 값 찾기를 함수 하나로 처리합니다.
  • 단, Excel 2019 이하에서는 쓸 수 없으니 파일을 공유할 상대의 버전을 먼저 확인하세요.

참고 자료

  1. Microsoft 지원 - XLOOKUP 함수
  2. Microsoft 지원 - VLOOKUP 함수