목차
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는 정확한