=XMATCH(E2,A2:A6)은 A2:A6에서 E2의 위치를 반환합니다. 첫 번째 셀이면 1, 두 번째 셀이면 2입니다. MATCH와 달리 따로 지정하지 않으면 정확히 일치하는 값을 찾습니다. XMATCH는 Excel 2021이나 Microsoft 365가 필요하며, 이전 버전에서는 MATCH(E2,A2:A6,0)을 쓰세요.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Look for | Position | |
| 2 | Apple | Fruit | $1.20 | Carrot | 3 | |
| 3 | Pear | Fruit | $1.50 | |||
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
Carrot은 세 번째 항목이므로 F2에 3이 나옵니다. Kiwi를 입력하면 #N/A를 반환합니다. 엑셀의 다른 모든 조회처럼 대소문자를 무시합니다.
XMATCH 구문
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
| 인수 | 값 |
|---|---|
match_mode | 0 정확히 일치(기본값), -1 정확히 일치 또는 다음으로 작은 값, 1 정확히 일치 또는 다음으로 큰 값, 2 와일드카드 일치 |
search_mode | 1 첫 항목부터(기본값), -1 마지막 항목부터, 2 오름차순 이진 검색, -2 내림차순 이진 검색 |
이진 검색 모드는 매우 큰 정렬된 목록에서 더 빠르지만, 정렬되지 않은 목록에서는 잘못된 위치를 반환합니다. 다른 모드는 순서와 상관없이 동작합니다.
정렬 없이 다음으로 작은 값, 다음으로 큰 값
match_mode 1은 찾는 값보다 크거나 같은 값 중 가장 작은 값을 찾습니다. 크기가 순서 없이 나열되어 있어도 "들어가는 가장 작은 상자"에 답할 수 있습니다. MATCH라면 목록을 큰 값부터 작은 값 순으로 정렬해야 합니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Box | Holds (liters) | Item (liters) | 18 | |
| 2 | S | 5 | Position | 4 | |
| 3 | XL | 50 | Box | L | |
| 4 | M | 12 | |||
| 5 | L | 25 |
18리터가 들어가는 크기는 25와 50이고, 그중 작은 것은 네 번째 항목인 25, 상자 L입니다. E1을 12로 바꾸면 정확히 일치(M), 40으로 바꾸면 XL이 나옵니다. match_mode -1은 반대로 찾는 값보다 작거나 같은 값 중 가장 큰 값을 찾으며, 세율 구간과 수수료 구간의 규칙입니다. XLOOKUP에도 같은 두 모드가 있으며 값을 바로 반환합니다.
마지막 항목부터 검색하기
search_mode -1은 아래에서부터 시작하므로 XMATCH가 마지막 일치의 위치를 반환합니다. 위치는 여전히 범위의 맨 위부터 셉니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | 5 | |
| 3 | 2026-03-05 | Ana | 80 | Last date | 2026-03-20 | |
| 4 | 2026-03-09 | Ben | 45 | First position | 1 | |
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
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이면 언제나 와일드카드로 취급합니다.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Pattern | Position | |
| 2 | Green tea | *coffee | 2 | |
| 3 | Iced coffee | ?lack* | 4 | |
| 4 | Coffee beans | |||
| 5 | Black tea | |||
| 6 | Orange 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 비교
| MATCH | XMATCH | |
|---|---|---|
| 모드를 생략했을 때 기본값 | 유사 일치(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 페이지에서 다룹니다.
연습: 마지막 주문의 위치
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Date | Customer | Amount | Customer | Ben | |
| 2 | 2026-03-02 | Ben | 120 | Last position | ||
| 3 | 2026-03-05 | Ana | 80 | |||
| 4 | 2026-03-09 | Ben | 45 | |||
| 5 | 2026-03-12 | Cara | 200 | |||
| 6 | 2026-03-20 | Ben | 60 | |||
| 7 | 2026-03-24 | Ana | 95 |
직접 해 보세요: 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를 쓰세요.