엑셀에서 가장 널리 쓰이는 검색 함수는 VLOOKUP입니다. 하지만 VLOOKUP은 검색 열이 반드시 왼쪽에 있어야 하고, 열 삽입 시 오류가 나는 단점이 있습니다. 이 문제를 해결하는 강력한 대안이 바로 INDEX와 MATCH 함수 조합입니다.
✅ INDEX 함수 기본
구문:
=INDEX(범위, 행 번호, [열 번호])
예시: B2:D10에서 3행 2열의 값을 가져오기
=INDEX(B2:D10, 3, 2)
✅ MATCH 함수 기본
구문:
=MATCH(찾을 값, 범위, [일치 유형])
예시: A2:A10에서 “A102″의 위치 찾기
=MATCH("A102", A2:A10, 0)
0은 정확히 일치하는 값을 의미합니다.
✅ INDEX + MATCH 조합
구문:
=INDEX(반환할 범위, MATCH(찾을 값, 기준 범위, 0))
예시: 사번으로 직원 이름 찾기
=INDEX(B2:B20, MATCH("E105", A2:A20, 0))
A열에서 “E105″의 위치를 MATCH로 찾고, 그 위치의 B열 값을 INDEX로 반환합니다.
✅ 실무 예제 1: 왼쪽 값 참조
상품명으로 코드 찾기 (VLOOKUP 불가능한 작업)
=INDEX(A2:A20, MATCH("프린터", B2:B20, 0))
✅ 실무 예제 2: 조건부 급여 조회
부서와 이름을 기준으로 급여 불러오기
=INDEX(D2:D50, MATCH(1, (B2:B50="영업")*(C2:C50="김철수"), 0))
배열 수식을 활용해 다중 조건 검색을 구현합니다.
✅ 실무 예제 3: 월별 매출 분석
선택한 월(G1 셀)에 해당하는 매출 불러오기
=INDEX(B2:M2, MATCH(G1, B1:M1, 0))
💡 TIP: INDEX + MATCH는 표의 구조가 변경돼도 안정적으로 작동합니다.
대용량 데이터에도 더 빠르게 처리할 수 있어 실무에서 선호됩니다.
📌 요약
- INDEX: 특정 위치의 값을 반환
- MATCH: 값의 위치를 찾아줌
- 조합 활용: VLOOKUP의 한계 극복
- 실무 적용: 왼쪽 참조, 다중 조건 검색, 대용량 안정 처리
🙋 자주 묻는 질문 (FAQ)
Q1. INDEX + MATCH가 VLOOKUP보다 좋은 이유는?
A. 왼쪽 참조 가능, 열 삽입 시 안전, 속도 우수 등 장점이 있습니다.
Q2. MATCH에서 1이나 -1은 무엇을 의미하나요?
A. 1은 근사치(오름차순), -1은 근사치(내림차순), 0은 정확히 일치입니다.
Q3. 다중 조건 검색은 어떻게 하나요?
A. 배열 수식으로 구현합니다: =INDEX(결과범위, MATCH(1, (조건1)*(조건2), 0))
Q4. INDEX MATCH가 안 될 때는?
A. 범위 길이가 서로 같은지, MATCH에서 정확히 일치를 사용했는지 확인하세요.
이제 INDEX & MATCH로 VLOOKUP의 한계를 극복해 보세요. 보고서의 정확성과 유연성이 훨씬 향상됩니다 🚀