Excel의 MATCH함수를 사용하는 방법에 대해 알아보겠습니다.
MATCH는 행, 열 또는 테이블에서 조회 값의 위치를 찾는 데 사용되는 Excel 함수입니다. MATCH는 근사치 및 정확한 일치와 부분 일치에 대한 결과를 제공합니다. MATCH는 INDEX 함수와 결합되어 일치하는 위치에서 값을 검색합니다.
=MATCH(lookup_value,lookup_array,[match_type])
- lookup_value - lookup_array에서 일치시킬 값입니다.
- lookup_array - 셀 범위 또는 배열 참조입니다.
- match_type - [선택 사항] 1 = 정확하거나 다음으로 작음(기본값), 0 = 정확히 일치, -1 = 정확하거나 다음으로 큽니다.

MATCH 함수는 범위 또는 배열에서 값의 위치를 결정하는 데 사용됩니다. 예를 들어 위의 스크린샷에서 E6 셀의 수식은 D6 셀에 있는 값의 위치를 가져오도록 구성되어 있습니다. 조회 값("peach")이 B6:B14 범위의 5번째 위치에 있기 때문에 MATCH 함수는 5를 반환합니다.
=MATCH(D6,B6:B14,0) // returns 5
MATCH 함수는 정확한 일치와 근사치를 수행할 수 있으며 부분 일치에 대해서도 지원합니다. 아래에 설명된 대로 3개의 개별 일치 모드(match_type 인수로 설정)가 있습니다.
MATCH 함수는 항상 첫 번째 일치 항목을 반환합니다. 마지막 일치 항목(역방향 검색)을 반환해야 하는 경우 XMATCH 함수를 참조하세요. 모든 일치 항목을 반환하려면 FILTER 함수를 사용할 수 있습니다.
MATCH는 수직 또는 수평의 1차원 배열 또는 범위만 지원합니다. 그러나 MATCH를 사용하여 조회 값이 포함된 단일 열(또는 행)을 MATCH에 제공하면 2차원 범위 또는 테이블에서 값을 찾을 수 있습니다. 단일 수식에서 MATCH를 두 번 사용하여 일치하는 행과 열을 동시에 찾을 수도 있습니다.
MATCH 함수는 INDEX 함수와 결합되어 특정(일치된) 위치에서 값을 검색하는 경우가 많습니다. 즉, MATCH는 위치를 파악하고 INDEX는 해당 위치의 값을 반환합니다.
2. MATCH 타입
일치 유형은 선택 사항입니다. 제공되지 않으면 match_type의 기본값은 1(정확하거나 다음으로 가장 작음)입니다. match_type이 1 또는 -1인 경우 "근사치 일치"라고도 합니다. 그러나 MATCH는 아래 표에 나와 있는 것처럼 가능한 경우 항상 정확한 일치를 수행합니다.
타입 | 동작 | 상세설명 |
1 | 대략적인 | MATCH는 조회 값보다 작거나 같은 값 중 큰 값을 찾습니다. 조회 배열은 오름차순으로 정렬해야 합니다. |
0 | 정확한 | MATCH는 조회 값과 동일한 첫 번째 값을 찾습니다. 조회 배열은 정렬할 필요가 없습니다. |
-1 | 대략적인 | MATCH는 조회 값보다 크거나 같은 가장 작은 값을 찾습니다. 조회 배열은 내림차순으로 정렬해야 합니다. |
(생략) | 대략적인 | match_type 생략하면 위에서 설명한 대로 동작하며 기본값은 1입니다. |
정확히 일치해야 하는 경우 match_type 0으로 설정해야 합니다. 기본 설정인 1을 사용하면 MATCH가 정상으로 보이지만 실제로는 잘못된 결과를 반환할 수 있습니다. match_type에 대한 값을 명시적으로 제공하는 것은 예상되는 동작을 상기시키는 좋은 방법입니다.

3. 정확히 일치하는 값 찾기
match_type이 0이면 MATCH는 정확한 일치만 수행합니다. 아래 예에서 E3의 수식은 다음과 같습니다.
=MATCH(E2,B3:B11,0) // returns 4

위의 수식에서 조회 값은 E2 셀에서 가져옵니다. 조회 값이 수식에 하드코딩되어 있으면 텍스트 값이므로 큰따옴표("")로 묶어야 합니다.
=MATCH("Mars",B3:B11,0)
MATCH는 대소문자를 구분하지 않으므로 "Mars"와 "mars"는 모두 4를 반환합니다.
4. 대략적인 일치하는 값 찾기
match_type 1로 설정하면 MATCH는 A-Z로 정렬된 값에 대해 대략적인 일치를 수행하여 조회 값보다 작거나 같은 가장 큰 값을 찾습니다. 아래 표시된 예에서 E3의 수식은 다음과 같습니다.
=MATCH(E2,B3:B11,1) // returns 5

5. 와일드카드 일치
match_type이 0으로 설정되면 MATCH는 와일드카드를 사용할 수 있습니다. 아래 표시된 예에서 E3의 수식은 다음과 같습니다.
=MATCH(E2,B3:B11,0) // returns 6
이는 다음과 같습니다.
=MATCH("pq*",B3:B11,0)

6. INDEX 및 MATCH
MATCH 함수는 일반적으로 INDEX 함수와 함께 사용됩니다. 결과 수식을 "INDEX 및 MATCH"라고 합니다. 예를 들어 아래 화면에서 INDEX 및 MATCH는 F4 셀에 입력한 코드의 비용을 반환하는 데 사용됩니다. F5의 수식은 다음과 같습니다.
=INDEX(C5:C12,MATCH(F4,B5:B12,0)) // returns 150

이 예에서 MATCH는 정확한 일치를 수행하도록 설정됩니다. MATCH 함수는 코드 ABX-075를 찾아 해당 위치(7)를 INDEX 함수에 행 번호로 직접 반환합니다. 그런 다음 INDEX 함수는 C5:C12 범위에서 7번째 값을 최종 결과로 반환합니다. 공식은 다음과 같이 해결됩니다.
=INDEX(C5:C12,MATCH(F4,B5:B12,0))
=INDEX(C5:C12,7)
=150
7. 대/소문자 구분 일치
MATCH 함수는 대/소문자를 구분하지 않습니다. 그러나 다음과 같은 일반 수식에서 EXACT 함수와 결합할 때 대/소문자를 구분하는 일치를 수행하도록 MATCH를 구성할 수 있습니다.
=MATCH(TRUE,EXACT(lookup_value,array),0)
EXACT 함수는 대/소문자를 구분하는 방식으로 배열의 모든 값을 lookup_value와 비교합니다.
'워드프로세서 > 엑셀' 카테고리의 다른 글
엑셀 셀에 있는 문자 합치는 방법 (CONCATENATE함수) (0) | 2025.05.13 |
---|---|
엑셀 숫자를 아스키코드 변환하는 방법 (CHAR함수) (1) | 2025.05.12 |
엑셀 하이퍼링크 사용하는 방법 (HYPERLINK함수) (0) | 2025.05.08 |
엑셀 LOOKUP함수 사용하는 방법 (0) | 2025.05.06 |
엑셀 HLOOKUP함수 사용하는 방법 (0) | 2025.05.04 |