컴퓨터 활용 공간/엑셀(Excel)

VLOOKUP vs INDEX-MATCH: 언제 무엇을 써야 하는가? 완전 비교 가이드

사무쟁이 2026. 5. 8. 00:34
반응형
VLOOKUP vs INDEX-MATCH: 언제 무엇을 써야 하는가? 완전 비교 가이드

엑셀VLOOKUPINDEX-MATCH함수

VLOOKUP vs INDEX-MATCH: 언제 무엇을 써야 하는가? 완전 비교 가이드

엑셀에서 데이터를 조회하는 가장 대표적인 두 방법인 VLOOKUPINDEX-MATCH. 초보자는 VLOOKUP을, 고급 사용자는 INDEX-MATCH를 선호합니다. 이 글에서는 두 함수의 정확한 작동 원리와 각각 어떤 상황에서 어느 것이 더 적합한지를 명확하게 설명합니다.

1. VLOOKUP 기본 이해

구문

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
인수설명예시
lookup_value찾을 값A2 (사원번호)
table_array검색할 범위 (첫 열에서 검색)$B$2:$E$100
col_index_num반환할 열 번호 (범위 내 순서)3 (3번째 열 반환)
range_lookupFALSE = 정확히 일치, TRUE = 근사값FALSE

실제 사용 예시

' 사원번호로 부서명 찾기 =VLOOKUP(A2, $직원DB!$A:$D, 3, FALSE) ' 제품코드로 단가 찾기 =VLOOKUP(B5, $가격표!$A:$C, 2, FALSE)

VLOOKUP의 치명적 한계

  • 왼쪽 방향 조회 불가: 항상 범위의 첫 열에서만 검색하고, 오른쪽으로만 값을 반환
  • 열 삽입 시 오류: 중간에 열을 추가하면 col_index_num을 수동으로 수정해야 함
  • 속도: 대용량 데이터에서 INDEX-MATCH보다 느림
  • 중복 처리: 첫 번째 일치값만 반환

2. INDEX-MATCH 기본 이해

INDEX 함수

=INDEX(array, row_num, [col_num]) ' 지정한 배열에서 행·열 번호에 해당하는 값 반환

MATCH 함수

=MATCH(lookup_value, lookup_array, [match_type]) ' 지정한 값의 상대적 위치(행 번호)를 반환 ' match_type: 0 = 정확히 일치, 1 = 작거나 같음, -1 = 크거나 같음

INDEX-MATCH 조합 사용법

=INDEX(반환범위, MATCH(찾을값, 검색범위, 0)) ' 실제 예시: 사원번호로 부서명 조회 (부서명이 사원번호 왼쪽에 있어도 가능) =INDEX($B$2:$B$100, MATCH(A2, $C$2:$C$100, 0)) ' 제품명으로 단가 조회 =INDEX($D$2:$D$500, MATCH(B5, $A$2:$A$500, 0))

3. 핵심 차이점 비교

항목VLOOKUPINDEX-MATCH
검색 방향왼쪽→오른쪽만 가능좌우 모든 방향 가능
열 삽입 영향col_index 수동 수정 필요범위 자동 조정
속도 (대용량)상대적으로 느림더 빠름
가독성단순, 직관적복잡하지만 강력
2차원 조회불가가능 (INDEX + MATCH×2)
오류 가능성열 이동 시 높음낮음
배열 활용제한적유연하게 활용 가능

4. INDEX-MATCH가 반드시 필요한 상황

상황 1: 왼쪽 방향 조회

' 직원명(C열)으로 사원번호(A열) 찾기 — VLOOKUP 불가 =INDEX($A$2:$A$100, MATCH("홍길동", $C$2:$C$100, 0))

상황 2: 2차원 조회 (행·열 모두 동적 검색)

' 지역(행)과 월(열)이 교차하는 값 찾기 =INDEX($B$2:$M$13, MATCH("서울", $A$2:$A$13, 0), MATCH("5월", $B$1:$M$1, 0))

상황 3: 대용량 데이터 (10만 행 이상)

VLOOKUP은 찾을 때 표의 처음부터 끝까지 스캔하지만, MATCH는 이진 검색을 사용합니다 (정렬된 경우). 대용량 데이터에서 수백 개의 수식이 있다면 체감 속도 차이가 납니다.

5. XLOOKUP: 최신 대안 (Excel 2021 이상)

Microsoft는 2021년 XLOOKUP을 출시했습니다. VLOOKUP의 단점을 모두 해결한 현대적 함수입니다.

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) ' 기본 사용 예시 =XLOOKUP(A2, $직원DB!$C:$C, $직원DB!$A:$A) ' → C열(직원명)로 A열(사원번호)을 찾음 — 왼쪽 방향 조회 가능!
기능VLOOKUPINDEX-MATCHXLOOKUP
왼쪽 조회불가가능가능
기본 오류 처리IFERROR 별도IFERROR 별도내장 (if_not_found)
복수 열 반환1열만1열만여러 열 동시 반환
역방향 검색불가가능내장 (search_mode)
호환성모든 버전모든 버전Excel 2021 이상만

6. 실무 선택 가이드

상황추천 함수
간단한 우측 조회, Excel 구버전 호환 필요VLOOKUP
왼쪽 조회 필요, 열 구조가 자주 바뀜INDEX-MATCH
2차원 조회 (행·열 모두 검색)INDEX-MATCH
대용량 데이터 처리INDEX-MATCH
Excel 2021 이상 환경XLOOKUP (권장)
초보자, 단순 업무VLOOKUP

오류 처리 방법 비교

' VLOOKUP 오류 처리 =IFERROR(VLOOKUP(A2, $B:$D, 2, FALSE), "데이터 없음") ' INDEX-MATCH 오류 처리 =IFERROR(INDEX($D:$D, MATCH(A2, $B:$B, 0)), "데이터 없음") ' XLOOKUP (오류 처리 내장) =XLOOKUP(A2, $B:$B, $D:$D, "데이터 없음")
💡 성능 최적화 팁:
  • 범위를 테이블(Ctrl+T)로 변환하면 데이터가 늘어나도 수식이 자동 확장됩니다
  • VLOOKUP/INDEX-MATCH 범위는 전체 열($A:$A) 대신 정확한 범위($A$1:$A$1000)를 지정하면 더 빠릅니다
  • 같은 데이터를 여러 번 조회할 때는 결과를 한 번만 계산 후 값으로 붙여넣기(Ctrl+Shift+V)를 활용하세요
핵심 정리
  • VLOOKUP: 간단·직관적, 오른쪽 방향만 가능, 구버전 호환
  • INDEX-MATCH: 유연·강력, 모든 방향 가능, 대용량에 유리
  • XLOOKUP: 2021 이상에서 두 함수의 장점 통합 + 추가 기능
  • 2차원 조회 → INDEX-MATCH × 2 조합
  • 왼쪽 조회, 열 삽입이 잦은 환경 → INDEX-MATCH 또는 XLOOKUP
반응형