수식 예제가 포함된 Excel XMATCH 함수

  • 이 공유
Michael Brown
검색하지만 정렬된 목록에서만 올바르게 작동합니다. 정렬되지 않은 데이터에서는 언뜻 보기에 꽤 정상으로 보일 수 있는 잘못된 결과를 반환할 수 있습니다.

MATCH 구문은 검색 모드 인수를 전혀 제공하지 않습니다.

XMATCH는 기본적으로 배열을 처리합니다.

이전 기능과 달리 XMATCH 기능은 동적 Excel용으로 설계되었으며 Ctrl + Shift + Enter를 누르지 않고도 기본적으로 배열을 처리합니다. 이렇게 하면 특히 몇 가지 다른 기능을 함께 사용할 때 수식을 훨씬 쉽게 만들고 편집할 수 있습니다. 다음 솔루션을 비교하십시오.

  • 대소문자 구분 수식: XMATCH

    튜토리얼에서는 새로운 Excel XMATCH 기능을 소개하고 몇 가지 일반적인 작업을 해결하는 데 MATCH보다 더 나은 방법을 보여줍니다.

    Excel 365에서 XMATCH 기능이 추가되어 매치 기능. 그러나 기존 수식을 업그레이드하기 전에 새 함수의 모든 장점과 이전 함수와 어떻게 다른지 이해하는 것이 좋습니다.

    요약하면 XMATCH 함수는 MATCH와 동일하지만 더 유연하고 건장한. 수직 및 수평 배열 모두에서 조회하고 처음부터 끝까지 또는 마지막부터 처음까지 검색하고 정확하고 대략적이며 부분적으로 일치하는 항목을 찾고 더 빠른 이진 검색 알고리즘을 사용할 수 있습니다.

    Excel XMATCH 함수

    Excel의 XMATCH 함수는 배열 또는 셀 범위에서 값의 상대 위치를 반환합니다.

    다음과 같은 구문이 있습니다.

    XMATCH(lookup_value , lookup_array, [match_mode], [search_mode])

    여기서:

    Lookup_value (필수) - 찾을 값입니다.

    Lookup_array (필수) - 검색할 셀의 배열 또는 범위입니다.

    Match_mode (선택 사항) - 사용할 검색 유형을 지정합니다.

    • 0 또는 생략됨(기본값) - 정확히 일치
    • -1 - 정확히 일치 또는 다음으로 작은 값
    • 1 - 정확히 일치 또는 다음으로 큰 값
    • 2 - 와일드카드 일치( *, ?)

    Search_mode (옵션) - 검색 방향 및 알고리즘 지정:

    • 1 또는 생략(기본값) -일치하거나 다음으로 큰 것입니다. 정렬이 필요하지 않습니다.

    match_mode / match_type 인수가 -1로 설정된 경우:

    • MATCH 검색 정확히 일치하거나 다음으로 큰 경우. 조회 배열을 내림차순으로 정렬해야 합니다.
    • XMATCH는 정확히 일치하거나 다음으로 작은 항목을 검색합니다. 정렬이 필요하지 않습니다.

    와일드카드 검색

    XMATCH로 부분 일치 항목을 찾으려면 match_mode 인수를 2로 설정해야 합니다.

    MATCH 함수에는 특별한 와일드카드 일치 모드 옵션이 없습니다. 대부분의 경우 와일드카드 검색에도 작동하는 정확한 일치( match_type 0으로 설정)로 구성합니다.

    검색 모드

    새 XLOOKUP과 유사 함수, XMATCH에는 검색 방향 을 정의할 수 있는 특수한 search_mode 인수가 있습니다:

    • 1 또는 생략(기본값) - 먼저 검색 -last.
    • -1 - last-to-first.

    이진 검색 알고리즘 을 선택합니다. 이 알고리즘은 <에서 매우 빠르고 효율적입니다. 8>정렬된 데이터 .

    • 2 - 오름차순으로 정렬된 데이터에 대한 이진 검색.
    • -2 - 내림차순으로 정렬된 데이터에 대한 이진 검색.

    이진 검색 ( 반간격 검색 또는 로그 검색 이라고도 함)은 검색 값을 비교하여 배열 내에서 조회 값의 위치를 ​​찾는 특수 알고리즘입니다. 배열의 중간 요소에. 이진 검색은 일반 검색보다 훨씬 빠릅니다.처음부터 끝까지 검색합니다.

  • -1 - 마지막에서 처음까지 역순으로 검색합니다.
  • 2 - 오름차순 이진 검색입니다. 오름차순으로 정렬하려면 lookup_array 가 필요합니다.
  • -2 - 내림차순 이진 검색. 내림차순으로 정렬하려면 lookup_array 가 필요합니다.

