INDEX·MATCH 수식 만들기
MATCH가 몇 번째인지 찾고, INDEX가 그 위치의 값을 꺼내요. 두 함수를 합치면 VLOOKUP의 제약이 없어져요.
INDEX·MATCH, 위치를 찾고 꺼내는 두 단계
INDEX·MATCH는 언제 쓰나요
코드는 오른쪽 끝 열에 있고 이름은 왼쪽 열에 있는 표에서 코드로 이름을 찾아야 할 때, 월별·지점별 표에서 ‘3월의 부산’처럼 가로와 세로를 동시에 맞춰야 할 때, 지역과 제품 두 가지가 모두 맞는 행을 골라야 할 때 INDEX·MATCH를 써요. XLOOKUP이 없는 엑셀 2016·2019를 쓰는 회사가 아직 많아서, 어느 PC에서 열어도 똑같이 돌아가는 찾기 수식이 필요할 때 가장 믿을 만한 조합이에요.
사용 방법

1단계찾기 종류 고르고 범위 넣기
- 1① 탭에서 찾기 종류를 골라요. 탭마다 필요한 칸이 달라서 고르면 입력 칸이 바뀌어요.
- 2② 왼쪽 찾기 탭의 예시는 H열 코드로 C열 담당자를 가져와요. 가져올 범위가 찾을 범위보다 왼쪽이어도 그대로 두면 돼요.

