구글 스프레드시트 INDEX MATCH 함수
INDEX MATCH는 VLOOKUP과 HLOOKUP을 대체할 수 있는 더 강력하고 유연한 검색 함수 조합입니다.
특히 VLOOKUP보다 빠르고, 열 순서 변경에도 안전하며, 왼쪽 방향 검색이 가능합니다.
1. INDEX와 MATCH 함수 개념
(1) INDEX 함수 → 특정 위치의 값을 가져옴
=INDEX(범위, 행번호, [열번호])
- 범위 → 검색할 데이터 범위
- 행번호 → 반환할 행 번호
- 열번호(선택) → 반환할 열 번호
🔹 예제:
A
|
B
|
사과
|
100
|
바나나
|
200
|
체리
|
300
|
=INDEX(B1:B3, 2) → 200
👉 B1:B3 범위에서 2번째 행 값(200) 반환
(2) MATCH 함수 → 특정 값의 위치(행번호) 찾기
=MATCH(찾을값, 범위, [검색방법])
- 찾을값 → 검색할 값
- 범위 → 검색할 범위
- 검색방법
- 1 → 오름차순 정렬된 데이터에서 근사값 찾기
- 0 → 정확히 일치하는 값 찾기
- -1 → 내림차순 정렬된 데이터에서 근사값 찾기
🔹 예제:
=MATCH(200, B1:B3, 0) → 2
👉 B1:B3 범위에서 200이 있는 행 위치 반환 (2번째 행)
2. INDEX MATCH 조합 → VLOOKUP 대체
✅ (3) 특정 값 검색 (VLOOKUP 대체)
=INDEX(B1:B3, MATCH("바나나", A1:A3, 0))
👉 A열에서 '바나나'가 있는 행을 찾고, 그 행의 B열 값(200)을 반환
✔ 장점:
- VLOOKUP과 달리 검색 범위의 왼쪽 값도 조회 가능
- 열이 추가되거나 순서가 변경돼도 깨지지 않음
3. INDEX MATCH 응용
✅ (4) 왼쪽 방향 검색 (VLOOKUP 불가능)
A
|
B
|
100
|
사과
|
200
|
바나나
|
300
|
체리
|
=INDEX(A1:A3, MATCH("바나나", B1:B3, 0))
👉 B열에서 "바나나"를 찾고, 해당 행의 A열 값(200) 반환
(VLOOKUP은 왼쪽 검색이 불가능하지만, INDEX MATCH는 가능!)
✅ (5) 여러 조건 검색 (INDEX MATCH + ARRAYFORMULA)
=INDEX(C2:C10, MATCH(1, (A2:A10="서울") * (B2:B10="사과"), 0))
👉 A열이 '서울'이고 B열이 '사과'인 행의 C열 값 반환
(VLOOKUP은 여러 조건 검색이 불가능하지만, INDEX MATCH는 가능!)
✅ (6) 가장 가까운 값 찾기 (0 대신 1 또는 -1)
=INDEX(B1:B10, MATCH(250, A1:A10, 1))
👉 A열에서 250보다 작거나 같은 가장 가까운 값의 B열 값 반환
(데이터는 오름차순 정렬되어 있어야 함!)
4. INDEX MATCH vs. VLOOKUP 비교
기능
|
INDEX MATCH
|
VLOOKUP
|
검색 방향
|
왼쪽 & 오른쪽 가능
|
오른쪽만 가능
|
열 변경 시 영향
|
✅ 안전
|
❌ 깨짐
|
속도
|
✅ 더 빠름 (특히 큰 데이터에서)
|
느릴 수 있음
|
다중 조건 검색
|
✅ 가능
|
❌ 불가능
|
근사값 검색
|
✅ 가능
|
✅ 가능
|
✔ INDEX MATCH는 VLOOKUP보다 훨씬 유연하고 강력하므로 추천!
📌 결론
✅ INDEX MATCH는 VLOOKUP보다 빠르고 강력한 검색 방법
✅ 왼쪽 방향 검색 가능, 열 추가·변경에도 깨지지 않음
✅ 대량 데이터 처리 시 성능 우수
✅ MATCH로 행을 찾고 INDEX로 데이터를 가져오는 방식