Menu

엑셀 MATCH 함수 사용법: 값의 위치 찾기

=MATCH(E2,A2:A6,0)은 A2:A6에서 E2의 위치를 반환합니다. 네 번째 항목이면 4입니다. 일치 유형 0, 1, -1, 와일드카드, 대소문자 구분 일치, 값이 목록에 있는지 확인하는 법을 알아봅니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=MATCH(E2,A2:A6,0)은 A2:A6 안에서 E2 값의 위치를 반환합니다. 첫 번째 셀이면 1, 두 번째 셀이면 2와 같은 식입니다. 0은 정확히 일치를 요청합니다. MATCH는 값 자체가 아니라 숫자를 반환하므로 보통 INDEX와 함께 씁니다.

목록에서 상품의 위치
F2
ABCDEF
1ProductCategoryPriceLook forPosition
2AppleFruit$1.20Bread4
3PearFruit$1.50
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Bread는 A2:A6의 네 번째 셀이므로 F2에 4가 나옵니다. 위치는 시트의 1행이 아니라 범위의 첫 셀부터 셉니다. 범위를 A1:A6으로 바꾸면 답은 5가 됩니다. E2에 Kiwi를 입력하면 MATCH가 #N/A를 반환합니다.

MATCH 구문과 일치 유형

=MATCH(lookup_value, lookup_array, [match_type])
match_type찾는 값목록 조건
0lookup_value와 정확히 같은 첫 번째 값. 텍스트에는 와일드카드 사용 가능.순서 상관없음
1 또는 생략lookup_value보다 작거나 같은 값 중 가장 큰 값.오름차순 정렬
-1lookup_value보다 크거나 같은 값 중 가장 작은 값.내림차순 정렬

기본값은 0이 아니라 1입니다. 세 번째 인수 없는 MATCH는 정렬되지 않은 이름 목록에서도 아무 경고 없이 다른 행의 것일 수도 있는 위치를 반환합니다. 텍스트, 코드, ID를 조회할 때는 매번 0을 쓰세요.

유사 일치: 값이 어느 구간에 속하는지

일치 유형 1을 쓰면 MATCH는 "어느 구간인가"에 답합니다. 값이 도달한 마지막 기준값의 위치입니다. 여기서 75점은 0, 60, 70을 넘었으므로 3구간, 등급 C입니다.

점수의 구간
E2
ABCDEF
1Min scoreGradeScoreBandGrade
20F753C
360D591F
470C905A
580B1005A
690A
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

59는 아직 60 미만이라 1구간(F)입니다. 90은 마지막 기준값과 정확히 일치하고 100은 그보다 크므로 둘 다 5구간(A)에 들어갑니다. 기준값은 오름차순을 유지해야 합니다. 그래야 MATCH가 올바른 곳에서 멈춥니다.

일치 유형 -1은 큰 값부터 작은 값 순으로 정렬된 목록을 위한, 거울에 비친 반대입니다. 찾는 값보다 크거나 같은 값 중 가장 작은 값의 위치를 반환합니다. 열에 크기 {50;25;12;5}가 있다면 =MATCH(18,D2:D5,-1)은 18이 들어가는 가장 작은 크기인 25의 위치 2를 반환합니다.

와일드카드와 대소문자

MATCH는 대소문자를 무시하고, 일치 유형 0에서는 와일드카드 *(아무 문자열)와 ?(정확히 한 글자)를 받아들입니다. 대소문자를 구분하려면 목록을 EXACT로 비교하고 첫 번째 TRUE를 찾으세요.

텍스트를 찾는 세 가지 방법
E1
ABCDE
1ProductCategoryPriceStarts with "C"3
2AppleFruit$1.20Lower case "milk"5
3PearFruit$1.50Exactly "milk"#N/A
4CarrotVegetable$0.80
5BreadBakery$2.40
6MilkDairy$1.10
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

