Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Excel

Excel에서 MATCH 대신 XMATCH를 사용해야 하는 이유

권현욱(엑셀러) 2025. 9. 5. 17:00
반응형

들어가기 전에

Excel에서 데이터 값을 추출하는 방법은 여러 가지가 있으며, 그 중 대표적으로 MATCH와 XMATCH 함수가 있습니다. XMATCH 함수는 MATCH 함수의 업그레이드 버전으로 2021년 Microsoft Excel에 도입되었습니다. XMATCH를 사용하면서부터 MATCH 함수를 완전히 대체했으며, 그 이유를 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft MVP · 엑셀 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴


이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.

  • 원문: Don’t Use MATCH in Microsoft Excel: Use XMATCH Instead
  • URL: https://www.howtogeek.com/microsoft-excel-match-xmatch/

Excel의 MATCH 함수

Excel의 MATCH 함수는 범위 내 항목의 위치를 ​​알려줍니다. 구문은 다음과 같습니다.

=MATCH(a, b, c)

 

  • a (필수): 조회할 값
  • b (필수): 검색 배열을 포함하는 셀 범위
  • c (선택 사항): 일치 유형
    • 1 또는 생략: [배열이 오름차순일 때] 인수 b보다 작거나 같은 가장 큰 값
    • 0: 정확한 일치
    • -1: [배열이 오름차순일 때] 인수 b보다 크거나 같은 가장 작은 값

 

MATCH 함수는 배열(b)의 위에서 아래로 값(a)을 검색합니다. 아래에서 위로 검색하는 것은 불가능합니다. 이 예에서는 다음과 같은 수식을 작성합니다.

=MATCH(D1, A1:A4, 0)

 

D2 셀에 "Pears"라는 단어를 A1:A4 셀에서 찾아 해당 범위에서의 위치를 ​​반환합니다.

 

이미지: howtogeek

 

MATCH는 흔히 INDEX와 함께 사용되어 배열에서 값을 찾는데, MATCH는 행 번호를 확인하고 INDEX는 값을 반환합니다.

 

두 번째 예에서는 다음 수식을 입력합니다.

=INDEX($A$2:$A$24, MATCH($D2, $B$2:$B$24, 0))

 

E2 셀에 입력하면 셀 A2에서 A24(INDEX)까지의 날짜가 반환됩니다. 여기서 행 번호는 셀 D2의 값과 셀 B2에서 B24까지의 제품 ID 간의 첫 번째 정확한 일치(인수 c 에서 "0"으로 표시 )에 따라 결정됩니다(MATCH).

 

이미지: howtogeek

 

Excel의 XMATCH 함수

Excel의 XMATCH 함수도 범위 내 항목의 위치를 ​​알려주지만, 생략된 인수의 기본값은 다르고, 아래에서 위로 검색할 수 있으며, 와일드카드 문자를 포함할 수 있습니다. 구문은 다음과 같습니다.

=XMATCH(a, b, c, d)

 

  • a (필수): 조회할 값
  • b (필수): 셀 범위
  • c (선택 사항): 일치 모드
    • 0 또는 생략: 정확한 일치
    • -1 = 정확한 일치 또는 그 다음으로 가장 작은 항목
    • 1: 정확한 일치 또는 그 다음으로 가장 큰 항목
    • 2: 와일드카드 일치
  • d (선택 사항): 검색 모드
    • 1 또는 생략: 위에서 아래로
    • -1: 아래에서 위로
    • 2: 배열이 오름차순으로 정렬된 이진 검색
    • -2: 배열이 내림차순으로 정렬된 이진 검색

 

MATCH에서는 인수 c를 "일치 유형"이라고 부르고 XMATCH에서는 "일치 모드"라고 부르지 만 , 본질적으로 같은 목적을 위해 사용되며, 기본값과 인수가 약간 다릅니다. 이 예에서는 다음 수식을 입력합니다.

=INDEX($A$2:$A$24, XMATCH($D2, $B$2:$B$24))

 

