엑셀 INDEX 함수는 배열이나 범위에서 특정 위치의 값을 반환하는 함수입니다.
=INDEX(범위, 행번호, [열번호], [배열번호])
- 참조형으로 사용할 경우 여러 개의 범위를 지정할 수 있습니다.
- 행 번호는 1부터 시작합니다.
- 0 으로 입력할 경우, 모든 행을 반환합니다.
- 생략 시, 첫번째 열을 출력합니다.
- 0 으로 입력할 경우, 모든 열을 반환합니다.
참조형 INDEX 함수에서만 사용되며, 여러 범위를 지정했을 때 어떤 범위를 사용할지 결정합니다.
엑셀 INDEX 함수는 배열이나 범위에서 특정 위치의 값을 찾아 반환하는 함수입니다.
=INDEX(범위,1,2)/ / 범위에서 1행, 2열에 있는 값을 반환합니다.
이 함수는 단순히 특정 위치의 값을 가져오는 것 뿐만 아니라, 행/열 번호를 0으로 입력하여 전체 행 또는 열을 반환할 수 있습니다.
=INDEX(A1:C3,2,3)/ / 범위에서 2행, 3열에 있는 값, "B3"셀의 값을 출력합니다. =INDEX(A1:C3,2,0)/ / 범위의 2행 모든 데이터, "A2:C2"를 배열로 출력합니다.
또한 INDEX 함수는 MATCH 함수와 함께 사용하여, VLOOKUP 함수만으로는 구현이 불가능한 여러 고급 검색 공식에 사용됩니다. INDEX/MATCH 공식의 기초 동작 원리는 아래 영상 강의에서 자세히 정리했으니 참고하세요!👇
INDEX 와 MATCH 함수를 조합하면 VLOOKUP 함수보다 유연하게 데이터를 검색할 수 있습니다. VLOOKUP 함수만으로는 구현이 불가능한 '왼쪽 방향 검색' 및 '다중 조건 검색'등 다양한 공식에 활용할 수 있는데요. 그 중 기초 공식의 사용법을 알아보겠습니다.
먼저 MATCH 함수를 알아보겠습니다. MATCH 함수는 범위에서 특정 값이 위치한 순번을 반환합니다.
/ / 범위 : {사과,귤,포도,배,복숭아} =MATCH("배",범위,0)/ / 배의 순번인 '4'를 반환합니다.
이후 INDEX 함수를 활용하면, 출력 범위에서 n 번째 위치한 값을 출력할 수 있습니다.
/ / 출력범위 : {100,200,300,400,500} =INDEX(출력범위,MATCH("배",범위,0))/ / MATCH 함수로 배의 순번이 반환됩니다. =INDEX(출력범위,4)/ / 출력범위에서 4번째 값을 출력합니다. =400
자주 사용되진 않지만, 참조형으로 INDEX 함수를 사용할 경우 첫번째 인수인 array 여러개의 범위를 묶어서 입력할 수 있습니다.
=INDEX(범위, 행번호, [열번호], [배열번호])
- 참조형 INDEX 함수에서는 여러개의 범위를 묶어서 입력 가능합니다. 예를 들어 =INDEX((A1:B4, A8:C10),3,4,2)로 입력할 경우 [A1:B4]는 첫번째 범위, [A8:C10]은 두번째 범위로 반환됩니다.
- 행번호와 열번호인수를 모두 사용하면 각 행과 열이 교차하는 셀의 값을 반환합니다.
- 선택된 배열에서 벗어나는 행/열번호를 입력할 경우 #REF 오류를 반환합니다.
- 만약 행번호와 열번호를 생략하면, 배열번호로 지정한 범위의 전체영역이 반환됩니다.
행 번호나 열 번호를 '0'으로 지정하면 범위의 전체 열과 행을 반환합니다.
INDEX 함수에서 행 번호나 열 번호가 범위를 벗어날 경우, #REF! 오류를 반환합니다.
INDEX 함수로 반환된 범위는 는 다른 함수의 인수로 사용할 수 있습니다.
예를 들어, =SUM(INDEX(A1:C3,2,0)) 은 A2:C2 범위의 합계를 계산합니다.
(2019 이전 버전에서는 Ctrl + Shift + Enter로 입력합니다.)