엑셀 MATCH 함수
범위에서 값이 몇 번째에 있는지 위치를 알려줍니다.
모든 버전구문
=MATCH(찾을값, 찾을범위, [일치유형])| 인수 | 필수 | 설명 |
|---|---|---|
| 찾을값 | 필수 | 위치를 알고 싶은 값 |
| 찾을범위 | 필수 | 한 줄(1행 또는 1열)이어야 합니다 |
| 일치유형 | 선택 | 0=정확히 일치. 실무에서는 거의 0을 씁니다 |
예시
=MATCH("강남지점",$A$2:$A$100,0)- 결과
- 12 (12번째에 있음)
- 설명
- 값 자체가 아니라 '위치'를 돌려줍니다.
언제 쓰나요
값이 **몇 번째에 있는지** 위치를 찾습니다. 단독으로 쓰는 일은 드물고 대부분 INDEX 와 짝을 이룹니다 — INDEX+MATCH 는 VLOOKUP 과 달리 **찾는 값이 오른쪽에 있어도** 되고, 열을 중간에 끼워 넣어도 수식이 깨지지 않습니다. 세 번째 인수를 생략하면 1(근사값)이 되어 조용히 틀린 값을 내므로, 실무에서는 **거의 항상 0(정확히 일치)** 을 명시해야 합니다.
자주 나는 오류와 해결
MATCH 함수가 뜻대로 안 될 때 확인할 것들입니다.
엉뚱한 위치가 나옴
- 원인
- 세 번째 인수를 생략해 근사 일치(1)로 동작했습니다. 이 모드는 범위가 오름차순 정렬되어 있다고 가정합니다
- 해결
- 세 번째 인수에 0 을 넣어 정확히 일치로 바꿉니다. MATCH 사고의 대부분이 이것입니다
#N/A 오류
- 원인
- 찾는 값이 범위에 없거나, 공백·데이터 형식이 달라 같은 값으로 안 보입니다
- 해결
- TRIM 으로 공백을 지우고, 숫자와 텍스트가 섞였는지 확인합니다. 텍스트로 저장된 숫자는 VALUE 로 변환합니다
INDEX 와 조합했더니 값이 밀림
- 원인
- MATCH 로 찾은 범위와 INDEX 가 값을 꺼내는 범위의 **시작 행이 다릅니다**
- 해결
- 두 범위의 시작 행을 똑같이 맞춥니다. A2:A100 으로 찾았으면 꺼낼 범위도 2행부터 시작해야 합니다
여러 개 중 첫 번째만 나옴
- 원인
- MATCH 는 조건에 맞는 첫 위치만 돌려줍니다
- 해결
- 여러 개가 필요하면 FILTER 를 쓰거나, 보조 열에 순번을 붙여 조건을 유일하게 만듭니다
대소문자를 구분하고 싶은데 안 됨
- 원인
- MATCH 는 대소문자를 구분하지 않습니다
- 해결
- EXACT 와 조합해 MATCH(TRUE, EXACT(범위, 찾을값), 0) 형태로 씁니다
함께 보면 좋은 것
이 함수를 만들어 주는 도구