엑셀 XLOOKUP 완전 정복

코드 품목명 수량 단가 A001 볼펜 A002 노트 =XLOOKUP(D2,A:A,C:C) 9월 엑셀 XLOOKUP 완전 정복 VLOOKUP 대신 이걸 써야 하는 이유 엑셀하는 직장인

처음 엑셀을 배울 때 VLOOKUP부터 외웠다. 실무에서도 수년간 잘 썼다. 그런데 어느 날 동료가 XLOOKUP 하나로 내가 중첩 수식으로 겨우 만든 걸 단 한 줄에 끝내는 걸 봤다. 그날 이후로 XLOOKUP으로 완전히 바꿨다.

왜 VLOOKUP보다 XLOOKUP이 나은지, 실무에서 바로 쓸 수 있는 예제와 함께 정리한다. VLOOKUP에 익숙한 사람이라면 이 글 하나로 전환하는 데 충분하다.


VLOOKUP의 불편한 진실 3가지

VLOOKUP을 오래 쓰다 보면 반드시 벽에 부딪히는 순간이 온다.

첫째, 찾을 값이 반드시 왼쪽에 있어야 한다. 예를 들어 C열에 상품코드, A열에 상품명이 있는 구조에서는 VLOOKUP으로 코드→이름 조회가 불가능하다. 열 순서를 바꾸거나 CHOOSE 함수로 억지로 우회해야 한다.

둘째, 열 번호를 직접 입력한다. 중간에 열이 하나 추가되면 번호가 밀려서 엉뚱한 값이 나온다. 이런 오류는 파일을 나눠서 쓸 때 특히 자주 생긴다.

셋째, 마지막 인수 실수. TRUE(근사값)와 FALSE(정확히 일치) 중 FALSE를 빠뜨리면 정렬 상태에 따라 엉뚱한 결과가 나온다. 경험이 쌓여도 이 실수는 반복된다.


XLOOKUP이 이 세 가지를 모두 해결한다

기본 구조: =XLOOKUP(찾을값, 검색범위, 반환범위, [못찾을때값], [일치모드], [검색모드])

열 번호 없음. 왼쪽 제약 없음. 못 찾을 때 처리 내장.
항목VLOOKUPXLOOKUP
검색 방향왼→오른쪽만양방향 가능
열 참조숫자로 지정범위로 직접 지정
오류 처리IFERROR 별도 필요4번째 인수로 내장
역방향 검색불가6번째 인수로 가능
열 추가 시 영향열 번호 깨짐자동 유지

실무 예제 3가지

① 기본 사용 — 직원 코드로 이름 찾기

=XLOOKUP(A2, 직원목록!B:B, 직원목록!A:A, “없음”)

B열에 있는 코드를 찾아 A열 이름을 반환한다. XLOOKUP은 검색 범위와 반환 범위를 완전히 분리해서 지정하기 때문에 열 순서에 구애받지 않는다.

② 오류 처리 내장 — 빈칸 대신 메시지

=XLOOKUP(D2, 상품표!A:A, 상품표!C:C, “미등록 상품”)

못 찾을 때 자동으로 “미등록 상품”을 표시한다. XLOOKUP은 4번째 인수 하나로 끝난다.

③ 역방향 검색 — 가장 최근 입고일 찾기

=XLOOKUP(G2, 입고내역!B:B, 입고내역!A:A, “없음”, 0, -1)

마지막 인수 -1은 아래에서 위로 검색한다는 뜻이다. 같은 상품코드가 여러 번 입고된 경우, 가장 최근 행을 잡아준다.


VLOOKUP → XLOOKUP 전환 예시

실제로 쓰던 VLOOKUP 수식을 XLOOKUP으로 바꾸면 이렇게 된다.

VLOOKUP (기존)XLOOKUP (변환 후)
=VLOOKUP(A2, B:D, 2, FALSE) =XLOOKUP(A2, B:B, C:C)
=IFERROR(VLOOKUP(A2,B:D,3,FALSE),”없음”) =XLOOKUP(A2, B:B, D:D, “없음”)

버전 호환성 — 이것만 확인하자

⚠️ XLOOKUP은 Microsoft 365와 Excel 2021 이상에서만 작동한다. Excel 2016·2019에서는 오류가 난다.

회사 PC의 엑셀 버전이 2019 이하라면 XLOOKUP을 쓸 수 없다. 이 경우 INDEX+MATCH 조합이 차선책이다. 반면 Microsoft 365 구독 환경이라면 지금 당장 바꿔도 된다.


자주 묻는 질문

Q. XLOOKUP이 없는 환경에서는 어떻게 하나요?
INDEX+MATCH 조합을 쓴다. =INDEX(반환범위, MATCH(찾을값, 검색범위, 0)) 구조로 XLOOKUP과 거의 동일한 기능을 구현할 수 있다.
Q. INDEX+MATCH랑 XLOOKUP 중 뭐가 더 낫나요?
Microsoft 365 환경이라면 XLOOKUP이 낫다. 수식이 짧고 오류 처리가 내장돼 있어서 유지보수가 편하다.
Q. 여러 열을 한 번에 반환할 수 있나요?
가능하다. =XLOOKUP(A2, B:B, C:E)처럼 쓰면 C, D, E 세 열의 값을 한꺼번에 가져온다. VLOOKUP은 이 기능이 없다.

📌 핵심정리

XLOOKUP은 열 번호 대신 반환 범위를 직접 지정해서 열 추가에 흔들리지 않는다.
왼쪽에 검색값이 없어도 되고, 데이터 구조에 자유롭다.
4번째 인수로 오류 처리를 한 번에 끝낸다.
역방향 검색(-1)으로 가장 최근 데이터를 바로 뽑는다.
여러 열을 한 번에 반환하는 배열 반환도 지원한다.
Microsoft 365 / Excel 2021 이상 환경에서 사용 가능.

다음 글에서는 XLOOKUP과 IF를 결합해서 다중 조건 조회를 만드는 법을 다룬다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다