오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무자 기초 강의

XLOOKUP 함수 실전예제 및 응용방법

오빠두엑셀 by 오빠두엑셀
  • 학습시간 12분
  • 난이도 초급
  • 작성일 2020.02.19

오피스 365 신규 함수인 XLOOKUP의 실전예제 및 고급 응용방법

이 강의에서는 오피스 365에 새롭게 추가된 XLOOKUP 함수의 실전 활용법을 다룹니다. VLOOKUP의 한계였던 왼쪽 방향 검색과 #N/A 오류 처리부터, 양방향·와일드카드 검색과 동적 배열을 활용한 다중 필드 동시 출력까지 7가지 예제로 단계별로 정리합니다.

XLOOKUP 함수 실전예제 및 응용방법
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

강의 요약

2020년 2월 10일, 오피스 365 월 단위 채널(공식 채널)에 XLOOKUP 함수가 업데이트되었습니다. XLOOKUP은 이번에 함께 추가된 동적 배열 함수 가운데 가장 중요한 함수로, 이제 실무자라면 반드시 익혀 두어야 할 필수 함수가 되었습니다.

이번 강의에서는 XLOOKUP 함수의 실전 예제와 함께, 동적 배열 함수의 특성을 활용한 두 가지 응용 방법을 단계별로 살펴보겠습니다.

XLOOKUP 함수는 2020년 2월 기준 오피스 365 구독자에게만 공개된 함수입니다. 따라서 엑셀 2019 버전을 포함한 기존 설치형 엑셀 사용자는 사용할 수 없습니다.

영상 강의
관련 기초 함수

왼쪽 방향 검색

XLOOKUP 함수는 조회 범위의 왼쪽 방향으로 값을 검색할 수 있습니다. 따라서 아래 그림과 같이 출력 범위인 [상여금%]이 조회 범위인 [부서명]보다 왼쪽에 있더라도, 특정 부서의 [상여금%]를 간단하게 조회할 수 있습니다.

xlookup 출력범위 왼쪽방향 위치

예제파일 '상여금 및 소득세계산' 시트의 E5셀에 아래 수식을 붙여넣은 뒤 자동 채우기를 실행합니다.

=XLOOKUP(해당부서, $부서명범위, $상여금범위)
=XLOOKUP(B5,$N$5:$N$9,$M$5:$M$9)

XLOOKUP 함수 왼쪽방향 조회 상여금 계산

#N/A 오류 처리하기

수식을 입력하면 해당 부서가 오른쪽 표에 존재하지 않을 때 함수의 결과값으로 #N/A 오류가 출력됩니다. 기존 VLOOKUP 함수에서는 이러한 #N/A 오류를 숨기기 위해 IFERROR 함수 또는 IFNA 함수를 별도로 사용해야 했습니다.

반면 XLOOKUP 함수는 3번째 인수 [N/A값]을 입력하여 #N/A 오류를 다른 값으로 손쉽게 대체할 수 있습니다. 이번 예제에서는 누락된 부서의 상여금 비율이 '0%'가 되도록 수식을 작성하겠습니다.

=XLOOKUP(B5,$N$5:$N$9,$M$5:$M$9, 0)

XLOOKUP함수 상여금 계산
이제 각 직원별 상여금과 급여 합계를 계산하여 마무리합니다.

상여금 = 기본급 * 상여금비율
급여합계 = 기본급 + 상여금

상여금 및 급여합계 수식

예제파일 '상여금 및 소득세계산' 시트의 G:J 열을 선택한 후 [숨기기 취소]를 실행합니다. '세율'과 '누진공제' 열이 다시 나타납니다.

세율 및 누진공제 열 숨기기 취소

오른쪽의 2020년 소득세율표에서, 과세표준(최소) 범위를 기준으로 각 직원의 소득세율과 누진공제액을 계산합니다.

과세표준 최소 범위 기준 조회

XLOOKUP 함수의 검색 옵션 기본값은 '정확히 일치'이며, 검색 옵션을 통해 '같거나 작은 값', '같거나 큰 값', '와일드카드 문자 부분일치' 등 다양한 방식으로 검색할 수 있습니다.

XLOOKUP 함수 일치옵션 정확히 일치하거나 작은 항목

이번 예제에서는 '과세표준(최소)' 범위에서 해당 직원의 급여보다 '작거나 같은' 조건으로 검색합니다.

세율을 구하는 XLOOKUP 함수 공식

=XLOOKUP (급여, $과세표준(최소)범위, $세율범위,,-1)
=XLOOKUP (G5,$P$5:$P$11,$R$5:$R$11,,-1)

