index match 함수 | MATCH로 위치 찾고 INDEX로 값 꺼내는 법

index match 함수는 MATCH로 값의 위치를 찾고, INDEX로 그 위치의 값을 꺼내는 조합이에요.
조회 열이 반환 열보다 오른쪽에 있어도 쓸 수 있어서, 왼쪽 열 조회가 막히는 vlookup 함수의 대안으로 많이 씁니다.

index match 함수 한눈에 보기
구분내용
기본 수식=INDEX(반환범위, MATCH(조회값, 조회범위, 0))
MATCH 역할조회 범위 안에서 일치 항목의 상대 위치를 반환
INDEX 역할범위에서 지정한 행·열 위치의 값을 반환
마지막 인수 0정확히 일치하는 값만 찾기
못 찾으면#N/A 오류

확인일 2026-11-06 · 근거: Microsoft 지원 INDEX 함수·MATCH 함수·표 또는 셀 범위에서 데이터 찾기 안내 · 정정 요청

index match 함수, 위치 찾는 MATCH와 값 꺼내는 INDEX의 짝이에요

두 함수는 각자 하는 일이 달라요.
MATCH는 셀 범위에서 찾는 항목의 상대 위치를 알려 주고, INDEX는 범위에서 그 위치의 값을 돌려줍니다.

도서관에서 책 번호를 먼저 알아내고(MATCH), 그 번호의 서가에서 책을 꺼내 오는(INDEX) 두 단계라고 생각하면 쉬워요. 번호만 알면 책이 어느 서가에 있든 꺼낼 수 있어요.

INDEX의 기본 구문은 INDEX(array, row_num, [column_num])이고, MATCH의 기본 구문은 MATCH(lookup_value, lookup_array, [match_type])입니다.
MATCH의 조회 값과 조회 범위는 꼭 있어야 하고, 마지막 match_type은 생략할 수 있어요.

indexmatch로 붙여 검색하는 분도 많은데 같은 조합이에요. 엑셀 함수 전반이 낯설다면 엑셀 함수 정리부터 훑어보면 흐름이 잡힙니다.

index match 함수 사용법, 수식은 이렇게 겹쳐요

MATCH로 찾은 행 위치를 INDEX의 행 번호 자리에 넣으면 끝이에요.
대표 형태는 =INDEX(표, MATCH(조회값, 조회범위, 0), 열번호)입니다.

조회값 정하기찾고 싶은 값이 들어 있는 셀을 정해요. 예를 들면 E2에 적어 둔 이름이에요.

MATCH로 위치 구하기MATCH(E2,A2:A5,0)처럼 조회 범위에서 정확히 같은 값의 위치를 구해요.

INDEX에 위치 넣기INDEX(C2:C5, 위치)로 반환 범위에서 같은 순서의 값을 꺼내요.

하나로 합치기=INDEX(C2:C5,MATCH(E2,A2:A5,0))으로 완성해요.

조회 범위와 반환 범위는 행 방향과 길이를 맞춰야 해요. A2:A5를 조회했다면 반환도 C2:C5처럼 같은 행 구간으로 잡습니다.

예시 1 · 이름으로 나이를 찾는 민지 씨 (가정)A2:A5에 민지, 준호, 서연, 도윤이 있고 C2:C5에 나이 28, 34, 41, 25가 있다고 가정해요. E2에 서연을 적으면 MATCH가 3을 돌려주고, INDEX가 C열 세 번째 값인 41을 꺼내요.
결과는 41입니다.

match 함수 사용법, 마지막 인수 0·1·-1을 구분해요

MATCH만 따로 써도 위치를 알 수 있어요.
A1:A3이 5, 25, 38일 때 =MATCH(25,A1:A3,0)은 2를 돌려줍니다.

0 · 정확히 일치MATCH(값,범위,0)같은 값만 찾아요. 찾는 값이 없으면 #N/A가 나와요

