엑셀 INDEX
범위에서 행번호와 열번호로 셀 값을 꺼내는 좌표 조회 함수입니다. MATCH와 짝이면 VLOOKUP보다 강력합니다
INDEX 수식 구조
범위 (array)
값을 꺼낼 셀 범위. 1차원(한 줄)·2차원(표) 모두 가능. 다른 시트도 OK.
행번호 (row_num)
범위 안에서 몇 번째 행인지 (1부터 시작). 0이면 해당 열 전체를 배열로 반환.
열번호 (column_num) — 선택
범위 안에서 몇 번째 열인지. 범위가 1차원이면 생략 가능, 2차원이면 필수. 0이면 해당 행 전체.
직접 체험해보세요
행번호·열번호 슬라이더를 움직이면 교차점 셀이 강조되고 그 값이 결과로 반환됩니다
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 이름 | 부서 | 직급 | 연봉(만원) |
| 2 | 김철수 | 영업 | 과장 | 5,200 |
| 3 | 이영희 | 개발 | 대리 | 4,800 |
| 4 | 박민수 | 기획 | 차장 | 6,100 |
| 5 | 최유나 | 영업 | 사원 | 3,200 |
| 6 | 정한별 | 개발 | 부장 | 7,500 |
2행 × 1열 교차점 →
실전 활용 예제
=INDEX(A2:D6, MATCH("이영희", A2:A6, 0), 3)INDEX + MATCH 콤보. MATCH가 "이영희"의 행번호를 찾아주고 INDEX가 그 행의 3열(직급)을 꺼냅니다. VLOOKUP의 정통 대체.
=INDEX(B2:B6, 3)범위가 1차원(한 열)이면 열번호를 생략할 수 있습니다. B열의 3번째 값을 가져오는 가장 단순한 형태.
=SUM(INDEX(D2:D6, 0))행번호 0은 해당 범위의 전체 열을 배열로 반환합니다. SUM·AVERAGE 등 집계 함수와 결합하면 동적 범위 합산 패턴.
=SUM(D2:INDEX(D2:D100, COUNTA(D:D)-1))INDEX로 동적 범위 끝점을 만드는 패턴. D열에 데이터가 늘어나도 자동으로 합계 범위가 확장됩니다.
다른 엑셀 함수도 알아보세요
INDEX + MATCH — VLOOKUP을 대체하는 콤보
▼
INDEX 단독으로는 "몇 번째 행"을 미리 알아야 해서 한계가 있습니다. 행번호를 MATCH에게 찾게 하면 텍스트 검색이 가능해지고, VLOOKUP의 모든 단점을 극복합니다.
기본 패턴
=INDEX(반환범위, MATCH(찾을값, 검색범위, 0))MATCH가 행번호를 알려주면 INDEX가 그 위치의 값을 꺼내는 방식
VLOOKUP 대비 장점
- 왼쪽 조회 가능 — 검색 열이 반환 열 오른쪽에 있어도 OK
- 열 추가·삭제에 안전 — 열번호 하드코딩이 없어서 표 구조가 바뀌어도 깨지지 않음
- 대용량에서 빠름 — 한 열만 검색하면 되므로 큰 표에서 VLOOKUP보다 효율적
- 가로·세로 모두 가능 — VLOOKUP/HLOOKUP 구분 불필요
XLOOKUP이 등장한 이후 INDEX+MATCH 비중은 줄었지만, 구버전 엑셀이나 호환성이 필요한 환경에서는 여전히 표준 패턴입니다.
1차원 vs 2차원 INDEX
▼
범위 차원에 따라 인수 개수가 달라집니다.
1차원 — 한 행 또는 한 열
=INDEX(A2:A10, 3)A열에서 3번째 값. 열번호 인수 자체를 생략.
2차원 — 표
=INDEX(A2:D10, 3, 2)표의 3행 2열 셀. 두 인수 모두 필요.
0의 의미
=INDEX(A2:D10, 3, 0)3행의 모든 열을 배열로 반환. 동적 배열 기능과 결합 시 유용.
#REF! 오류 — 범위 밖 좌표
▼
INDEX의 가장 흔한 오류입니다. 행번호·열번호가 범위를 벗어나면 #REF!. 가장 자주 발생하는 경우:
- MATCH가 #N/A를 반환하고 그게 INDEX의 행번호로 들어감
- 음수나 0이 아닌 잘못된 값이 행/열 번호로 들어감 (예: COUNTA 계산 실수)
- 범위 크기보다 큰 행/열 번호 (5행짜리 범위에 6번째 행 요청)
해결 — IFERROR로 감싸기
=IFERROR(INDEX(B:B, MATCH(E1, A:A, 0)), "찾는 값 없음")MATCH가 못 찾았을 때 대체 문구 표시
자주 묻는 질문 (FAQ)
▼
Q. INDEX와 VLOOKUP 중 뭘 써야 하나요?
단순 조회면 VLOOKUP, 구조가 바뀌거나 왼쪽 조회가 필요하면 INDEX+MATCH. 엑셀 365·2021 이상이면 XLOOKUP이 두 패턴을 모두 대체합니다.
Q. INDEX는 값만 반환하나요?
수식 안에서는 값을 반환하지만 본질은 셀 참조입니다. 그래서 =SUM(A1:INDEX(A:A, 10))처럼 범위 끝점으로 쓸 수 있습니다.
Q. 다른 시트 범위도 가능한가요?
네. =INDEX(Sheet2!A2:D10, 3, 2)처럼 시트명을 지정하면 OK입니다.
Q. 구글 스프레드시트에서도 동일한가요?
네. INDEX는 같은 문법으로 동작합니다. MATCH와의 조합도 동일.