누진공제액을 구하는 XLOOKUP 함수 공식

=XLOOKUP (급여, $과세표준(최소)범위, $누진공제범위,,-1)
=XLOOKUP (G5,$P$5:$P$11,$S$5:$S$11,,-1)

XLOOKUP 함수 세율 및 누진공제 계산 완료

아래 수식으로 직원별 소득세 계산을 마무리합니다.

소득세 = (급여합계 * 세율) - 누진공제액

직원별 소득세 계산 공식

기존 VLOOKUP 함수는 조회 범위의 위에서부터 값을 검색했습니다. 따라서 조회 범위의 아래에서부터 역방향으로 값을 찾으려면 LOOKUP 함수를 응용한 별도의 공식을 사용해야 했습니다.


반면 XLOOKUP 함수는 조회 범위에서 정방향과 역방향 모두 양방향 검색이 가능합니다. 기본값은 정방향(위에서 아래) 검색이며, 마지막 인수인 search_mode를 '-1'로 입력하면 역방향 검색이 가능합니다.

XLOOKUP 함수 검색방향

이러한 특성을 활용하면 특정 고객의 마지막 방문일을 매우 간단하게 검색할 수 있습니다. 예제파일 '양방향&와일드카드' 시트로 이동한 뒤, H5셀에 아래 수식을 입력합니다.

=XLOOKUP (고객ID, $고객ID범위, $날짜범위, , , -1)
=XLOOKUP (G5, $C:$C, $B:$B, , , -1)

ID셀에 고객 ID를 입력하면 해당 고객의 마지막 방문일이 즉시 조회됩니다.

엑셀 XLOOKUP 양방향 검색 GIF

XLOOKUP 함수는 와일드카드를 사용한 부분일치 검색도 지원합니다. 5번째 인수인 match_mode에 '2'를 입력하면 '와일드카드 문자 일치' 검색이 가능합니다.

XLOOKUP함수 일치 옵션 와일드카드 부분일치

이 기능을 활용하면 고객이 자신의 ID를 잊어버린 경우, 고객 ID 일부만으로 해당 고객의 전체 ID를 찾는 수식을 작성할 수 있습니다. '양방향&와일드카드' 시트의 H9셀에 아래 수식을 입력합니다.

=XLOOKUP ("*" & 고객ID & "*", $고객ID범위, $고객ID범위, , 2)
=XLOOKUP("*"&G9&"*", $C:$C, $C:$C , , 2)

고객 ID의 일부만 입력하면 해당 문자가 포함된 전체 고객 ID가 반환됩니다.

엑셀 XLOOKUP 와일드카드 검색 GIF

기존 VLOOKUP 함수는 '하나의 열'만 결과값으로 출력할 수 있었습니다. 따라서 여러 개의 필드를 동시에 출력하려면 각 필드마다 함수를 따로 입력해야 했습니다.

VLOOKUP 함수 모든 필드마다 함수 입력

반면 XLOOKUP 함수는 '동적 배열 함수'이므로, 출력 범위를 넓게 지정하면 해당 범위의 모든 결과값을 한 번에 반환할 수 있습니다.

XLOOKUP함수 출력범위 모든 값 한번에 반환

예제파일 '범위반환 및 결과값합치기' 시트의 I5셀에 아래 수식을 입력합니다.

=XLOOKUP (직원ID, $직원ID범위, $직원정보전체범위 )
=XLOOKUP (H5, $B$5:$B$22, $C$5:$F$22)

다만 주의할 점이 있습니다. 값이 출력될 범위(엑셀에서는 '분산 범위'라고 합니다)가 비어 있지 않을 경우, XLOOKUP 함수는 #SPILL! 오류를 반환합니다.

XLOOKUP 함수 SPILL 오류

XLOOKUP 함수는 결과값으로 '범위(배열)'을 반환합니다. 따라서 다른 여러 함수와 접목하면 매우 다양한 방식으로 응용할 수 있습니다.

예를 들어 TEXTJOIN 함수를 응용하면, XLOOKUP 함수로 반환된 모든 출력값을 하나의 문자열로 합칠 수 있습니다.

엑셀 XLOOKUP함수 결과값 합치기

예제파일 '범위반환 및 결과값합치기' 시트의 I10셀에 아래 수식을 입력합니다.

=TEXTJOIN(" / ",TRUE,XLOOKUP(H10,$B$5:$B$22,$C$5:$F$22))

XLOOKUP 함수 TEXTJOIN 함수 응용 GIF

