지난 포스팅에서는 엑셀에서 가장 널리 쓰이는 데이터 조회 함수인 VLOOKUP의 사용법과 자주 발생하는 #N/A 오류 해결법을 살펴보았습니다. VLOOKUP은 매우 유용한 함수이지만, "기준이 되는 열이 무조건 참조 범위의 맨 왼쪽(첫 번째 열)에 있어야 한다"는 치명적인 구조적 한계를 지니고 있습니다.
이 때문에 기준 열의 왼쪽에 있는 데이터를 가져오려면 표의 열 순서를 강제로 바꾸거나 INDEX와 MATCH 함수를 복잡하게 조합해야만 했습니다. 이러한 불편함과 비효율을 해결하기 위해 마이크로소프트가 도입한 차세대 조회 함수가 바로 XLOOKUP입니다.
이번 글에서는 XLOOKUP 함수의 기본 문법과 필수 인수, 왼쪽 데이터 조회 실무 예제, 그리고 기존 VLOOKUP과의 핵심 차이점을 알기 쉽게 정리해 드립니다.
이 글의 핵심 목차
1. XLOOKUP 함수 기본 구조와 필수 인수
2. XLOOKUP 실무 예제: 왼쪽 방향 데이터 불러오기
3. 한눈에 보는 VLOOKUP vs XLOOKUP 핵심 차이 비교
4. XLOOKUP의 자체 에러 처리 기능 (IFERROR 불필요)
5. 요약 정리 및 주의사항
1. XLOOKUP 함수 기본 구조와 필수 인수
XLOOKUP 함수는 기존의 VLOOKUP, HLOOKUP, 그리고 INDEX+MATCH의 장점만을 결합해 설계된 만능 조회 함수입니다. 가로/세로 방향을 가리지 않고 자유롭게 검색할 수 있으며, 가져올 열 번호를 숫자로 일일이 셀 필요가 없습니다.
XLOOKUP의 전체 문법 구조는 다음과 같습니다
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
수식이 다소 길어 보이지만, 대괄호([])로 묶인 뒤쪽의 선택 옵션을 제외하고 앞의 3가지 필수 인수만 기억하면 실무 작업의 90% 이상을 해결할 수 있습니다.
- 1. lookup_value (찾을 값): 검색의 기준이 되는 데이터 셀입니다. (예: 찾고자 하는 제품명)
- 2. lookup_array (찾을 범위): 기준 데이터를 검색할 단일 열 또는 단일 행 범위입니다.
- 3. return_array (가져올 범위): 최종적으로 결과값을 추출해 가져올 단일 열 또는 단일 행 범위입니다.
- 4. [if_not_found] (선택 인수): 일치하는 데이터가 없을 때 출력할 대체 텍스트를 지정합니다. (기존 IFERROR 함수의 기능을 수식 내에 기본 탑재)
2. XLOOKUP 실무 예제: 왼쪽 방향 데이터 불러오기
VLOOKUP은 기준 열의 오른쪽에 있는 데이터만 조회할 수 있었지만, XLOOKUP은 기준 열의 위치와 무관하게 왼쪽에 위치한 데이터도 제약 없이 추출할 수 있습니다.
아래와 같이 제품명(B열)을 기준으로 왼쪽에 위치한 '제품코드(A열)'를 가져오는 실무 상황을 살펴보겠습니다.
| 제품코드(A열) | 제품명(B열) | 단가(C열) |
| A101 | 사과 | 3,000 |
| A102 | 배 | 4,500 |
| A103 | 포도 | 5,000 |
만약 E2 셀에 '사과'가 입력되어 있고, F2 셀에 사과의 '제품코드'를 불러오고자 한다면 수식을 다음과 같이 작성합니다:
=XLOOKUP(E2, B2:B4, A2:A4)
기존 VLOOKUP 방식처럼 열 번호(1, 2, 3...)를 계산할 필요 없이, '찾을 곳'과 '가져올 곳'의 범위만 마우스로 각각 드래그해주면 왼쪽 방향 데이터도 즉시 정상 추출됩니다.

3. 한눈에 보는 VLOOKUP vs XLOOKUP 핵심 차이 비교
XLOOKUP을 사용해야 하는 명확한 이유를 기존 VLOOKUP과 비교하여 정리하면 다음과 같습니다.
| 비교 항목 | 기존 VLOOKUP | 최신 XLOOKUP |
| 검색 방향 | 오른쪽 방향만 조회 가능 | 왼쪽, 오른쪽 모든 방향 가능 |
| 열 삽입/삭제 | 열 추가 시 수식 깨짐 위험 | 열을 삽입/삭제해도 수식 유지 |
| 일치 옵션 | 유사 일치 기본 (끝에 ,0 필수) | 정확한 일치 기본 (생략 가능) |
| 오류 처리 | IFERROR 함수 별도 중첩 필요 | 4번째 인수로 자체 에러 처리 |
| 지원 버전 | 엑셀 전 버전 (구버전 호환) | M365, Excel 2021 이상 |
특히 원본 데이터 표 중간에 새로운 열을 삽입했을 때, VLOOKUP은 지정해 둔 열 인덱스 번호가 어긋나 엉뚱한 값을 가져오거나 오류가 나지만, XLOOKUP은 참조 범위 자체가 자동으로 따라 이동하므로 데이터 안정성이 매우 뛰어납니다.
4. XLOOKUP의 자체 에러 처리 기능 (IFERROR 불필요)
실무에서 조회 대상 값이 표에 존재하지 않을 경우 발생하는 #N/A 오류는 보고서의 완성도를 떨어뜨리는 주원인입니다.
기존 VLOOKUP에서는 이 문제를 해결하기 위해 다음과 같이 수식을 복잡하게 감싸야 했습니다
=IFERROR(VLOOKUP(E2, B2:C4, 2, 0), "미등록")
반면 XLOOKUP은 4번째 인수([if_not_found])에 원하는 문구를 넣어주는 것만으로 깔끔하게 처리됩니다
=XLOOKUP(E2, B2:B4, C2:C4, "미등록")
수식에 별도의 함수를 중첩하지 않고도 데이터가 없을 때 "미등록" 또는 "-" 같은 안내 문구가 깔끔하게 출력되도록 구현할 수 있습니다.

요약 정리
- Microsoft 365 또는 Excel 2021 이상 버전을 사용하고 있다면 기존 VLOOKUP 대신 XLOOKUP을 기본 조회 함수로 사용하는 것을 적극 권장합니다.
- 기준 열의 왼쪽 방향 조회가 자유로우며, 원본 표의 열이 추가되거나 삭제되어도 수식이 어긋나지 않습니다.
- 기본 일치 옵션이 '정확한 일치'이므로 수식 끝에 불필요하게 0을 덧붙일 필요가 없습니다.
- 단, 사내 업무 환경상 구버전 엑셀(2019 이하)을 사용하는 동료와 파일을 공유해야 한다면 호환성을 위해 VLOOKUP을 활용해야 합니다.
'엑셀 실무' 카테고리의 다른 글
| 엑셀 VLOOKUP 함수 사용법과 #N/A 오류 완벽 해결 가이드 (0) | 2026.10.15 |
|---|