엑셀에서 상품코드나 사번을 입력하면 해당하는 상품명, 가격, 직원 이름을 자동으로 표시하고 싶을 때 사용하는
대표적인 함수가 VLOOKUP과 XLOOKUP입니다.
두 함수 모두 데이터를 검색해 원하는 값을 가져오는 기능을 하지만, 검색 방향과 오류 처리 방식,
지원하는 엑셀 버전에는 차이가 있습니다.
특히 기존 VLOOKUP에서 어려웠던 왼쪽 열 검색을 XLOOKUP에서는 간단하게 처리할 수 있습니다.
이번 글에서는 두 함수의 차이부터 실제 수식 작성법, 오류 해결방법, 버전별 지원 여부까지 예제를 통해 알아보겠습니다.
핵심 요약
- VLOOKUP은 검색 범위의 첫 번째 열에서 값을 찾고 오른쪽 열의 결과를 반환합니다.
- XLOOKUP은 왼쪽과 오른쪽 모두 검색할 수 있습니다.
- XLOOKUP은 정확히 일치하는 검색이 기본 설정입니다.
- XLOOKUP은 검색값이 없을 때 표시할 문구를 함수 안에서 지정할 수 있습니다.
- XLOOKUP은 Microsoft 365, Excel 2021, Excel 2024에서 사용할 수 있지만 Excel 2016·2019에서는 지원하지 않습니다.
- 구버전 엑셀 사용자와 파일을 공유한다면 VLOOKUP이나 INDEX·MATCH 조합이 적합할 수 있습니다.

1. XLOOKUP과 VLOOKUP의 기본 차이
VLOOKUP은 오래전부터 사용해 온 대표적인 엑셀 검색 함수입니다.
상품코드, 사번, 거래처 코드처럼 특정 값을 기준으로 다른 열에 있는 정보를 가져올 때 사용합니다.
XLOOKUP은 이러한 VLOOKUP의 제약을 개선한 함수입니다.
두 함수의 주요 차이는 다음과 같습니다.
비교 항목 VLOOKUP XLOOKUP
| 검색 방향 | 오른쪽 값 반환 | 왼쪽·오른쪽 모두 |
| 검색 범위 | 하나의 표 범위 | 검색·반환 범위 별도 |
| 반환 열 지정 | 열 번호 입력 | 반환할 범위 지정 |
| 정확히 일치 | FALSE 지정 권장 | 기본 설정 |
| 값이 없을 때 | IFERROR 등 활용 | 함수 내부에서 지정 |
| 마지막 값부터 검색 | 기본 지원 안 함 | 지원 |
| 여러 열 동시 반환 | 기본적으로 한 열 | 동적 배열로 가능 |
| Excel 2016·2019 | 지원 | 미지원 |
| Excel 2021·2024 | 지원 | 지원 |
| Microsoft 365 | 지원 | 지원 |
일반적인 데이터 검색 작업에서는 XLOOKUP이 편리하지만,
오래된 엑셀 버전과의 호환성이 중요하다면 VLOOKUP도 여전히 유용합니다.

2. VLOOKUP 함수 사용법
VLOOKUP의 기본 구조는 다음과 같습니다.
=VLOOKUP(찾을값, 검색범위, 반환열번호, 일치옵션)
예를 들어 다음과 같은 상품 목록이 있다고 가정하겠습니다.
A열 상품코드 B열 상품명 C열 가격
| P001 | 키보드 | 30000 |
| P002 | 마우스 | 20000 |
| P003 | 모니터 | 180000 |
| P004 | USB 허브 | 25000 |
1행에는 제목이 있고 실제 데이터는 2~5행에 입력되어 있다고 가정합니다.
E2 셀에 P003을 입력하고 해당 상품의 가격을 F2 셀에 표시하려면 다음 수식을 사용합니다.
=VLOOKUP(E2,A2:C5,3,FALSE)
각 인수의 의미는 다음과 같습니다.
- E2: 찾으려는 상품코드
- A2:C5: 검색할 전체 데이터 범위
- 3: 검색 범위에서 세 번째 열인 가격
- FALSE: 정확히 일치하는 값 검색
결과는 180000입니다.
여기서 중요한 부분은 마지막 인수인 FALSE입니다.
VLOOKUP은 이 인수를 생략하면 근사 일치 검색이 기본으로 적용됩니다.
정렬되지 않은 상품코드나 사번을 검색할 때는 예상하지 못한 결과가 나올 수 있으므로 정확한 검색에는
FALSE를 명시하는 것이 안전합니다.
3. XLOOKUP 함수 사용법
XLOOKUP의 기본 구조는 다음과 같습니다.
=XLOOKUP(찾을값, 찾을범위, 반환범위, [값이없을때], [일치방식], [검색방향])
대괄호로 표시된 인수는 선택사항입니다.
앞에서 사용한 동일한 상품 목록에서 E2에 입력한 상품코드의 가격을 찾으려면 다음 수식을 입력합니다.
=XLOOKUP(E2,A2:A5,C2:C5)
결과는 180000입니다.
VLOOKUP과 달리 반환 열 번호를 계산할 필요가 없습니다.
찾을 범위와 결과를 가져올 범위를 각각 지정하면 됩니다.
상품 목록의 중간에 열이 추가되더라도 참조 범위가 적절하게 유지된다면 열 번호를 다시 계산할 필요가 없어 관리하기 편리합니다.
또한 XLOOKUP은 기본적으로 정확히 일치하는 값을 찾기 때문에 별도로 FALSE를 입력하지 않아도 됩니다.

