본문 바로가기
IT PC.인터넷/뉴스&꿀팁

VLOOKUP 함수로 다중 조건 검색하기. INDEX와 MATCH 함수 활용법

by IT 테크마스터 2024. 11. 25.

엑셀을 활용하다 보면 VLOOKUP 함수가 한계에 부딪히는 상황을 경험할 수 있다. 특히 다중 조건 검색을 처리해야 할 때 VLOOKUP 함수는 기본적으로 한 조건만 처리 가능하다는 단점이 있다. 이런 경우 INDEXMATCH 함수를 결합하면 다중 조건 검색을 쉽게 해결할 수 있다. 이번 글에서는 다중 조건 검색 문제를 해결하기 위한 방법을 단계별로 설명한다.


1. VLOOKUP 함수의 기본 한계

VLOOKUP 함수는 데이터를 세로 방향으로 검색하고, 지정된 열에서 결과를 반환한다. 그러나 다음과 같은 문제를 겪을 수 있다.

  • 단일 조건만 검색 가능: 기본적으로 하나의 조건만 처리한다.
  • 왼쪽에서 오른쪽으로만 검색 가능: 검색 열이 항상 첫 번째 열이어야 한다.
  • 데이터가 중복될 경우 문제 발생: 동일한 값이 여러 개 있을 때 첫 번째 값만 반환한다.

이러한 제약을 극복하려면 INDEX와 MATCH 함수를 결합한 다중 조건 검색이 효과적이다.

 

2. INDEX와 MATCH 함수의 개념

INDEX와 MATCH 함수는 각각 다음과 같은 역할을 한다.

  • INDEX 함수: 특정 위치의 값을 반환.
    • 형식: =INDEX(범위, 행 번호, [열 번호])
  • MATCH 함수: 특정 값의 위치(행 또는 열 번호)를 반환.
    • 형식: =MATCH(검색값, 검색범위, [일치 유형])

이 두 함수를 조합하면 다중 조건 검색과 같은 복잡한 문제를 해결할 수 있다.

 

3. 다중 조건 검색 구현 방법

다중 조건 검색을 구현하기 위해 도우미 열 또는 배열 수식을 활용할 수 있다. 아래는 두 가지 방법을 단계별로 설명한다.

1) 도우미 열을 활용한 방법

도우미 열은 조건들을 결합하여 검색 기준을 만드는 간단한 방법이다.

  1. 도우미 열 생성
    • 데이터 표에 새로운 열을 추가하고, =조건1&조건2 형태로 값을 결합한다.
    • 예: A열(이름)과 B열(지역)을 결합한 값 → =A2&B2.
  2. VLOOKUP으로 검색
    • 도우미 열을 기준으로 VLOOKUP을 사용.
    • 예: =VLOOKUP("홍길동서울", 도우미 열 포함 범위, 반환 열 번호, FALSE).

2) INDEX와 MATCH를 활용한 배열 수식

도우미 열을 생성하지 않고 바로 다중 조건 검색을 수행하는 방법이다.

  1. 조건 결합
    • 두 조건을 모두 만족하는 행을 찾기 위해 배열 형태의 조건을 작성.
    • 예: (조건1 범위=값1)*(조건2 범위=값2).
  2. INDEX와 MATCH 결합
    • MATCH 함수로 조건이 일치하는 행 번호를 반환.
    • INDEX 함수로 해당 행에서 값을 가져온다.
    • 수식 예:
      코드 복사
      =INDEX(결과 범위, MATCH(1, (조건1 범위=값1)*(조건2 범위=값2), 0))
  3. 배열 수식 입력
    • 수식을 입력한 후 Ctrl + Shift + Enter를 눌러 배열 수식으로 적용.

 

4. 실제 사례 - 직원 정보 검색

 

이름지역부서급여

홍길동 서울 영업팀 300만
이순신 부산 개발팀 400만
유관순 서울 디자인팀 350만

목표: 서울에 있는 "홍길동"의 급여.

도우미 열 방식

  1. D열에 =A2&B2로 도우미 열 생성.
  2. VLOOKUP 수식: =VLOOKUP("홍길동서울", $D$2:$E$4, 2, FALSE).

INDEX와 MATCH 방식

  1. 수식 입력:
    excel
    코드 복사
    =INDEX(D:D, MATCH(1, (A:A="홍길동")*(B:B="서울"), 0))
  2. Ctrl + Shift + Enter로 배열 수식 적용.

 

5. INDEX와 MATCH 함수 활용 팁

  1. 데이터 범위 고정: $를 사용하여 범위를 고정하면 수식 복사 시 범위가 변하지 않아 편리하다.
  2. 다중 조건 추가: 조건이 더 많아도 *(곱셈)을 활용해 확장 가능하다.
  3. 오류 처리: 조건이 맞지 않을 경우 IFERROR를 활용해 깔끔한 출력 가능.
    • 예: =IFERROR(INDEX(...), "조건에 맞는 값이 없습니다").

 

6. VLOOKUP과 INDEX-MATCH 비교

항목VLOOKUPINDEX + MATCH

검색 조건 단일 조건만 가능 다중 조건 가능
검색 방향 왼쪽 → 오른쪽 양방향 가능
유연성 제한적 매우 유연
성능 큰 데이터셋에서 느림 상대적으로 빠름

 

위 내용을 통해 다중 조건 검색 문제를 해결하고, 업무 효율성을 높이는 데 도움이 되길 바란다.