900===생활/엑셀

XLOOKUP 함수 - 엑셀 검색 기능의 혁명 🚀

블로글러 2025. 5. 29. 13:16

엑셀에서 데이터를 찾아야 할 때 VLOOKUP 때문에 고생해보신 적 있으신가요? 특히 왼쪽에 있는 데이터를 찾을 때 말이죠. 오늘은 이런 불편함을 한 번에 해결해주는 XLOOKUP 함수에 대해 알아보겠습니다!

등장 배경

과거에는 엑셀에서 데이터를 찾을 때 VLOOKUP과 HLOOKUP 함수를 주로 사용했습니다. 1985년 Excel 1.0 for Macintosh부터 존재했던 VLOOKUP은 무려 35년간 엑셀의 대표적인 검색 함수로 자리잡았었죠.
SUM과 AVERAGE 다음으로 세 번째로 많이 사용되는 함수였습니다!

하지만 VLOOKUP에는 여러 제약사항이 있었습니다:

  1. 왼쪽 데이터 검색 불가 🚫: VLOOKUP은 항상 첫 번째 열에서 검색해서 오른쪽 열의 값만 반환 가능
  2. 기본값이 근사일치: 정확한 일치를 원할 때 FALSE를 명시해야 함
  3. 열 삽입/삭제 시 문제: 열 번호를 직접 수정해야 함
  4. 마지막 값 검색 불가: 첫 번째 일치 값만 반환

이런 불편함을 해결하기 위해 Microsoft는 2019년에 XLOOKUP 함수를 발표했고, 2020년부터 Office 365 사용자들에게 제공되기 시작했습니다.

핵심 원리

XLOOKUP의 작동 방식을 시각적으로 표현하면 다음과 같습니다:

┌─────────────────────────────────────────────┐
│           XLOOKUP 함수 구조                 │
├─────────────────────────────────────────────┤
│                                             │
│  =XLOOKUP(찾을값, 검색범위, 반환범위, ...)  │
│                                             │
│     ↓         ↓          ↓                  │
│  [검색값]  [어디서?]  [무엇을?]             │
│                                             │
└─────────────────────────────────────────────┘

 

XLOOKUP 함수의 매개변수:

매개변수 설명 필수/선택
lookup_value 찾고자 하는 값 필수
lookup_array 검색할 범위 필수
return_array 반환할 값이 있는 범위 필수
[if_not_found] 값을 찾지 못했을 때 표시할 내용 선택
[match_mode] 일치 방식 (0: 정확히, -1: 작거나 같은, 1: 크거나 같은, 2: 와일드카드) 선택
[search_mode] 검색 방향 (1: 처음부터, -1: 끝부터, 2/-2: 이진 검색) 선택

 

VLOOKUP vs XLOOKUP 비교:

VLOOKUP의 한계:
┌─────┬─────┬─────┬─────┐
│  A  │  B  │  C  │  D  │
├─────┼─────┼─────┼─────┤
│     │  ← 검색 불가능    │
│  ↓  │  ↓  │  →  │  →  │
│ 검색│     │반환 │반환 │
└─────┴─────┴─────┴─────┘

XLOOKUP의 자유로움:
┌─────┬─────┬─────┬─────┐
│  A  │  B  │  C  │  D  │
├─────┼─────┼─────┼─────┤
│  ←  │  ←  │  ←  │  ←  │
│  →  │  →  │  →  │  →  │
│ 어디서든 검색/반환 가능! │
└─────┴─────┴─────┴─────┘

 

실제 사용 예시:

직원 데이터:
┌────────┬─────────┬────────────┬─────────┐
│ 사번   │ 이름    │ 부서       │ 연봉    │
├────────┼─────────┼────────────┼─────────┤
│ E001   │ 김철수  │ 영업부     │ 5,000   │
│ E002   │ 이영희  │ 개발부     │ 6,000   │
│ E003   │ 박민수  │ 인사부     │ 4,500   │
└────────┴─────────┴────────────┴─────────┘

=XLOOKUP("이영희", B2:B4, D2:D4)
결과: 6,000

=XLOOKUP("E003", A2:A4, B2:D4)
결과: {"박민수", "인사부", 4,500} (전체 행 반환!)

주의사항 및 팁 💡

⚠️ 이것만은 주의하세요!

  1. 버전 호환성 문제
    • XLOOKUP은 Office 365, Excel 2021 이상에서만 사용 가능
    • 이전 버전에서 파일을 열면 #NAME? 오류 발생
    • 해결 방법: 공유 시 버전 확인 또는 VLOOKUP으로 대체
  2. 대용량 데이터 처리
    • 이진 검색(search_mode 2/-2) 사용 시 데이터가 정렬되어 있어야 함
    • 정렬되지 않은 데이터에 이진 검색 사용 시 잘못된 결과 반환
    • 해결 방법: 데이터 정렬 확인 또는 기본 검색 모드 사용
  3. 배열 크기 불일치
    • lookup_array와 return_array의 크기가 다르면 #VALUE! 오류
    • 해결 방법: 두 배열의 행/열 수가 일치하는지 확인

💡 꿀팁

  • 다중 값 반환: return_array를 여러 열로 지정하면 한 번에 여러 값 반환 가능
  • 오류 처리: if_not_found 매개변수로 "데이터 없음" 같은 친근한 메시지 표시
  • 역방향 검색: search_mode를 -1로 설정하면 마지막 일치 항목 찾기 가능
  • 정규표현식 지원: 2024년 12월부터 match_mode 3으로 정규표현식 사용 가능 (Office 365만)

마치며

지금까지 XLOOKUP 함수에 대해 알아보았습니다. 처음에는 VLOOKUP에 익숙해서 어색할 수 있지만, 한 번 사용해보면 그 편리함에 놀라실 거예요! 특히 왼쪽 데이터를 찾거나 여러 값을 한 번에 반환할 때 정말 유용합니다.

여러분도 XLOOKUP을 사용해서 더 효율적인 엑셀 작업을 경험해보시길 바랍니다! 혹시 XLOOKUP을 사용하면서 겪은 특별한 경험이나 활용 팁이 있으신가요? 😊

참고 자료 🔖


#XLOOKUP #엑셀함수 #Excel365 #데이터검색

728x90
반응형