1 · 작거나 같은 값MATCH(값,범위,1)정확한 값이 없으면 바로 아래 값의 위치를 찾아요. 범위는 오름차순이어야 해요

-1 · 크거나 같은 값MATCH(값,범위,-1)조회 값 이상인 값의 위치를 찾아요. 범위는 내림차순이어야 해요

예시 2 · 기준 점수 구간을 찾는 경우 (가정)B2:B5가 25, 38, 40, 41이라고 가정해요. =MATCH(39,B2:B5,1)은 39가 정확히 없으니 다음으로 낮은 38의 위치인 2를 돌려줍니다.
같은 범위에서 =MATCH(41,B2:B5,0)은 41의 위치인 4예요.

MATCH는 텍스트를 찾을 때 대문자와 소문자를 구분하지 않아요.
마지막 인수가 0이고 조회 값이 텍스트라면 물음표와 별표 와일드카드도 쓸 수 있습니다.

조건에 맞는 칸을 세거나 더하는 일이 목적이라면 countif 함수 사용법이나 sumif 함수가 더 간단해요.

index match 왼쪽 값 찾기, VLOOKUP이 못 하는 방향이에요

VLOOKUP은 조회 값이 반환 열의 왼쪽에 있어야 해요.
index match 함수는 조회 범위와 반환 범위를 따로 지정해서 이 방향 제한이 없습니다.

VLOOKUP은 표의 맨 왼쪽 열에서만 이름표를 찾는 안내원이고, index match는 어느 열에서든 이름표를 찾아 다른 열의 값을 가져오는 안내원이에요.

예시 3 · 도시로 청구 번호를 찾는 경우 (가정)청구 번호가 A2:A33, 도시가 B2:B33에 있다고 가정해요. 도시가 청구 번호보다 오른쪽에 있어서 VLOOKUP으로는 막히지만, =INDEX(A2:A33,MATCH("서울특별시",B2:B33,0))이면 서울특별시 행의 청구 번호를 꺼낼 수 있어요.
VLOOKUP 쪽 설명은 vlookup 함수에서 이어서 볼 수 있습니다.

표 전체를 범위로 잡고 열 번호를 쓰는 방식도 있어요. =INDEX(A2:C5,MATCH(E2,A2:A5,0),3)은 E2의 이름을 A열에서 정확히 찾아 같은 행 C열의 값을 반환합니다.

index match 2차원 조회, MATCH를 두 번 써요

행과 열을 둘 다 조건으로 찾을 때는 MATCH를 두 개 넣어요.
기본 모양은 INDEX(표, MATCH(행값, 행범위, 0), MATCH(열값, 열범위, 0))입니다.

표 범위 잡기값만 있는 칸을 표로 잡아요. 예를 들면 B2:D4예요.

행 머리글로 행 위치 찾기A2:A4에서 찾을 항목을 MATCH로 찾아요.

열 머리글로 열 위치 찾기B1:D1에서 찾을 항목을 MATCH로 찾아요.

INDEX에 둘 다 넣기=INDEX(B2:D4,MATCH(F1,A2:A4,0),MATCH(F2,B1:D1,0))으로 두 위치가 만나는 칸의 값을 꺼내요.

행 MATCH와 열 MATCH 모두 마지막 인수를 0으로 두세요. 하나라도 빠지면 엉뚱한 칸이 나올 수 있어요.

계산 결과를 더하거나 곱해 쓰려면 엑셀 곱하기 함수나 엑셀IF함수와 이어서 쓰면 편해요.

index match #N/A 해결, 숨은 공백과 형식부터 확인해요

찾는 값이 조회 범위에 없으면 #N/A가 나와요.
값이 눈으로는 같아 보이는데도 #N/A라면 숨은 공백, 예기치 않은 문자, 숫자가 텍스트로 저장된 형식 차이를 의심해 보세요.

공백·문자 정리TRIM이나 CLEAN 함수로 숨은 공백과 예기치 않은 문자를 정리해요.

