엑셀 XLOOKUP 함수 사용법 — VLOOKUP·INDEX/MATCH와 한눈에 비교

최종 업데이트 2026-07-20

엑셀의 조회(lookup) 함수는 크게 세 갈래로 발전해왔습니다. VLOOKUP(1985년대 개념) → INDEX/MATCH(방향 제약 해소) → XLOOKUP(Microsoft 365, 2019년 도입, 두 함수의 단점을 흡수). 표부터 보고 시작하겠습니다.

세 함수 한눈에 비교

항목VLOOKUPINDEX/MATCHXLOOKUP
함수 개수1개2개 조합1개
왼쪽 조회불가능가능가능
열 번호 지정 방식숫자로 직접 지정MATCH 위치 계산범위를 직접 지정(번호 불필요)
없을 때 기본값IFERROR로 별도 처리IFERROR로 별도 처리네 번째 인수에 바로 지정
여러 열 동시 반환불가능(열마다 각각 작성)불가능(열마다 각각 작성)가능(반환범위를 여러 열로 지정)
뒤에서부터 검색불가능가능(MATCH 옵션)가능(검색모드 -1)
최소 지원 버전모든 버전모든 버전엑셀 2021, Microsoft 365

기본 구조와 실제 데이터 예시

=XLOOKUP(찾을값, 찾을범위, 반환범위, [없을때값], [일치모드], [검색모드])
A열(사번)B열(이름)C열(부서)D열(입사일)
A102김민수영업1팀2022-03-02
A103이서연총무팀2021-07-15
A104박지훈영업2팀2023-01-10

F2에 'A103'을 입력했을 때 이름과 부서를 동시에 G2:H2에 반환하고 싶다면, 반환범위를 B:C처럼 두 열로 지정한 뒤 결과를 한 번만 입력해도 자동으로 옆 셀까지 펼쳐집니다(동적 배열).

=XLOOKUP(F2, A:A, B:C, "사번없음")

F2가 'A103'이면 G2에는 '이서연', H2에는 '총무팀'이 한 수식으로 동시에 채워집니다. VLOOKUP이었다면 열마다 함수를 따로 두 번 써야 했던 작업입니다. 찾는 사번이 없으면 #N/A 대신 지정한 '사번없음'이 바로 표시됩니다.

일치모드 옵션표

동작
0 (기본값)정확히 일치하는 값만 찾음
-1정확히 일치하는 값이 없으면 그보다 작은 값 중 가장 가까운 값
1정확히 일치하는 값이 없으면 그보다 큰 값 중 가장 가까운 값
2와일드카드(*, ?) 패턴 일치

검색모드 옵션표

동작
1 (기본값)첫 항목부터 검색
-1마지막 항목부터 검색(가장 최근 값을 찾을 때 유용)
2 / -2이진 검색(정렬된 대용량 데이터에서 속도 향상)

예를 들어 거래 이력 표에서 같은 거래처가 여러 번 나올 때 '가장 최근 거래 단가'를 찾고 싶다면 검색모드를 -1로 지정합니다.

=XLOOKUP(F2, A:A, C:C, "없음", 0, -1)

오류·주의사항

증상원인해결
#NAME?엑셀 2019 이하 등 구버전에서 사용INDEX/MATCH로 대체하거나 Microsoft 365로 업그레이드
#N/A네 번째 인수를 생략했고 찾을값이 없음네 번째 인수에 기본값을 지정해 방지
#SPILL!여러 열 반환 결과가 나올 자리에 값이 이미 있음결과가 펼쳐질 오른쪽 셀들을 비워둠
💡

새 문서를 처음부터 만든다면 VLOOKUP 대신 XLOOKUP을 기본으로 쓰는 것을 권장합니다. 다만 협업하는 동료나 고객이 구버전 엑셀을 쓸 가능성이 있다면 호환성을 먼저 확인하세요.

여러 조건을 동시에 만족하는 값 찾기

VLOOKUP·INDEX/MATCH는 조건이 2개 이상(예: 부서 + 이름이 동시에 일치하는 행)일 때 보조열을 따로 만들어야 하는 경우가 많습니다. XLOOKUP은 찾을범위 자리에 조건식을 곱해서 넣는 방식으로 별도 보조열 없이 다중 조건을 처리할 수 있습니다.

A열(부서)B열(이름)C열(직급)
영업1팀김민수대리
영업2팀김민수사원
총무팀이서연과장

이름만으로는 '김민수'가 두 명이라 구분이 안 됩니다. 부서(F2)와 이름(G2)이 모두 일치하는 행의 직급을 찾으려면 두 조건을 곱한 배열을 찾을범위로 지정합니다.

=XLOOKUP(1, (A2:A4=F2)*(B2:B4=G2), C2:C4, "일치없음")

(A2:A4=F2)와 (B2:B4=G2)는 각각 참(1)/거짓(0)의 배열을 만들고, 이 둘을 곱하면 두 조건을 모두 만족하는 행만 1이 됩니다. 첫 번째 인수를 '1'로 두어 '값이 1인 위치'를 찾도록 하는 것이 이 패턴의 핵심입니다.

실무에서 XLOOKUP으로 바꾸면 좋은 순간 체크리스트

  • VLOOKUP 수식에서 열을 추가·삭제할 때마다 열번호를 수정하고 있다면 → XLOOKUP
  • IFERROR(VLOOKUP(...), "")처럼 오류 처리 함수를 매번 덧씌우고 있다면 → XLOOKUP의 세 번째 인수로 대체
  • 이름·부서·직급 등 여러 열을 각각 다른 셀에 반복해서 조회하고 있다면 → XLOOKUP 한 번으로 여러 열 동시 반환
  • 가장 최근 값(마지막에 입력된 행)을 찾아야 한다면 → 검색모드 -1
XLOOKUP 수식, 데이터 구조만 알려주면 AI가 바로 완성 →

함께 보면 좋은 글