4. XLOOKUP으로 왼쪽 열 검색하기
두 함수의 차이가 가장 크게 나타나는 부분입니다.
이번에는 상품명이 A열, 상품코드가 B열에 있다고 가정하겠습니다.
A열 상품명 B열 상품코드
| 키보드 | P001 |
| 마우스 | P002 |
| 모니터 | P003 |
| USB 허브 | P004 |
E2 셀에 P003을 입력하고 상품명인 '모니터'를 찾으려는 상황입니다.
VLOOKUP은 검색 범위의 첫 번째 열에서 값을 찾기 때문에 B열의 상품코드를 기준으로
왼쪽 A열의 상품명을 직접 반환할 수 없습니다.
반면 XLOOKUP은 다음과 같이 작성할 수 있습니다.
=XLOOKUP(E2,B2:B5,A2:A5)
결과는 모니터입니다.
B열에서 상품코드를 찾은 다음, 같은 행의 A열 상품명을 반환하는 방식입니다.
이 기능은 사번으로 직원 이름 찾기, 거래처 코드로 회사명 찾기, 주문번호로 고객 정보 찾기 등
다양한 실무 작업에 활용할 수 있습니다.
5. 검색값이 없을 때 오류 처리하는 방법
엑셀 검색 함수를 사용할 때 자주 발생하는 오류 중 하나가 #N/A입니다.
검색하려는 값이 지정된 범위에 존재하지 않을 때 나타납니다.
예를 들어 E2 셀에 목록에 없는 P999를 입력하면 일반적인 VLOOKUP 수식에서는 #N/A가 표시됩니다.
VLOOKUP에서 오류 처리하기
다음과 같이 IFERROR 함수를 함께 사용할 수 있습니다.
=IFERROR(VLOOKUP(E2,A2:C5,3,FALSE),"상품 없음")
검색 결과가 오류라면 '상품 없음'이라는 문구가 표시됩니다.
다만 IFERROR는 검색값이 없는 경우뿐 아니라 다른 종류의 수식 오류도 처리합니다.
검색값이 없을 때 발생하는 #N/A만 처리하고 싶다면 IFNA를 사용할 수 있습니다.
=IFNA(VLOOKUP(E2,A2:C5,3,FALSE),"상품 없음")
XLOOKUP에서 오류 처리하기
XLOOKUP은 함수 자체에 검색값이 없을 때의 반환값을 지정하는 인수가 있습니다.
=XLOOKUP(E2,A2:A5,C2:C5,"상품 없음")
검색값이 없으면 별도의 오류 처리 함수를 추가하지 않아도 '상품 없음'을 표시합니다.
단, 이 옵션은 검색값을 찾지 못한 상황을 처리하는 기능입니다. 수식의 다른 오류까지 모두 처리하는 것은 아닙니다.