E2 셀에 입력하면 위 예와 동일한 결과가 반환됩니다. 여기서는 INDEX와 MATCH를 사용했지만, 기본값이 정확히 일치이므로 일치 모드를 지정할 필요가 없었습니다. 따라서 간단한 상위-하위 조회의 경우 XMATCH는 MATCH보다 적은 인수를 입력해야 합니다.

 

이미지: howtogeek

 

XMATCH가 이전 버전보다 정말 뛰어난 점은 아래에서 위로 검색하여 배열의 마지막 일치 항목 을 찾을 때입니다. 이것이 XMATCH가 MATCH보다 선택 가능한 인수를 하나 더 많이 갖는 이유입니다.

이번에는 다음과 같은 수식을 입력합니다.

=INDEX($A$2:$A$24, XMATCH($D2, $B$2:$B$24, , -1))

 

F2 셀에 입력하면 A2 셀부터 A24 셀까지의 최신 날짜가 반환됩니다. 인수 d에 "-1"이 포함되어 있기 때문입니다. 즉, 행 번호는 D2 셀의 값과 B2 셀부터 B24 셀의 제품 ID 간의 마지막 정확한 일치 항목에 따라 결정됩니다. 일치 모드 인수(c)는 기본값이 정확한 일치이므로 생략되었으며, 우리가 반환하려는 것은 바로 정확한 일치입니다.

 

이미지: howtogeek

 

MATCH 대신 XMATCH를 사용하는 또 다른 이점은, 전자의 경우 Excel에서 검색에 와일드카드를 사용한다는 것을 알릴 수 있다는 것입니다. 여기에서는 INDEX와 XMATCH를 사용하여 정원 부서의 제품이 판매된 첫 번째 날짜와 마지막 날짜를 찾습니다.

 

이미지: howtogeek

 

D2 셀에서 별표(*) 와일드카드 문자를 사용하여 "GD"로 시작하고 그 뒤에 아무리 많은 문자가 포함되어도 해당 제품 코드를 검색하는 방법에 주목하세요. 그런 다음 E2 셀에는 다음 수식을 입력했습니다.

=INDEX($A$2:$A$24, XMATCH($D2, $B$2:$B$24, 2))

 

여기서 일치 모드 인수(c)의 "2"는 조회 값(a)에 와일드카드를 사용했고, 첫 번째 일치 항목을 찾기 위해 위에서 아래로 검색하려고 했기 때문에 검색 모드 인수(d)가 생략되었다는 것을 Excel에 알려줍니다.

매치 모드 인수(c) 에서 와일드카드가 사용되고 있음을 표시하지 않으면 XMATCH는 이러한 문자를 와일드카드로 처리하는 대신 * 및 ?를 그 자체로 포함하는 값을 찾는 것으로 가정합니다. F2 셀는에 다음 수식을 입력했습니다.

=INDEX($A$2:$A$24, XMATCH($D2, $B$2:$B$24, 2, -1))

 

여기서, 매치 모드 인수(c) 에 와일드카드 표시기를 추가하는 것과 더불어, 검색 모드(d) 에 "-1"을 입력하여 Excel이 아래에서 위로 검색하도록 지시했습니다.

 

MATCH 함수를 사용하여 동일한 결과를 얻으려면 일치 유형을 정확히 일치("0")로 지정해야 합니다. 하지만 이것이 XMATCH 함수의 기본 일치 모드이고, 와일드카드 조회를 위한 전용 검색 모드가 있기 때문에 훨씬 더 직관적이고 깔끔한 프로세스입니다.

 

마치며

표에서 값을 찾는 또 다른 방법은 VLOOKUP이나 HLOOKUP 함수의 업그레이드 버전인 XLOOKUP을 사용하는 것입니다 . XMATCH와 마찬가지로 XLOOKUP은 기본적으로 정확히 일치하는 값을 검색하며, 위에서 아래로, 아래에서 위로 검색할 수 있습니다. 또한 XLOOKUP은 "찾을 수 없는 경우" 인수를 포함할 수 있어, 배열에서 해당 값을 찾을 수 없는 경우 결과가 "해당 없음"으로 표시되지 않도록 합니다.