이진 검색은 정렬된 배열에서 효율적으로 작동하는 더 빠른 알고리즘입니다. 자세한 내용은 검색 모드를 참조하세요.

어떤 Excel 버전에 XMATCH가 있나요?

XMATCH 기능은 Excel for Microsoft 365 및 Excel 2021에서만 사용할 수 있습니다. Excel 2019, Excel 2016 및 이전 버전에서는 버전에서는 이 함수가 지원되지 않습니다.

Excel의 기본 XMATCH 수식

함수가 무엇을 할 수 있는지에 대한 일반적인 아이디어를 얻으려면 XMATCH 수식을 가장 간단한 형태로 만들어 보겠습니다. 처음 두 개의 필수 인수를 지정하고 선택적 인수는 기본값으로 둡니다.

해당 크기(C2:C6)로 순위가 매겨진 바다 목록이 있고 특정 바다의 순위를 찾고자 한다고 가정합니다. 이를 수행하려면 Indian 과 같은 바다 이름을 조회 값으로 사용하고 전체 이름 목록을 조회 배열로 사용하십시오.

=XMATCH("Indian", C2:C6)

To make 공식이 더 유연해졌습니다. 관심 있는 바다를 F1:

=XMATCH(F1, C2:C6)

과 같이 일부 셀에 입력하면 결과적으로 수직 배열<에서 조회할 XMATCH 공식을 얻게 됩니다. 9>. 출력은 배열에서 조회 값의 상대적 위치이며, 우리의 경우바다의 순위에 해당합니다.

유사한 공식이 수평 배열 에도 완벽하게 작동합니다. lookup_array 참조를 조정하기만 하면 됩니다.

=XMATCH(B5, B1:F1)

Excel XMATCH 함수 - 기억해야 할 사항

워크시트에서 XMATCH를 효과적으로 사용하고 예기치 않은 결과를 방지하려면 다음 3가지 간단한 사실을 기억하십시오.

  • 조회 배열에서 조회 값이 두 번 이상 발생하는 경우 search_mode 인수가 1로 설정되거나 생략된 경우 첫 번째 일치 가 반환됩니다. search_mode 를 -1로 설정하면 함수는 역순으로 검색하고 이 예에서 설명한 것처럼 마지막 일치 의 위치를 ​​반환합니다.
  • 조회 값이 찾을 수 없음 인 경우 #N/A 오류가 발생합니다.
  • XMATCH 기능은 특성상 대소문자를 구분하지 않고 대소문자를 구별할 수 없습니다. 소문자와 대문자를 구별하려면 이 대소문자 구분 XMATCH 수식을 사용하십시오.

Excel에서 XMATCH를 사용하는 방법 - 수식 예

다음 예는 XMATCH 함수 및 실제 사용.

정확한 일치 대 대략적인 일치

XMATCH의 일치 동작은 선택적 match_mode 인수에 의해 제어됩니다.

  • 0 또는 생략(기본값) - 수식은 정확히 일치하는 항목만 검색합니다. 정확히 일치하는 항목이 없으면#N/A 오류가 반환됩니다.
  • -1 - 수식은 정확한 일치를 먼저 검색한 다음 그 다음으로 작은 항목을 검색합니다.
  • 1 - 수식은 정확한 일치를 먼저 검색한 다음 그런 다음 다음으로 큰 항목을 찾습니다.

이제 다양한 일치 모드가 수식 결과에 어떤 영향을 미치는지 살펴보겠습니다. 예를 들어 80,000,000km2의 특정 영역이 모든 바다 가운데 어디에 있는지 알아내고 싶다고 가정해 보겠습니다.

정확 일치

match_mode 에 0을 사용하면 ' 수식이 조회 값과 정확히 같은 값을 찾을 수 없기 때문에 #N/A 오류가 발생합니다.

=XMATCH(80000000, C2:C6, 0)

다음으로 가장 작은 항목

-1을 사용하는 경우 match_mode 의 경우 조회 값보다 작은 가장 가까운 일치 항목이 70,560,000이고 조회 배열의 세 번째 항목이므로 수식이 3을 반환합니다.

=XMATCH(80000000, C2:C6, -1)

다음으로 큰 항목

match_mode 에 1을 사용하면 조회 값보다 큰 가장 가까운 일치 항목이 조회 배열의 두 번째 항목인 85,133,000이므로 수식이 2를 출력합니다. :