6. 중복 데이터가 있을 때 마지막 값 찾기
XLOOKUP은 검색 방향을 변경할 수 있다는 장점도 있습니다.
예를 들어 거래 내역에 같은 상품코드가 여러 번 입력되어 있다고 가정하겠습니다.
A열 상품코드 B열 판매가격
| P001 | 30000 |
| P002 | 20000 |
| P001 | 28000 |
| P003 | 180000 |
P001의 첫 번째 판매가격을 찾으려면 다음 수식을 사용합니다.
=XLOOKUP("P001",A2:A5,B2:B5)
결과는 30000입니다.
반대로 아래쪽부터 검색하여 마지막으로 입력된 P001의 가격을 찾으려면 다음 수식을 사용합니다.
=XLOOKUP("P001",A2:A5,B2:B5,"없음",0,-1)
결과는 28000입니다.
마지막 인수인 -1은 검색 범위를 마지막 항목부터 역순으로 검색하라는 의미입니다.
이 기능은 최신 거래내역이나 마지막 수정 기록을 찾을 때 활용할 수 있습니다.
다만 데이터가 날짜순으로 정렬되어 있지 않다면 마지막 행이 반드시 가장 최근 거래를 의미하지는 않습니다.
7. XLOOKUP과 VLOOKUP의 엑셀 버전별 지원
XLOOKUP 수식이 정상적으로 입력되지 않는다면 먼저 사용 중인 엑셀 버전을 확인해야 합니다.
엑셀 버전 VLOOKUP XLOOKUP
| Excel 2016 | 가능 | 불가능 |
| Excel 2019 | 가능 | 불가능 |
| Excel 2021 | 가능 | 가능 |
| Excel 2024 | 가능 | 가능 |
| Microsoft 365 | 가능 | 가능 |
| Excel 웹 버전 | 가능 | 가능 |
Excel 2016과 Excel 2019에서는 XLOOKUP 함수를 기본적으로 지원하지 않습니다.
따라서 최신 엑셀에서 만든 파일을 구버전에서 열면 #NAME? 오류가 발생하거나 _xlfn.XLOOKUP과 같은 형태가 표시될 수
있습니다.
사용 중인 버전은 엑셀의 파일 → 계정 → Excel 정보에서 확인할 수 있습니다.
회사나 거래처에 엑셀 파일을 전달해야 한다면 상대방의 사용 버전까지 고려하는 것이 좋습니다.

8. XLOOKUP을 사용할 수 없는 경우 대체 방법
Excel 2016이나 Excel 2019를 사용한다면 VLOOKUP 또는 INDEX·MATCH 함수를 활용할 수 있습니다.
특히 왼쪽 검색이 필요한 경우 INDEX·MATCH 조합이 유용합니다.
앞에서 사용한 상품명 A열, 상품코드 B열의 예제를 다시 살펴보겠습니다.
E2에 입력한 상품코드와 일치하는 상품명을 가져오려면 다음 수식을 사용합니다.
=INDEX(A2:A5,MATCH(E2,B2:B5,0))
MATCH 함수가 B열에서 상품코드의 위치를 찾고, INDEX 함수가 같은 위치의 A열 상품명을 반환합니다.
이 방식은 XLOOKUP이 없는 엑셀 버전에서도 왼쪽 검색을 구현할 수 있다는 장점이 있습니다.
다만 수식이 다소 길어질 수 있으므로 지원 버전에서는 XLOOKUP이 더 간편합니다.
9. XLOOKUP·VLOOKUP 사용 시 자주 발생하는 오류
① #N/A 오류
검색값이 범위에 없거나 숫자와 텍스트의 데이터 형식이 다를 때 발생할 수 있습니다.
예를 들어 숫자 123과 텍스트 "123"은 검색 과정에서 일치하지 않을 수 있습니다.
검색값과 원본 데이터의 형식을 확인하고 불필요한 공백이 있는지도 점검해야 합니다.
② #NAME? 오류
함수 이름을 잘못 입력했거나 사용 중인 엑셀 버전이 해당 함수를 지원하지 않을 때 발생할 수 있습니다.
특히 Excel 2016·2019에서 XLOOKUP을 사용하려는 경우 버전 호환성을 먼저 확인해야 합니다.
③ #REF! 오류
VLOOKUP에서 지정한 반환 열 번호가 검색 범위의 열 개수를 초과하거나 참조 셀이 삭제되면 발생할 수 있습니다.
예를 들어 검색 범위가 A 두 열인데 반환 열 번호를 3으로 지정하면 올바른 값을 가져올 수 없습니다.
④ #VALUE! 오류
XLOOKUP에서 검색 범위와 반환 범위의 크기가 맞지 않는 경우 등 잘못된 인수 설정으로 발생할 수 있습니다.
범위의 행 개수와 배열 구조를 확인해야 합니다.
⑤ #SPILL! 오류
XLOOKUP으로 여러 열의 결과를 한 번에 반환할 때 결과가 펼쳐질 셀에 기존 데이터가 있으면 발생할 수 있습니다.
결과가 표시될 영역을 비우고 다시 계산하면 해결할 수 있습니다.
10. 실무에서는 어떤 함수를 선택해야 할까?
두 함수 모두 데이터를 검색하고 연결하는 데 유용하지만 작업 환경에 따라 선택이 달라집니다.
XLOOKUP을 추천하는 경우
- Microsoft 365 또는 Excel 2021 이상을 사용하는 경우
- 검색 기준 열의 왼쪽에 있는 값을 찾아야 하는 경우
- 수식을 간단하게 작성하고 싶은 경우
- 검색값이 없을 때 안내 문구를 표시하고 싶은 경우
- 중복 데이터에서 마지막 항목을 검색해야 하는 경우
VLOOKUP을 추천하는 경우
- Excel 2016·2019 사용자와 파일을 공유하는 경우
- 기존 업무 파일이 VLOOKUP 중심으로 작성된 경우
- 검색 기준 열이 표의 첫 번째 열에 있는 경우
- 구버전 엑셀과의 호환성이 중요한 경우

