• 최초 작성일: 1999-10-01
  • 최종 수정일: 2026-09-29
  • 조회수: 28 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: INDEX 함수와 MATCH 함수

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

본 강좌를 보시는 분들 중에 '어? 재미있는 기능이네'하면서 계속 따라오시는 분도 있고 '처음에는 쉬운 것 같더니 날이 갈수록 어려워지네'하면서 이미 포기하셨거나 중단하려고 준비(?)하시는 분도 있는 것 같습니다.

무슨 일이든 일단 흥미를 갖는다는 것은 반은 성공하고 들어가는 것이니까 재미가 느껴지면 계속하시기 바랍니다.

우리가 눈사람 만들 때를 가만히 생각해 보세요. 눈을 뭉칠 때도 처음에는 잘 안 뭉쳐지다가 어느 시점이 지나면 기하급수적으로 불어나지요?

컴퓨터를 배우는 것도 마찬가지 이치가 아닌가 생각합니다. 어느 정도 지식이 축적될 때까지는 힘이 들지요. 이 고비를 잘 넘겨야 큰 눈덩이를 만들 수 있을 것입니다.

해보지도 않고 '나는 안돼. 컴퓨터란 물건은 내 적성에 안맞아'하고 탄식하지 마시고 고비를 넘으려고 적극적으로 도전해 보시기 바랍니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

INDEX 함수와 MATCH 함수

핵심 요약

  • INDEX 함수는 지정한 범위에서 몇 번째 위치의 값을 반환합니다.
  • MATCH 함수는 찾는 값이 범위에서 몇 번째 위치에 있는지 알려줍니다.
  • INDEX와 MATCH를 조합하면 기준값의 위치를 찾은 뒤 대응하는 값을 반환해 VLOOKUP과 비슷한 조회를 구현할 수 있습니다.

이번 시간에는 오래간만에 유용한 함수 몇가지에 대해 알아보겠습니다.

먼저, index 함수에 대해서…

지점명
강동
강서
강남
강북
영동
영서
부산
대구
대전
광주
제주
영서 =INDEX(B30:B40,6)

INDEX(B30:B40,6) 라고 하게 되면 "영서"를 나타냅니다. 즉 위에서와 같이 index 함수는 "어느 배열(범위)에서 몇번째의 위치에 있는 것은 무엇인가"를 구해주는 함수입니다.

참고: 원문에서는 지점명 목록의 일부(영동~제주)가 표 밖에 흩어져 있고 수식 결과와 설명이 표 안에 함께 있었습니다. 지점명 11개(B30:B40)를 하나의 목록으로 합치고 결과와 설명을 분리해 다시 배치했습니다.

그 다음, match 함수. Match함수는 Index 함수와 짝을 이루어 많이 사용되는 함수입니다.

이것은 어떤 정보가 몇 번째에 위치해 있는가를 구해주는 함수입니다. 즉, index 함수와 단짝이면서도 정반대 역할을 수행하는 함수라고 할 수 있습니다.

지점명 목표
강동 100
강서 110
강남 105
강북 120
영동 110
영서 130
부산 120
대구 110
대전 100
광주 95
제주 50

위와 같은 표에서 강북의 목표는 얼마인가를 구하려면 어떻게 해야 할까요?

=INDEX(C48:C58,MATCH("영서",B48:B58,0))

결과값은 130입니다.

Index 함수와 Match 함수를 위와 같이 조합해서 쓰시면 되겠지요? 이 때 주의하실 점은 index 함수와 match 함수의 요소 배열이 정반대라는 점!

참고: 질문은 강북의 목표를 구하는 것이지만 수식은 영서를 찾고 있어 결과가 영서의 목표인 130으로 나옵니다(표에서 강북의 목표는 120). 원문 그대로 두었으며, 강북을 구하려면 수식의 영서를 강북으로 바꾸면 됩니다.

Index 함수와 Match 함수의 조합을 보니 뭐 느껴지는 것 없으십니까?

눈썰미가 있으신 분은 짐작하셨을지 모르겠는데... 바로 Vlookup 함수와 같은 기능을 수행하고 있지요?

많이 응용해 보시기 바랍니다.

오늘은 여기까지…

정리 — INDEX 함수와 MATCH 함수

구분내용
INDEX어느 배열(범위)에서 몇 번째 위치에 있는 값이 무엇인지 구함
INDEX 예=INDEX(B30:B40,6)의 결과는 영서
MATCH어떤 정보가 몇 번째에 위치해 있는지 구함
관계INDEX와 MATCH는 짝을 이루면서 정반대 역할을 하는 함수
조합=INDEX(C48:C58,MATCH("영서",B48:B58,0))
활용VLOOKUP 함수와 같은 기능을 수행

자주 묻는 질문 (FAQ)

Q1. INDEX 함수는 무엇을 구하나요?

어느 배열(범위)에서 몇 번째 위치에 있는 것이 무엇인지를 구해 줍니다.

Q2. MATCH 함수는 무엇을 구하나요?

찾는 정보가 범위에서 몇 번째에 위치해 있는지를 구해 주며, INDEX 함수와는 정반대 역할을 합니다.

Q3. 두 함수를 조합하면 무엇을 할 수 있나요?

MATCH로 위치를 찾고 그 위치를 INDEX에 넘기면 VLOOKUP 함수와 같은 기능을 수행할 수 있습니다.

마치며

VLOOKUP이 불편할 때는 INDEX와 MATCH 조합을 응용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.