엑셀 INDEX 함수 사용법 및 응용공식
요약
엑셀 INDEX 함수는 범위에서 몇 번째에 위치하는 값을 출력하는 함수입니다. (또는 상황에 따라 셀 참조를 반환할 수도 있습니다.)
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀함수] 엑셀 INDEX 함수 사용법예제파일
사용예제

엑셀 INDEX 함수 상세설명
구문
= INDEX ( 배열/범위, 행번호, [열번호], [배열번호] )
인수
인수 | 설명 |
배열/범위 | 값을 출력할 배열이나 범위입니다. 오빠두Tip : 자주 사용하진 않지만, 참조형으로 사용할 경우 여러개의 범위를 지정할 수 있습니다. |
행번호 | 출력할 값의 가로방향 순번입니다. 오빠두Tip : 범위가 1줄로 길게 입력된 경우에는 세로방향 순번으로 사용됩니다. |
열번호 [선택 인수] |
출력할 값의 세로방향 순번입니다. |
배열번호 [선택 인수] |
(여러개 범위를 입력했을 시) 값을 출력할 배열 또는 범위 순번입니다. |
반환값
- 배열형 : 참조 범위에서 지정한 행/열번호에 위치한 셀의 값을 반환합니다.
- 참조형 : 지정한 위치의 셀주소(A1, B3, A1:B2, 등)을 반환합니다.
고급 사용 예제
INDEX함수의 결과값으로는 전체 행이나 열을 반환 할 수도 있습니다. 이를 응용하면 다양한 고급 공식을 작성할 수도 있는데요. 특히 엑셀 대표함수인 VLOOKUP 함수를 다양한 형태로 구현할 수 있습니다. INDEX 함수를 활용한 다양한 고급 공식은 아래 링크를 확인해주세요.
자주묻는 질문
Q. INDEX / MATCH 함수는 어떻게 사용하나요?
INDEX/MATCH 함수를 이용하면 VLOOKUP 함수를 효율적으로 대체할 수 있을뿐만 아니라, 다중조건 VLOOKUP, VLOOKUP 다중값 찾기 등 다양한 방법으로 응용할 수 있습니다. 간단한 INDEX/MATCH 함수의 기초 사용법을 알아보겠습니다.
= INDEX($A1:$D10, 5, 4)
'// A1:D10의 범위에서 5번째 행과 4번째 열에 위치하는 셀의 값을 출력합니다.
'// 예제 파일의 4번째 열에는 가격에 대한 정보가 들어있습니다.
이제 MATCH 함수를 알아봅니다.
= MATCH("오늘의 커피", $C1:$C10)
'// C1:C10 의 범위에서 "오늘의 커피"가 위치한 번호를 반환합니다.
MATCH 함수의 결과값은 INDEX 함수의 행번호로 입력됩니다. 즉, MATCH 함수에 조건(예: "오늘의 커피")을 입력하면, 해당 조건이 몇번째에 위치하는지 반환하게 되고, 그 값이 INDEX 함수의 행번호로 입력됩니다.
=INDEX($A1:$D10, MATCH("오늘의 커피", $C1:$C10), 4)
'// MATCH 함수를 통해 C1:C10에서 "오늘의 커피"가 위치하는 번호를 받아옵니다.
'// 그 값이 INDEX함수의 행번호로 입력되면서, INDEX 함수에서는 "오늘의 커피"가 있는 행의 가격(4번째 열)을 출력하게 됩니다.
따라서 "오늘의커피" 라는 조건이 바뀌면, INDEX함수에 입력되는 행번호가 같이 변하게 됩니다. 이 원리는 아주 기초적인 내용이며, 이외에도 다양한 INDEX/MATCH 응용공식을 활용할 수 있습니다.
다른 주의사항
엑셀 INDEX 함수는 MATCH 함수와 함께 VLOOKUP 함수를 대체하는MATCH/INDEX 공식, 또는 INDEX 함수 동적범위를 목적으로 주로 사용됩니다. INDEX 함수에는 배열형/참조형이 있지만, 실무에서는 대부분 '배열형' 형식으로 사용합니다.
INDEX 함수 - 배열형
= INDEX ( array, row_num, [column_num] )
배열형으로 INDEX 함수를 사용할 경우, 첫번째 인수인 array 는 '배열' 형식으로 입력됩니다. 즉 범위를 입력하더라도 각 셀의 값이 배열로 반환되어 입력됩니다.
- 배열에 행이나 열이 하나만 있을 경우 row_num 또는 column_num 을 생략 할 수 있습니다.
- 만약 배열에 행과 열이 두 개 이상 있을시, row_num 또는 column_num 중 하나만 사용하면 배열의 전체 행이나 전체 열을 반환합니다.
- row_num와 column_num 인수를 모두 사용하면 각 행과 열이 교차하는 셀의 값을 반환합니다.
- 선택된 배열에서 벗어나는 row_num와 column_num을 입력할 경우 #REF 오류를 반환합니다.
INDEX 함수 - 참조형
=INDEX( array, row_num, [column_num], [area_num] )
참조형으로 INDEX 함수를 사용할 경우, 첫번째 인수인 array는 '참조범위'로 입력됩니다. 즉 각각의 범위가 셀 주소 형식으로 입력됩니다.
- 참조형 INDEX 함수에서는 여러개의 범위를 묶어서 입력 가능합니다. 예를 들어 =INDEX((A1:B4, A8:C10),3,4,2)로 입력할 경우 [A1:B4]는 첫번째 범위, [A8:C10]은 두번째 범위로 반환됩니다.
- row_num와 column_num 인수를 모두 사용하면 각 행과 열이 교차하는 셀의 값을 반환합니다.
- 선택된 배열에서 벗어나는 row_num와 column_num을 입력할 경우 #REF 오류를 반환합니다.
- 만약 row_num와 column_num가 생략되면, area_num로 지정된 참조범위의 전체영역이 반환됩니다.
- 참조형 INDEX 함수의 결과값은 다른 수식의 참조범위로 입력될 수 있습니다. 예를 들어 =SUM(INDEX(A1:B4,0,0)) 의 경우 [A1:B4] 범위의 전체 합계를 구합니다.