Menu

엑셀 XMATCH 함수: 위치 검색, 마지막 일치, 다음으로 큰 값

=XMATCH(E2,A2:A6)은 A2:A6에서 E2의 위치를 반환하며, 기본값이 정확히 일치입니다. 정렬 없이 다음으로 작거나 큰 값을 찾고, 아래에서부터 검색하고, 와일드카드를 쓸 수도 있습니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=XMATCH(E2,A2:A6)은 A2:A6에서 E2의 위치를 반환합니다. 첫 번째 셀이면 1, 두 번째 셀이면 2입니다. MATCH와 달리 따로 지정하지 않으면 정확히 일치하는 값을 찾습니다. XMATCH는 Excel 2021이나 Microsoft 365가 필요하며, 이전 버전에서는 MATCH(E2,A2:A6,0)을 쓰세요.

상품의 위치
F2
ABCDEF
1ProductCategoryPriceLook forPosition
2AppleFruit$1.20Carrot3
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Carrot은 세 번째 항목이므로 F2에 3이 나옵니다. Kiwi를 입력하면 #N/A를 반환합니다. 엑셀의 다른 모든 조회처럼 대소문자를 무시합니다.

XMATCH 구문

=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
인수값
match_mode0 정확히 일치(기본값), -1 정확히 일치 또는 다음으로 작은 값, 1 정확히 일치 또는 다음으로 큰 값, 2 와일드카드 일치
search_mode1 첫 항목부터(기본값), -1 마지막 항목부터, 2 오름차순 이진 검색, -2 내림차순 이진 검색

이진 검색 모드는 매우 큰 정렬된 목록에서 더 빠르지만, 정렬되지 않은 목록에서는 잘못된 위치를 반환합니다. 다른 모드는 순서와 상관없이 동작합니다.

정렬 없이 다음으로 작은 값, 다음으로 큰 값

match_mode 1은 찾는 값보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 크기가 순서 없이 나열되어 있어도 "들어가는 가장 작은 상자"에 답할 수 있습니다. MATCH라면 목록을 큰 값부터 작은 값 순으로 정렬해야 합니다.

물건이 들어가는 가장 작은 상자
E2
ABCDE
1BoxHolds (liters)Item (liters)18
2S5Position4
3XL50BoxL
4M12
5L25
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

18리터가 들어가는 크기는 25와 50이고, 그중 작은 것은 네 번째 항목인 25, 상자 L입니다. E1을 12로 바꾸면 정확히 일치(M), 40으로 바꾸면 XL이 나옵니다. match_mode -1은 반대로 찾는 값보다 작거나 같은 값 중 가장 큰 값을 찾으며, 세율 구간과 수수료 구간의 규칙입니다. XLOOKUP에도 같은 두 모드가 있으며 값을 바로 반환합니다.

마지막 항목부터 검색하기

search_mode -1은 아래에서부터 시작하므로 XMATCH가 마지막 일치의 위치를 반환합니다. 위치는 여전히 범위의 맨 위부터 셉니다.

고객의 마지막 주문
F2
ABCDEF
1DateCustomerAmountCustomerBen
22026-03-02Ben120Last position5
32026-03-05Ana80Last date2026-03-20
42026-03-09Ben45First position1
52026-03-12Cara200
62026-03-20Ben60
72026-03-24Ana95
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Ben은 위치 1, 3, 5에 나옵니다. 앞에서부터 검색하면 1을, 뒤에서부터 검색하면 2026-03-20의 주문인 5를 반환합니다. XMATCH 이전에는 마지막 위치를 구하려면 배열 기법이 필요했습니다: =MATCH(2,1/(B2:B7=F1)).

와일드카드에는 match_mode 2가 필요합니다

match_mode 2에서 *는 아무 문자열, ?는 정확히 한 글자를 뜻합니다. 다른 모드에서는 일반 문자이지만, MATCH는 match_type이 0이면 언제나 와일드카드로 취급합니다.

패턴으로 찾기
D2
ABCD
1ProductPatternPosition
2Green tea*coffee2
3Iced coffee?lack*4
4Coffee beans
5Black tea
6Orange juice
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

*coffee("coffee"로 끝나는 모든 것)는 위치 2의 Iced coffee와 일치하고, ?lack*는 위치 4의 Black tea와 일치합니다. 패턴 끝에 *가 없으므로 Coffee beans는 *coffee와 일치하지 않습니다. match_mode 2가 없으면 같은 패턴을 문자 그대로 검색하므로, 엑셀에서 다음은 #N/A를 반환합니다:

=XMATCH("*coffee", A2:A6)        #N/A: no cell is literally "*coffee"
=XMATCH("*coffee", A2:A6, 2)     2

XMATCH와 MATCH 비교

MATCHXMATCH
모드를 생략했을 때 기본값유사 일치(1), 데이터 정렬 필요정확히 일치
다음으로 작은 값1, 오름차순 정렬 필요-1, 순서 상관없음
다음으로 큰 값-1, 내림차순 정렬 필요1, 순서 상관없음
와일드카드0이면 항상 사용match_mode 2에서만
마지막 일치없음search_mode -1
버전모든 버전Excel 2021과 Microsoft 365

부호가 반대입니다. MATCH의 -1은 다음으로 큰 값을, XMATCH의 -1은 다음으로 작은 값을 찾습니다. MATCH(E2,A2:A6,0)을 XMATCH로 바꿀 때는 0을 빼고, 유사 일치 MATCH를 바꿀 때는 부호를 뒤집으면 정렬 순서는 더 이상 상관없습니다. 이전 함수는 MATCH 페이지에서 다룹니다.

연습: 마지막 주문의 위치

주문
F2
ABCDEF
1DateCustomerAmountCustomerBen
22026-03-02Ben120Last position
32026-03-05Ana80
42026-03-09Ben45
52026-03-12Cara200
62026-03-20Ben60
72026-03-24Ana95
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: F2에서 F1 고객의 마지막 주문 위치를 반환하세요.

자주 묻는 질문

MATCH와 XMATCH는 무엇이 다른가요?

XMATCH는 기본값이 정확히 일치이고(MATCH는 유사 일치), 정렬된 데이터 없이도 다음으로 작거나 큰 값을 찾으며, 마지막 항목부터 위로 검색할 수 있고, match_mode 2로 요청할 때만 *와 ?를 와일드카드로 취급합니다. Excel 2021이나 Microsoft 365가 필요합니다.

XMATCH로 마지막으로 나온 위치를 찾으려면 어떻게 하나요?

네 번째 인수 search_mode를 -1로 설정합니다. =XMATCH("Ben",B2:B7,0,-1)은 B2:B7에서 마지막 Ben의 위치를 반환합니다. 위치는 여전히 범위의 맨 위부터 셉니다.

일치하는 값이 없으면 XMATCH는 무엇을 반환하나요?

MATCH처럼 #N/A를 반환합니다. 다른 것을 보여 주려면 IFNA로 감싸세요: =IFNA(XMATCH(E2,A2:A6),"Not in list").

INDEX 안의 MATCH를 XMATCH로 바꿀 수 있나요?

있습니다. =INDEX(C2:C6,XMATCH(E2,A2:A6))은 MATCH(E2,A2:A6,0)을 쓴 INDEX처럼 동작하며, 빠뜨릴 0도 없습니다. 파일을 Excel 2019 이하에서 열어야 한다면 MATCH를 쓰세요.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기