=XMATCH(80000000, C2:C6, -1)

아래 이미지는 모든 결과를 보여줍니다.

와일드카드를 사용하여 Excel에서 부분 텍스트를 일치시키는 방법

XMATCH 함수에는 와일드카드에 대한 특수 일치 모드가 있습니다. match_mode 인수는 2로 설정됩니다.

와일드카드 일치 모드에서 XMATCH 수식은 다음 와일드카드를 허용합니다. 문자:

  • 단일 문자와 일치하는 물음표(?).
  • 모든 문자와 일치하는 별표(*)일련의 문자입니다.

와일드 카드는 숫자가 아닌 텍스트에만 사용할 수 있다는 점에 유의하세요.

예를 들어 "south"로 시작하는 첫 번째 항목의 위치를 ​​찾으려면 , 수식은 다음과 같습니다.

=XMATCH("south*", B2:B6, 2)

또는 일부 셀(예: F1)에 와일드카드 식을 입력하고 lookup_value 인수에 대한 셀 참조를 제공할 수 있습니다.

=XMATCH(F1, B2:B6, 2)

대부분의 Excel 함수에서 물결표(~)를 사용하여 별표(~*) 또는 물음표(~?)를 리터럴로 처리합니다. 와일드카드가 아닌 문자. XMATCH를 사용하면 물결표가 필요하지 않습니다. 와일드카드 일치 모드를 정의하지 않으면 XMATCH는 ? 및 *는 일반 문자입니다.

예를 들어 아래 수식은 A2:A7 범위에서 정확히 별표 문자를 검색합니다.

=XMATCH("*", A2:A7)

마지막 일치 항목을 찾기 위한 XMATCH 역방향 검색

조회 배열에 조회 값이 여러 번 발생하는 경우 마지막 발생 의 위치를 ​​가져와야 하는 경우가 있습니다. .

검색 방향은 search_mode 라는 XMATCH의 네 번째 인수로 제어됩니다. 역순으로 검색하려면, 즉 세로 배열에서는 아래에서 위로, 가로 배열에서는 오른쪽에서 왼쪽으로 search_mode 를 -1로 설정해야 합니다.

이 예에서는 특정 조회 값에 대한 마지막 레코드의 위치를 ​​반환합니다(아래 스크린샷 참조). 이를 위해 인수를 다음과 같이 설정합니다.

  • Lookup_value - H1
  • Lookup_array 의 대상 영업 사원 - C2:C10
  • 의 영업 사원 이름 Match_mode 는 0이거나 생략됩니다(정확한 일치)
  • Search_mode 는 -1(마지막에서 처음으로)

4개 넣기 인수를 함께 사용하면 다음 공식을 얻을 수 있습니다.

=XMATCH(H1, C2:C10, 0, -1)

Laura가 마지막으로 판매한 횟수를 반환합니다.

방법 일치에 대해 Excel에서 두 열 비교

일치에 대해 두 목록을 비교하려면 IF 및 ISNA와 함께 XMATCH 함수를 사용할 수 있습니다.

IF( ISNA( XMATCH( target_list, search_list, 0)), "No match", "Match")

예를 들어 B2:B10의 목록 2를 A2:A10의 목록 1과 비교하기 위해 수식은 다음과 같은 형식을 취합니다.

=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")

이 예에서는 일치 항목만 식별하므로 IF 함수의 value_if_true 인수는 빈 문자열("")입니다.

위의 수식을 맨 위 셀(이 경우 C2)에 입력하고 Enter 키를 누르면 자동으로 다른 셀에 "번개"됩니다(i t는 유출 범위라고 함):

이 공식 작동 방식

공식의 중심에서 XMATCH 함수는 다음을 검색합니다. 목록 1 내 목록 2의 값에 대해. 값이 발견되면 상대 위치가 반환되고, 그렇지 않으면 #N/A 오류가 반환됩니다. 이 경우 XMATCH의 결과는 다음과 같은 배열입니다.

{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}

이 배열은 #N/A 오류를 확인하기 위해 ISNA 함수에 "공급"됩니다.각 #N/A 오류에 대해 ISNA는 TRUE를 반환합니다. 다른 값의 경우 - FALSE. 결과적으로 다음 논리 값 배열을 생성합니다. 여기서 TRUE는 일치하지 않음을 나타내고 FALSE는 일치를 나타냅니다.

{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}