셀 형식 맞추기조회 값과 조회 범위가 모두 숫자이거나 모두 텍스트이도록 맞춰요.

마지막 인수와 정렬 확인1 또는 생략이면 오름차순, -1이면 내림차순이어야 해요.

표시만 바꾸기=IFERROR(INDEX(C2:C5,MATCH(E2,A2:A5,0)),"없음")으로 #N/A를 다른 글자로 바꿔요.

IFERROR는 오류 원인을 고치는 게 아니라 보이는 표시만 바꿔요. 먼저 원래 수식이 맞는지 확인한 뒤 감싸세요.

예시 4 · 서연을 찾았는데 #N/A가 나온 민지 씨 (가정)E2에 "서연 "처럼 뒤에 공백이 들어가 있었어요. MATCH 안의 조회 값을 TRIM(E2)로 바꾸니 3이 나왔고, INDEX가 41을 꺼냈어요.
눈에 안 보이는 공백도 #N/A의 원인이 될 수 있어요. TRIM이나 CLEAN으로 정리하면 됩니다.

index match 함수 버전, 구형 Excel에서는 배열 확정이 필요할 수 있어요

INDEX와 MATCH 함수 문서는 Microsoft 365용 Excel, Excel 2024, 2021, 2019, 2016에 적용돼요.
배열을 사용하는 INDEX MATCH는 구형 Excel에서 Ctrl+Shift+Enter로 배열 수식을 확정해야 할 수 있습니다.

Microsoft 365에서는 수식을 입력하고 Enter만 눌러도 동적 배열 수식으로 확인돼요.
모든 방향에서 작동하고 기본으로 정확히 일치하는 XLOOKUP과 XMATCH도 대안입니다. 자세한 설명은 xlookup 함수에서 볼 수 있어요.

자주 묻는 질문

index match 함수는 VLOOKUP과 무엇이 다른가요?
VLOOKUP은 조회 값이 반환 열의 왼쪽에 있어야 하지만, index match 함수는 조회 열과 반환 열의 위치에 제한이 없어요. 반환 열이 조회 열보다 왼쪽에 있어도 찾을 수 있습니다.
MATCH 마지막 인수 0, 1, -1은 어떻게 달라요?
0은 정확히 같은 값만 찾아요. 1은 조회 값보다 작거나 같은 값 중 가장 가까운 위치를 찾고 조회 범위가 오름차순이어야 합니다. -1은 크거나 같은 값을 찾고 내림차순이어야 해요.
index match 함수에서 #N/A가 나오는 이유는 무엇인가요?
조회 범위에 찾는 값이 없으면 #N/A가 나와요. 값 뒤의 숨은 공백이나 예기치 않은 문자, 숫자가 텍스트로 저장된 형식 차이가 원인이 될 수 있어요. TRIM이나 CLEAN으로 정리해 보세요.
#N/A 대신 다른 글자를 보이게 할 수 있나요?
IFERROR 안에 INDEX MATCH를 넣으면 돼요. 예를 들어 =IFERROR(INDEX(C2:C5,MATCH(E2,A2:A5,0)),"없음")처럼 쓰면 못 찾을 때 없음이 표시됩니다.
index match 함수 대신 XLOOKUP을 써도 되나요?
써도 돼요. XLOOKUP과 XMATCH는 모든 방향에서 작동하고 기본으로 정확히 일치하는 값을 찾는 새 함수예요. 쓰는 Excel 버전에서 지원하는지만 확인하세요.

엑셀 함수 이어서 익히기

조회 수식이 익숙해졌다면 차트와 매크로로 넘어가 보세요.
찾은 값을 그래프로 그리거나 반복 작업을 자동으로 돌릴 수 있습니다.

엑셀차트만들기조회한 값을 그래프로› 엑셀매크로만들기반복 조회를 자동으로› 엑셀 셀 병합 단축키표 모양 다듬기›