"C*"는 Carrot과 일치해 위치 3을 냅니다. 대소문자를 무시하므로 "milk"는 위치 5의 Milk를 찾습니다. EXACT 버전은 각 이름을 대소문자까지 "milk"와 비교해 TRUE를 찾지 못하고 #N/A를 반환합니다. A6을 milk로 바꾸면 5를 반환합니다. Excel 2019 이하에서는 EXACT 수식을 Ctrl+Shift+Enter(Mac에서는 Cmd+Shift+Enter)로 확정하세요. Excel 2021과 Microsoft 365에서는 Enter로 충분합니다. 물결표를 붙이면 와일드카드가 문자 그대로 쓰입니다. "~*"는 실제 별표를 찾습니다.

값이 목록에 있는지 확인하기

MATCH는 값을 찾으면 숫자를, 찾지 못하면 #N/A를 반환합니다. ISNUMBER가 이것을 TRUE나 FALSE로 바꾸므로 "목록에 있나"를 빠르게 검사할 수 있습니다.

주문한 품목 중 재고가 있는 것은?
B2
ABCD
1OrderedIn stock?In stock
2PearYesApple
3KiwiNoPear
4MilkYesBread
5PlumNoMilk
6BreadYes
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Pear, Milk, Bread는 D2:D5에 있으므로 Yes가 나옵니다. Kiwi와 Plum은 No입니다. COUNTIF($D$2:$D$5,A2)>0도 같은 답을 줍니다. MATCH는 처음 찾은 곳에서 멈추고, COUNTIF는 전부 셉니다.

MATCH, XMATCH, INDEX

MATCH는 전형적인 조회 수식 =INDEX(C2:C6,MATCH(E2,A2:A6,0))의 절반이며, INDEX와 MATCH 페이지에서 설명합니다. Excel 2021과 Microsoft 365에는 XMATCH가 추가되었는데, 기본값이 정확히 일치이고, 마지막 항목부터 위로 검색할 수 있으며, 내림차순 정렬 없이 "다음으로 큰 값"을 처리합니다. MATCH는 Excel 2019에서 열어야 하는 파일을 포함해 어디서나 여전히 동작합니다.

연습: 직원의 위치

팀 명단
F2
ABCDEF
1NameTeamStart yearNamePosition
2AnaSales2019Dev
3BenSupport2021
4CaraSales2018
5DevFinance2022
6EliSupport2020
7FayFinance2023
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: F2에서 E2에 있는 이름이 A열 목록에서 몇 번째인지 반환하세요.

자주 묻는 질문

엑셀 MATCH는 무엇을 반환하나요?

값이 아니라 위치를 반환합니다. Bread가 A2:A6의 네 번째 셀이면 =MATCH("Bread",A2:A6,0)은 4를 반환합니다. INDEX와 함께 쓰면 다른 열에서 그 위치의 값을 가져올 수 있습니다.

일치 유형 0, 1, -1은 무엇이 다른가요?

0은 순서와 상관없이 정확히 일치하는 값을 찾습니다. 1(기본값)은 찾는 값보다 작거나 같은 값 중 가장 큰 값을 찾으며 목록이 오름차순으로 정렬되어 있어야 합니다. -1은 찾는 값보다 크거나 같은 값 중 가장 작은 값을 찾으며 목록이 내림차순으로 정렬되어 있어야 합니다.

MATCH는 대소문자를 구분하나요?

구분하지 않습니다. =MATCH("milk",A2:A6,0)은 Milk를 찾습니다. 대소문자를 구분하려면 =MATCH(TRUE,EXACT(A2:A6,"milk"),0)을 쓰세요. Excel 2019 이하에서는 Ctrl+Shift+Enter(Mac에서는 Cmd+Shift+Enter)가 필요합니다.

MATCH로 값이 목록에 있는지 어떻게 확인하나요?

값이 없으면 MATCH가 #N/A를 반환하므로, 숫자를 반환했는지 검사합니다. =ISNUMBER(MATCH(A2,$D$2:$D$5,0))은 TRUE나 FALSE를 냅니다. 원하는 텍스트를 보여 주려면 IF로 감싸세요.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기