본문 바로가기

업무 프로그램/MS 엑셀

VLOOKUP은 그만! XLOOKUP, INDEX/MATCH를 사용해 보자.

목차

    VLOOKUP은 좋은 함수이고 많이 쓰이지만 몇 가지 제약이 있습니다.

     

    • 조회값이 있는 범위에서 조회하려는 값은 첫 번째 열에 있어야 한다.
    • 반환하려는 값이 조회값의 오른편에 있어야 한다.
    • 유사 일치(range_lookup=true)인 경우 정렬되어 있어야 한다.
    • lookup_value의 값이 255자를 초과할 수 없다.

    즉 아래와 같은 테이블에서 Ava라는 이름으로 근속일수는 가져올 수 있지만 ID는 가져올 수 없습니다.

     

     

    VLOOKUP 제약 사항
    VLOOKUP 제약 사항

     

    또한 조회, 반환하려는 셀의 범위가 바뀌는 경우 VLOOKUP은 그 범위를 매번 다시 맞춰주어야 합니다.

    하지만 INDEX/MATCH를 사용하거나 XLOOKUP을 사용하면 이러한 제약사항 없이 가져올 수 있습니다.

     

     

    XLOOKUP은 lookup_value의 255자 초과하는 길이에도 사용할 수 있는 등 기존의 제약사항을 개선한 함수입니다.

    다만 사용할 수 있는 버전은 오피스 365를 비롯한 웹 버전에서만 가능하다는 단점이 있습니다.

    문서를 작성하는 사람과 보는 사람이 XLOOKUP이 사용 가능한 환경이라면 XLOOKUP을 사용하는 것이 좋겠지만 그렇지 못한 경우는 INDEX/MATCH를 이용하여 VLOOKUP의 단점을 보완할 수 있습니다.

     

    VLOOKUP을 INDEX/MATCH나 XLOOKUP으로 바꾼다면 아래와 같이 됩니다.

     

    VLOOKUP vs INDEX/MATH vs XLOOKUP
    VLOOKUP vs INDEX/MATH vs XLOOKUP

     

    1. E3: =VLOOKUP(F3,A5:B7,0,FALSE)

    2. G3: =VLOOKUP(F3,B5:C7,2,FALSE)

    3. E7: =INDEX(A5:A7,MATCH(F7,B5:B7,0))

    4. G7: =INDEX(C5:C7,MATCH(F7,B5:B7,0))

    5. E11: =XLOOKUP(F11,B5:B7,A5:A7)

    6. G11: =XLOOKUP(F11,B5:B7,C5:C7)

     

    위 내용을 참조하여 VLOOKUP에서 탈출하고 업무시간도 단축해 보시기 바랍니다.

     

    혹시 VLOOKUP에서 오류가 발생한다면 아래 링크를 참고해 보시기 바랍니다.

    엑셀 VLOOKUP 오류 총정리 1탄(ft. #N/A) (tistory.com)
    엑셀 VLOOKUP 오류 총정리 2탄(ft. #VALUE!, #REF) (tistory.com)