엑셀 INDEX MATCH 함수|VLOOKUP이 못 하는 걸 하는 조합

2026-10-30 업데이트 · 편집부 · 읽는 시간 약 2분

INDEX MATCH는 두 함수를 조합해 VLOOKUP의 한계를 넘는 방법입니다. 지금은 XLOOKUP이 같은 일을 더 쉽게 하지만, 구버전 엑셀을 쓰거나 회사 파일을 다뤄야 한다면 알아 둘 가치가 있습니다.

두 함수를 먼저 따로 보기

MATCH — 찾는 값이 몇 번째에 있는지 알려줍니다.

“ =MATCH("서울", B2:B100, 0) “

B열에서 “서울”이 7번째 행에 있으면 7을 돌려줍니다. 마지막 0은 정확히 일치를 뜻하며, VLOOKUP의 FALSE와 같은 역할입니다.

INDEX — 범위에서 몇 번째 값을 꺼냅니다.

“ =INDEX(C2:C100, 7) “

C열의 7번째 값을 가져옵니다.

둘을 합치면

“ =INDEX(C2:C100, MATCH(A2, B2:B100, 0)) “

“B열에서 A2를 찾아 그 위치의 C열 값을 가져와라”가 됩니다. MATCH가 위치를 찾고, INDEX가 그 위치의 값을 꺼내는 구조입니다.

VLOOKUP과 뭐가 다른가

항목VLOOKUPINDEX MATCH
찾을 값 위치맨 왼쪽이어야 함어디든 가능
가져올 열번호로 지정범위로 직접 지정
열 추가 시번호가 밀려 깨짐안 깨짐
수식 길이짧음조금 김
계산 속도느린 편빠른 편

왼쪽 값을 가져올 수 있다는 게 가장 큰 차이입니다. 코드가 C열에 있고 이름이 A열에 있어도 문제없습니다.

두 조건으로 찾기

조건 두 개를 & 로 이어 붙이면 됩니다.

“ =INDEX(D2:D100, MATCH(A2&B2, B2:B100&C2:C100, 0)) “

구버전에서는 입력 후 Ctrl + Shift + Enter 를 눌러야 동작합니다. 최신 버전은 그냥 Enter 로 됩니다.

어느 걸 써야 하나

체크리스트

자주 묻는 질문

MATCH의 마지막 0은 뭔가요?
정확히 일치하는 값만 찾으라는 뜻입니다. 생략하면 근사치로 찾아 엉뚱한 결과가 나옵니다.
#N/A가 뜹니다.
MATCH가 값을 못 찾은 경우입니다. 공백이나 서식 불일치를 먼저 확인하세요.
#REF! 가 뜹니다.
INDEX의 범위보다 큰 위치를 요청한 경우입니다. 두 범위의 행 개수가 같은지 확인하세요.
가로 방향으로 찾을 수 있나요?
가능합니다. MATCH의 범위를 행 방향으로 잡고 INDEX도 같은 방향으로 쓰면 됩니다.
VLOOKUP보다 정말 빠른가요?
큰 표에서는 차이가 납니다. 다만 수백 행 수준이면 체감 차이는 거의 없습니다.

다음으로 읽어볼 글

읽던 맥락을 이어서 볼 수 있게 골랐습니다.