본문 바로가기

공부 합시다!/일 잘하는 비결, 엑셀로 능률 높이기

엑셀_INDEX 함수로 정확한 위치의 값 가져오기

728x90
반응형

엑셀_INDEX 함수로 정확한 위치의 값 가져오기

엑셀에서 데이터를 찾는 대표적인 함수는 VLOOKUP과 HLOOKUP입니다.
하지만 이 함수들은 기준이 항상 왼쪽이나 위에 있어야 한다는 제약이 있습니다.
INDEX 함수는 이런 제약 없이
지정한 행과 열 번호에 있는 값을 자유롭게 가져올 수 있는 강력한 함수입니다.

이번 포스트에서는 INDEX 함수의 개념부터 실무 예제까지 차근차근 설명해드리겠습니다.


| INDEX 함수란?

INDEX 함수는 지정한 셀 범위에서
특정 행(Row)과 열(Column)의 교차 지점에 있는 값을 반환하는 함수입니다.

📌 기본 문법

=INDEX(array, row_num, [column_num])
  • array: 데이터 범위
  • row_num: 가져올 행 번호 (1부터 시작)
  • column_num: 가져올 열 번호 (생략 시 1로 간주)

| 예제 1: 단일 열에서 값 찾기

  A
1 사원명
2 김철수
3 이지은
4 박지민
=INDEX(A2:A4, 2)

→ 결과: 이지은

A2:A4 범위에서 두 번째 값인 ‘이지은’을 가져옵니다.


| 예제 2: 표 형태(2차원 배열)에서 값 찾기

  A B
1 사번 이름
2 1001 김철수
3 1002 이지은
4 1003 박지민
=INDEX(A2:B4, 3, 2)

→ 결과: 박지민

  • 행 3 = A4:B4
  • 열 2 = B열 (이름)

즉, A2:B4의 3행 2열 교차 셀은 '박지민'입니다.


| 예제 3: 행 번호만으로 값 찾기 (열이 하나일 경우)

  A
1 점수
2 80
3 95
4 70
=INDEX(A2:A4, 1)

→ 결과: 80


| 예제 4: 열 번호만으로 값 찾기 (행이 하나일 경우)

  A B C
1 국어 수학 영어
2 85 90 78
=INDEX(A2:C2, 3)

→ 결과: 78

세 번째 열 = 영어 점수


| 예제 5: 셀 참조를 이용한 동적 위치 찾기

  A B C
1 사번 이름 부서
2 1001 김철수 인사팀
3 1002 이지은 마케팅팀
4 1003 박지민 총무팀
 
  • 행 번호: MATCH(1002, A2:A4, 0) → 2
  • 열 번호: 3 (부서)
 
=INDEX(A2:C4, MATCH(1002, A2:A4, 0), 3)

→ 결과: 마케팅팀


| 예제 6: INDEX로 행 전체 또는 열 전체 반환

INDEX는 단일 셀뿐 아니라 전체 행 또는 열도 반환할 수 있습니다.

예: 두 번째 행 전체 가져오기

=INDEX(A2:C4, 2, 0)

→ 결과: {1002, 이지은, 마케팅팀}

열 번호에 0을 넣으면 해당 행 전체가 배열로 반환됩니다.
(단, 배열 수식 또는 동적 배열 지원 버전 필요)


| 실무 활용 예시

  • 제품 코드로 단가나 설명 조회
  • 고객명으로 주소, 연락처 조회
  • 통합 데이터에서 특정 위치 값 빠르게 참조
  • MATCH 함수와 함께 사용해 VLOOKUP을 대체
  • 왼쪽에 있는 값을 찾아야 할 때 유일한 해결책!

| INDEX vs VLOOKUP

항목 INDEX + MATCH VLOOKUP
유연성 매우 높음 (왼쪽 열 참조 가능) 낮음 (왼쪽 열 참조 불가)
속도 빠름 느림 (데이터 많을수록 차이 큼)
유지보수성 열 번호 동적 처리 가능 고정된 열 번호 필요
정렬 필요 여부 불필요 유사값 찾기(TRUE) 시 정렬 필요
 

 


| 함께 알면 좋은 함수

함수 설명
MATCH 특정 값의 위치(행 또는 열 번호) 찾기
IFERROR 오류 발생 시 대체값 반환
CHOOSE 선택 인덱스 기반 다중 값 반환
XLOOKUP INDEX + MATCH의 업그레이드 버전 (신버전)
728x90