뿐만 아니라 XLOOKUP 함수는 MAX 함수와도 함께 응용할 수 있습니다. 아래 그림처럼 각 직원의 분기별 판매실적이 정리된 표에서, 특정 직원의 분기별 최다 판매실적을 구해 보겠습니다.

XLOOKUP 함수 특정 조건 최대값 구하기

예제파일 '특정조건의 최대값 찾기' 시트의 I5셀에 아래 수식을 입력합니다.

=MAX(XLOOKUP(H5,$B$5:$B$22,$C$5:$F$22))

XLOOKUP 함수 MAX 함수 응용 최대값 구하기 GIF

링크 : MS 홈페이지 XLOOKUP 상세설명

댓글 42
4.9 (27개 평가)
Netpiapro
Netpiapro 2020.03.26 17:41
E-Book은 언제쯤 올라 올까요??? 동강보단 문서 보면서 공부하는게 더 편한 1인 입니다.
오빠두엑셀
오빠두엑셀 작성자 2020.03.26 20:12
안녕하세요~^-^
홈페이지 특성상 종종 업데이트가 일어나는데, E-Book은 관리상의 어려움이 있어 현재는 포스트를 더욱 깔끔하게 작성하는데 집중하고 있습니다.
페이지를 우클릭 하신뒤, '인쇄' - 'PDF 출력'을 선택해서 PDF형식으로 웹페이지를 다운받아 보시겠어요?
감사합니다.
소금인형
소금인형 2020.03.28 16:34
조건함수의 진화...
크리슈
크리슈 2020.03.29 20:53
엑스룩업 덕분에 정말 세상이 편해졌습니다..ㅎ 감사해요!
노은
노은 2020.04.03 23:43
감사합니다. 실무 마지막까지 보았네요
날으는공
날으는공 2020.04.17 10:00
엑스룩업 함수의 대단합니다. 그런데 엑스룩업 실행하면 도움말이 안나와요.
엑린이
엑린이 2020.04.22 00:13
얼른 배워서 야근을 줄이고 싶네요 ㅎ
정
2021.01.07 10:17
X-LOOKUP 완전 편리! 유용한 강의 감사합니다.
배기우
배기우 2021.02.11 19:32
복 받으실거예요~
김치찌개
김치찌개 2021.10.21 09:57
안녕하세요? Index & Match 조합을 Xlookup으로 대체하고 싶은 1인입니다. 그런데 Xlookup에서 특정 한 열을 검색해서 그 열의 모든 영역을 참조영역으로 지정할 수 있는 방법은 없을까요?
Row는 지정이 가능한데 여러 컬럼 중 특정 컬럼에 해당하는 영역을 배열로 반환하고 싶습니다.
설명이 충분한지 모르겠네요 ^^;
오빠두엑셀
오빠두엑셀 작성자 2021.10.25 01:33
김치찌개님 안녕하세요.
XLOOKUP은 기본으로 배열을 결과로 반환합니다.
출력범위로 넓게 (예: B:E)를 넣어주면, 찾을값과 일치하는 곳의 배열이 동적배열(파란색 범위)로 반환됩니다.
강의 마지막에 소개해드린 방법을 한번 확인해보시겠어요? =) 다른 함수와 같이 응용할 수도 있습니다 ^^
감사합니다.
하유네비
하유네비 2021.12.18 14:53
감사합니다
호찬
호찬 2022.08.31 15:58
안녕하세요 csv 파일에서는 xlookup 함수가 적용이안되는데 혹시 다른 문제가 있는건가요? #N/A 값으로 치환됩니다.
오빠두엑셀
오빠두엑셀 작성자 2022.08.31 19:10
안녕하세요. ^^
엑셀 함수를 사용하려면 csv 파일을
다른 이름으로 저장으로 xlsx 형태로 변환 후 다시 실행해보시겠어요?
csv 형태로 파일을 저장하면, 사용했던 함수, 피벗테이블이 사라지거나 #N/A 오류가 발생합니다. :)
감사합니다.
호찬
호찬 2022.09.06 18:39
바쁘신와중에 답변 감사드립니다.
해당 오류는 해결했으나, 일자별로 추가 되는 데이터에 대해 기존 로우 데이터에 신규 데이터 추가 후 피벗테이블 새로고침을 눌렀는데
같은 행레이블 테이블이 새로운 테이블로 인식해 데이터가 쌓이고 있습니다.
어떻게 해결해야 할까요?
ex)
엘라비아(행레이블 기존 로우 데이터)
엘라비아(신규추가 로우데이터)