2단계여러 조건 탭 써 보기
- 3③ 조건 범위와 값을 두 쌍 넣어요. 예시는 지역이 서울이고 제품이 노트북인 행의 금액을 찾아요.
- 4④ 첫 카드는 두 조건을 모두 만족하는 첫 행의 값을, 둘째 카드는 같은 조건의 SUMIFS 합계를 보여 줘요.
두 함수가 나눠 맡는 일
MATCH는 값을 꺼내지 않고 ‘몇 번째에 있는지’만 숫자로 알려 줘요. INDEX는 거꾸로 위치 번호를 받아 그 자리의 값을 꺼내요. 이 둘을 이어 붙이면 찾는 열과 꺼내는 열이 완전히 분리돼서, 열 순서나 위치에 묶이지 않아요.
가로·세로 찾기는 MATCH를 두 번 써서 행 번호와 열 번호를 모두 구해요. 도구 기본값인 표 A1:H11, 행 기준 SE-2026-003, 열 제목 ‘담당자’를 넣으면 4행 C열의 ‘박도윤’이 나와요. 이때 표 전체와 두 기준 범위가 모두 1행(머리글)에서 시작해야 번호가 어긋나지 않아요.
| 탭 | 만드는 수식 모양 | 결과 |
|---|---|---|
| 왼쪽·일반 찾기 | INDEX(가져올 열, MATCH(값, 찾을 열, 0)) | 값 하나 |
| 가로·세로 찾기 | INDEX(표, MATCH(행), MATCH(열)) | 표 안의 칸 하나 |
| 여러 조건 | INDEX(가져올 열, MATCH(1, INDEX(조건1*조건2, 0), 0)) | 첫 번째로 맞는 행 |
주의할 점
- $ 고정은 내가 적은 그대로 — 이 도구는 입력한 범위를 대문자로만 바꾸고 $를 따로 붙이지 않아요. 기본값처럼 $H$2:$H$11로 적어 두어야 아래 행으로 수식을 끌어 복사해도 범위가 한 칸씩 밀려 내려가지 않아요.
- SUMIFS 카드와 결과가 다를 수 있어요 — 기본 예시에서 서울·노트북 행은 두 개예요. INDEX·MATCH는 첫 행의 2,400,000을, SUMIFS는 두 행을 더한 5,850,000을 돌려줘요. 맞는 행이 하나뿐일 때만 두 값이 같아요.
- 범위 크기 맞추기 — 조건 범위와 가져올 범위의 행 수가 다르면 위치 번호가 엉뚱한 칸을 가리켜요.
- 값 입력 규칙 — 찾을 값 칸에 셀 주소나 숫자가 아닌 글자를 적으면 도구가 큰따옴표를 붙여요. 다른 셀 값을 기준으로 쓰려면 K1처럼 주소를 적으세요.
더 궁금한 점
조건을 세 개로 늘릴 수 있나요?
도구 칸은 두 쌍이지만, 만들어진 수식의 (조건1)*(조건2) 뒤에 *(범위3="값3")을 이어 붙이면 세 조건 모두 맞는 행을 찾아요.
엑셀 365에 있는 XMATCH와는 무엇이 다른가요?
XMATCH는 MATCH와 같은 일을 하되 기본이 정확히 일치이고 뒤에서부터 찾기도 돼요. 대신 엑셀 2021·365에서만 돌아가서, 여러 버전이 섞인 사무실이라면 이 도구가 만드는 MATCH 수식이 더 안전해요.
가로·세로 찾기에서 #N/A가 나와요.
열 제목 칸에 적은 글자가 제목 행과 정확히 같은지 봐 주세요. ‘담당자 ’처럼 끝에 공백이 하나만 있어도 MATCH는 다른 값으로 봐요.
INDEX와 MATCH를 합치면
MATCH(찾을 값, 범위, 0)은 범위에서 찾을 값이 몇 번째에 있는지 숫자로 알려 줘요. INDEX(범위, n)은 범위의 n번째 값을 꺼내요. 그래서 =INDEX(가져올 열, MATCH(찾을 값, 찾을 열, 0))은 ‘찾을 열에서 값의 위치를 찾고, 가져올 열의 같은 위치 값을 꺼내라’는 뜻이 돼요.
VLOOKUP 대신 쓰는 이유
- 왼쪽 열도 가져와요 — VLOOKUP은 찾는 열이 표의 맨 왼쪽이어야 하지만 INDEX·MATCH는 위치와 상관없어요.
- 열을 넣거나 지워도 안전 — 열 번호(3, 4…)를 쓰지 않으니 표 구조가 바뀌어도 결과가 그대로예요.
- 모든 버전에서 동작 — XLOOKUP이 없는 엑셀 2016·2019와 구글 시트, 리브레오피스에서도 써요.
가로·세로 찾기
INDEX에 행 번호와 열 번호를 모두 주면 표 한가운데 값을 꺼낼 수 있어요. 행 번호는 세로 기준 열에서, 열 번호는 제목 행에서 MATCH로 각각 찾아요. 월별·지점별 표에서 ‘3월 부산’ 값을 찾을 때 편해요.
여러 조건으로 찾기
(조건1)*(조건2)는 두 조건을 모두 만족하는 행만 1이 되는 배열이에요. 여기서 MATCH로 1의 위치를 찾으면 돼요. 가운데 INDEX(…,0)는 옛 엑셀에서도 Ctrl+Shift+Enter 없이 배열 계산을 하게 해 주는 장치예요. 찾을 값이 숫자이고 맞는 행이 하나뿐이라면 SUMIFS로도 같은 값을 얻을 수 있어요.
범위에는 $를 붙여 고정해 두면 아래로 수식을 복사해도 범위가 밀리지 않아요.
예제 파일에는 연습 데이터와 함께 만든 수식이 들어 있어요. 찾을 값을 바꿔 보며 결과가 어떻게 바뀌는지 확인하면 INDEX·MATCH의 원리를 금방 익힐 수 있어요.
자주 묻는 질문
MATCH의 마지막 0은 꼭 써야 하나요?
네. 0은 정확히 일치예요. 비우면 1(근사값)로 계산돼 정렬되지 않은 표에서 틀린 값을 가져와요.
#N/A가 나와요.
찾는 값이 범위에 없거나 공백·형식이 달라서예요. 앞뒤 공백은 TRIM으로, 숫자·텍스트 형식 차이는 숫자 텍스트 변환으로 맞추세요. 화면에 안 보이게 하려면 IFERROR로 감싸요.
같은 값이 여러 개면 어느 것을 가져오나요?
위에서부터 첫 번째 값을 가져와요. 마지막 값이 필요하면 =LOOKUP(2,1/(H2:H11=값),C2:C11) 방식이나 XLOOKUP의 검색 방향 -1을 쓰세요.