목차▾
엑셀 MATCH 함수란?
엑셀 MATCH 함수는 범위에서 값의 위치 번호(1부터)를 반환하는 검색·참조 함수입니다. 값 자체가 아닌 위치만 반환하므로 단독보다는 INDEX와 콤보로 가장 자주 쓰여요 — VLOOKUP의 한계(첫 열만 검색)를 넘는 표준 패턴.
구문은 =MATCH(찾을값, 범위, [match_type]) 3 인수. match_type은 0(정확), 1(작거나 같음, 기본), -1(크거나 같음) 중 선택 — 생략 시 1이라 정렬 안 되어 있으면 잘못된 결과. 항상 0 명시 권장.
match_type 3가지 + 오류
| match_type | 동작 | 정렬 필요 | 사용 |
|---|---|---|---|
| 0 | 정확 일치 (없으면 #N/A) | 불필요 | 추천 — 일반적 |
| 1 (기본) | 작거나 같은 값 중 최대 | 오름차순 필수 | 등급·구간 |
| -1 | 크거나 같은 값 중 최소 | 내림차순 필수 | 역순 구간 |
→ 항상 0 명시 권장.
동작 예시
범위 A1:A5 = [사과, 배, 포도, 딸기, 망고]
=MATCH("포도", A1:A5, 0) → 3 (세 번째)
=MATCH("키위", A1:A5, 0) → #N/A(값 없음)
=MATCH("*고", A1:A5, 0) → 5 (와일드카드, 망고)
범위 B1:B5 = [60, 70, 80, 90, 100] (오름차순)
=MATCH(85, B1:B5, 1) → 3 (85 이하 최대 = 80, 위치 3)
=MATCH(85, B1:B5, 0) → #N/A (정확 85 없음)
처리하는 오류 3가지
| 오류 코드 | 풀이 | 발생 원인 |
|---|---|---|
| #N/A | 값 없음 (Not Available) | 정확 일치(0)인데 못 찾음 / 정렬 안 됨 |
| #VALUE! | 값 유형 오류 | match_type이 유효하지 않은 값 |
| #REF! | 참조 오류 (Reference) | 잘못된 범위 참조 |
INDEX/MATCH = VLOOKUP 대체 표준
VLOOKUP (제약):
=VLOOKUP("애플", A:C, 3, FALSE)
→ A열 검색, C열 반환 (검색 열이 항상 첫 열)
INDEX/MATCH (유연):
=INDEX(C:C, MATCH("애플", B:B, 0))
→ B에서 위치 찾고, C의 그 위치 반환
→ 어느 열에서든 검색·반환 가능
MATCH가 위치만 반환, INDEX가 그 위치 값 추출 = 분업 구조.
MATCH vs VLOOKUP/XMATCH/XLOOKUP
| 함수 | 반환 | 검색 방향 | 권장 시점 |
|---|---|---|---|
| MATCH | 위치 번호만 | 양방향 (1차원) | INDEX와 조합 |
| VLOOKUP | 값 | 세로 (첫 열만) | 단순 룩업 |
| XMATCH (2021+) | 위치 번호 (확장) | 양방향 + 역방향 | MATCH 모던 대체 |
| XLOOKUP (2021+) | 값 (양방향) | 양방향 | INDEX/MATCH 대체 |
→ Excel 365·2021+이면 XLOOKUP/XMATCH 권장, 구버전은 INDEX/MATCH.
실전 사용 시나리오 8가지
- 단순 위치 찾기 —
=MATCH("애플", A1:A100, 0) - INDEX/MATCH 콤보 —
=INDEX(C:C, MATCH(A1, B:B, 0)) - 양방향 조회 (2차원) —
=INDEX(B2:D10, MATCH(찾을행, A2:A10, 0), MATCH(찾을열, B1:D1, 0)) - 정렬된 등급표 (match_type 1) —
=INDEX(등급, MATCH(점수, 점수범위, 1)) - 와일드카드 검색 —
=MATCH("애플*", A1:A100, 0) - 존재 여부 검사 —
=ISNUMBER(MATCH(A1, B:B, 0)) - 마지막 값 위치 —
=MATCH(2, 1/(A:A<>""))(배열 수식) - VLOOKUP 동적 컬럼 —
=VLOOKUP(A1, 표, MATCH(찾을컬럼, 헤더, 0), FALSE)
자주 발생하는 함정 6가지
- match_type 생략 시 1 (근사값) — 오름차순 정렬 안 되어 있으면 잘못된 위치. 항상 0 명시 권장
- #N/A — 못 찾음 — 정확 일치(0)인데 값 없음 / 공백 차이. IFNA로 처리:
=IFNA(MATCH(...), 0) - 와일드카드는 match_type=0에서만 —
*,?는 정확 일치 모드만. 1, -1에서는 리터럴 - 텍스트 vs 숫자 자료형 불일치 — 텍스트 "123"과 숫자 123은 다른 값. VALUE 또는 TEXT로 통일
- lookup_array는 1차원 — A1:C10 같은 2차원은 안 됨. 행 또는 열 단일 차원
- 첫 매칭만 반환 — 중복 값 있으면 가장 위/왼쪽 매칭. N번째는 SMALL+IF 배열 수식
자주 묻는 질문
Q. MATCH 함수 사용법은?
=MATCH(찾을값, 범위, [match_type]) 형식. 범위에서 값의 위치 번호 반환 (1부터). 예: =MATCH("애플", A1:A10, 0) → A열에서 "애플"의 위치. match_type 0 명시 권장.
Q. INDEX/MATCH가 VLOOKUP보다 좋은 이유는?
유연성 압승. VLOOKUP은 첫 열에서만 검색·오른쪽 열만 반환. INDEX/MATCH는 어느 열에서든 검색·왼쪽 열 반환·양방향 가능. =INDEX(C:C, MATCH(A1, B:B, 0))이 표준.
Q. match_type 0, 1, -1 차이는?
0 = 정확 일치 (정렬 불필요, 가장 안전), 1 = 작거나 같음 (오름차순 정렬 필수, 등급표), -1 = 크거나 같음 (내림차순). 일반은 0.
Q. #N/A 오류는?
정확 일치(0)인데 값 못 찾음. 또는 텍스트 공백·자료형 불일치. IFNA로 처리: =IFNA(MATCH(...), 0). 데이터 정리 (TRIM, VALUE)도 함께.
Q. 와일드카드는?
match_type=0에서만 작동. =MATCH("애플*", A1:A100, 0) → "애플"로 시작하는 첫 항목. ?(한 글자), *(여러 글자) 지원.
Q. 값이 있는지만 확인하려면?
=ISNUMBER(MATCH(A1, B:B, 0)). MATCH가 위치(숫자) 반환 시 TRUE, #N/A면 FALSE. ISERROR보다 정확.
Q. XMATCH는 뭔가요?
MATCH의 모던 확장 (Excel 2021+). 역방향 검색(search_mode=-1), 와일드카드 모드 명시 등 추가 기능. 단순 검색은 MATCH로 충분.
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
네. MATCH는 표준 검색·참조 함수로 Google Sheets, LibreOffice Calc, Apple Numbers, 한컴 한셀, WPS에서 동일하게 작동합니다. XMATCH는 환경에 따라 미지원.
본 페이지는 Microsoft Support 공식 MATCH·INDEX·XMATCH 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.