11. 자주 묻는 질문 FAQ
Q1. XLOOKUP이 VLOOKUP보다 무조건 좋은가요?
기능과 사용 편의성에서는 XLOOKUP이 유리한 경우가 많습니다.
다만 구버전 엑셀과의 호환성이 중요하다면 VLOOKUP이 더 적합할 수 있습니다.
Q2. Excel 2019에서 XLOOKUP을 사용할 수 있나요?
Excel 2019에서는 XLOOKUP을 기본 지원하지 않습니다. VLOOKUP이나 INDEX·MATCH 조합을 사용해야 합니다.
Q3. XLOOKUP도 정확히 일치하는 값만 찾을 수 있나요?
네. XLOOKUP은 정확히 일치하는 검색이 기본값입니다. 필요하다면 일치 방식 인수를 변경해 근사 일치 검색도 할 수 있습니다.
Q4. XLOOKUP으로 여러 열의 데이터를 한 번에 가져올 수 있나요?
가능합니다. 반환 범위를 여러 열로 지정하면 동적 배열을 이용해 여러 결과를 반환할 수 있습니다.
예를 들어 다음 수식을 사용할 수 있습니다.
=XLOOKUP(E2,A2:A5,B2:C5)
이 경우 일치하는 상품의 상품명과 가격을 인접한 두 셀에 반환합니다.
Q5. XLOOKUP 수식이 다른 컴퓨터에서 오류가 발생하는 이유는 무엇인가요?
상대방의 엑셀 버전이 XLOOKUP을 지원하지 않을 가능성이 있습니다.
먼저 프로그램 버전을 확인하고 필요한 경우 호환되는 함수로 변경해야 합니다.
12. 마무리
VLOOKUP과 XLOOKUP은 모두 엑셀에서 원하는 데이터를 빠르게 찾기 위한 검색 함수입니다.
VLOOKUP은 오래된 엑셀 버전에서도 사용할 수 있다는 장점이 있지만,
검색 기준 열이 범위의 첫 번째 열에 있어야 하고 반환 열 번호를 지정해야 하는 제약이 있습니다.
반면 XLOOKUP은 검색 범위와 반환 범위를 자유롭게 지정할 수 있어 왼쪽 검색이 가능하고,
오류 처리와 역방향 검색도 간편합니다.
최신 엑셀을 사용한다면 XLOOKUP을 우선 익히고,
구버전 파일을 다뤄야 한다면 VLOOKUP과 INDEX·MATCH도 함께 알아두는 것이 좋습니다.
함수의 차이를 이해하고 작업 환경에 맞게 선택하면 상품관리, 거래처 관리, 재고관리, 인사자료 정리 등
다양한 업무에서 반복 작업을 줄일 수 있습니다.
'IT·디지털 정보' 카테고리의 다른 글
| 엑셀 Power Query로 CSV 파일 여러 개 합치기|폴더 가져오기·열 형식·자동 새로 고침 방법 (0) | 2026.10.29 |
|---|---|
| PDF 용량 줄이는 방법|화질 유지·무료 압축 프로그램·온라인 압축 비교 (0) | 2026.10.29 |
| 윈도우11 장치 암호화와 BitLocker 차이|Home·Pro 지원·복구키 관리방법 (0) | 2026.10.28 |
| 외장 SSD 안전하게 제거되지 않을 때|장치 사용 중 오류·파일 잠금·데이터 손상 예방방법 (0) | 2026.10.28 |
| 윈도우11 TPM 2.0 확인 및 활성화 방법|BIOS·UEFI·Intel PTT·AMD fTPM 설정 가이드 (0) | 2026.10.28 |