위 배열은 IF 함수의 논리 테스트로 이동합니다. . 마지막 두 인수를 구성한 방법에 따라 수식이 해당 텍스트를 출력합니다. 이 경우 일치하지 않는 항목( value_if_true )의 경우 빈 문자열("")이고 일치 항목( value_if_false )의 경우 "목록 1에서 일치"입니다.

메모. 이 수식은 동적 배열을 지원하는 Excel 365 및 Excel 2021에서만 작동합니다. Excel 2019, Excel 2016 또는 이전 버전을 사용하는 경우 다른 솔루션인 Excel에서 두 열을 비교하는 방법을 확인하세요.

Excel의 INDEX XMATCH

XMATCH는 INDEX 함수와 함께 사용하여 INDEX MATCH 수식처럼 조회 값과 연결된 다른 열에서 값을 검색할 수 있습니다. 일반적인 접근 방식은 다음과 같습니다.

INDEX( return _ array , XMATCH( lookup_value , lookup_array )

논리는 매우 간단하고 따라하기 쉽습니다:

XMATCH 함수는 조회 배열에서 조회 값의 상대적 위치를 계산하고 INDEX의 row_num 인수에 전달합니다. 행을 기반으로 합니다. INDEX 함수는 지정한 모든 열에서 값을 반환합니다.

예를 들어 영역을 조회하려면E1에서 바다의 경우 다음 수식을 사용할 수 있습니다. 열과 행을 동시에 조회하려면 두 개의 XMATCH 함수와 함께 INDEX를 사용하십시오. 첫 번째 XMATCH는 행 번호를 가져오고 두 번째 XMATCH는 열 번호를 검색합니다.

INDEX ( data , XMATCH ( lookup_value , vertical _ lookup_array ), XMATCH ( lookup value , horizontal _ lookup_array ))

공식은 INDEX MATCH MATCH와 유사하지만 기본적으로 정확히 일치하므로 match_mode 인수를 생략할 수 있습니다.

예를 들어 특정 월(G2)의 특정 항목(G1)에 대한 판매 번호를 검색하려면 공식은 다음과 같습니다. :

=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))

여기서 B2:D8은 행 및 열 헤더를 제외한 데이터 셀이고 A2:A8은 항목 목록이며 B1:D1은 월 이름입니다.

대소문자 구분 XMATCH 수식

이미 언급했듯이 Excel XMATCH 함수는 기본적으로 대소문자를 구분하지 않습니다. 텍스트 대소문자를 구분하도록 강제하려면 EXACT 함수와 함께 XMATCH를 사용하십시오.

MATCH(TRUE, EXACT( lookup_array , lookup_value ))

역순 마지막에서 처음으로:

MATCH(TRUE, EXACT( lookup_array , lookup_value ), 0, -1)

다음 예는 이 일반 공식이 작동합니다. B2:B11에 대소문자를 구분하는 제품 ID 목록이 있다고 가정합니다. 당신은 찾고 있습니다E1에서 항목의 상대적 위치를 찾습니다. E2의 대소문자 구분 공식은 다음과 같이 간단합니다.

=XMATCH(TRUE, EXACT(B2:B11, E1))

이 공식 작동 방식:

EXACT 함수는 조회 값을 조회 배열의 각 항목과 비교합니다. 대소문자를 포함하여 비교된 값이 정확히 같으면 함수는 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다. 이 논리 값 배열(여기서 TRUE는 정확히 일치함을 나타냄)은 XMATCH의 lookup_array 인수로 이동합니다. 그리고 조회 값이 TRUE이기 때문에 XMATCH 함수는 search_mode 인수를 어떻게 구성했는지에 따라 처음으로 찾은 정확한 일치 또는 마지막 정확한 일치의 위치를 ​​반환합니다.

XMATCH 대 Excel

의 MATCH XMATCH는 MATCH를 보다 강력하고 다재다능하게 대체하도록 설계되었기 때문에 이 두 함수에는 많은 공통점이 있습니다. 그러나 근본적인 차이점이 있습니다.

다른 기본 동작

MATCH 함수는 기본적으로 정확한 일치 또는 다음으로 가장 작은 항목( match_type 이 1로 설정되거나 생략됨)으로 설정됩니다.

XMATCH 함수는 기본적으로 정확한 일치로 설정됩니다( match_mode 가 0으로 설정되거나 생략됨).

대략 일치에 대한 다른 동작

match_mode가 / match_type 인수가 1로 설정됨:

  • MATCH는 정확히 일치하거나 다음으로 작은 항목을 검색합니다. 조회 배열이 오름차순으로 정렬되어야 합니다.
  • XMATCH는 정확한

Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.