XLOOKUP 함수: 구문, 예제, 오류 해결
2026-10-12 업데이트 · 무료 · Excel 및 Google Sheets 지원
구문
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])빠른 답변
XLOOKUP은 한 열에서 값을 찾아 같은 행의 다른 열(범위) 값을 반환합니다 — 어느 방향이든 찾을 수 있고, 기본이 정확한 일치이며, “찾을 수 없음” 메시지도 내장되어 있습니다: =XLOOKUP(A2, $D$2:$D$500, $E$2:$E$500, "찾을 수 없음"). #NAME?은 거의 항상 Excel 버전이 2021 미만이라는 뜻이고, #N/A는 값이 검색 열에 없거나 겉보기만 같다는 뜻입니다(텍스트로 저장된 숫자, 보이지 않는 공백).
구문
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])| 인수 | 필수 | 의미 |
|---|---|---|
| lookup_value | 필수 | 찾을 값: 숫자, 텍스트, 날짜 또는 A2 같은 셀 참조. |
| lookup_array | 필수 | 검색할 열. VLOOKUP과 달리 어떤 범위의 첫 번째 열일 필요가 없습니다 — 그 열을 직접 가리키면 됩니다. |
| return_array | 필수 | 반환할 값이 있는 열(또는 여러 열). 검색 열의 왼쪽에 있어도 됩니다. 두 범위의 행 수는 같아야 합니다. |
| if_not_found | 선택 | 못 찾았을 때 #N/A 대신 반환할 메시지나 값 — IFERROR로 감쌀 필요가 없습니다. |
| match_mode | 선택 | 0(기본) = 정확한 일치. -1 = 정확한 일치 또는 그보다 작은 값. 1 = 정확한 일치 또는 그보다 큰 값. 2 = 와일드카드 일치(*와 ?). |
| search_mode | 선택 | 1(기본) = 처음부터 끝까지. -1 = 역방향 검색(마지막 일치를 먼저). 2/-2 = 정렬된 데이터의 이진 검색. |
지역 설정에 따라 인수를 쉼표 대신 세미콜론으로 구분합니다: =XLOOKUP(A2; $D$2:$D$500; $E$2:$E$500; "찾을 수 없음"). 소수점에 쉼표를 쓰는 국가에서는 이것이 표준입니다.
기본 예제
=XLOOKUP(A2, $D$2:$D$500, $E$2:$E$500, "찾을 수 없음")가장 흔한 패턴: D 열에서 A2의 값을 찾아 E 열의 해당 항목을 반환합니다. 못 찾으면 생 #N/A 대신 “찾을 수 없음”이 표시됩니다 — 오류 처리로 감쌀 필요가 전혀 없습니다.
=XLOOKUP(A2, $E$2:$E$500, $D$2:$D$500, "찾을 수 없음")왼쪽 방향 찾기: 반환 열이 검색 열의 왼쪽에 있습니다. XLOOKUP이 나오기 전에는 이 경우 INDEX/MATCH를 쓸 수밖에 없었습니다.
=XLOOKUP(A2, $D$2:$D$500, $E$2:$E$500, "찾을 수 없음", 0, -1)뒤에서 앞으로 검색: 키가 중복될 때 첫 번째가 아니라 가장 최근 일치를 반환합니다 — 가격표와 상태 로그에 유용합니다.
lookup_array와 return_array의 행 수가 정확히 같아야 합니다. 한 범위가 D2:D500이고 다른 범위가 E2:E499이면 XLOOKUP은 #VALUE!로 실패합니다.
자주 발생하는 오류와 해결법
| 오류 | 가장 흔한 원인 | 해결법 |
|---|---|---|
| #NAME? | XLOOKUP보다 오래된 Excel 버전(2019 이하)이거나 함수 이름 오타. | XLOOKUP은 Microsoft 365 또는 Excel 2021 이상이 필요합니다. 구버전에서는 INDEX/MATCH나 VLOOKUP을 사용하세요. |
| #VALUE! | lookup_array와 return_array의 행 수가 다르거나, 한쪽에 단일 셀만 지정한 경우. | 두 범위의 높이를 정확히 같게 만드세요. 예: D2:D500과 E2:E500. |
| #N/A | 값이 검색 열에 없음 — 또는 겉보기만 같음(텍스트 vs. 숫자, 끝 공백, 줄 바꿈 없는 공백). | VALUE()로 텍스트 숫자를 변환하고 보이지 않는 공백을 정리하세요. 또는 if_not_found 인수로 친절한 메시지를 반환하세요. |
| #SPILL! | 여러 열 반환 배열이 옆 셀에 막혀 흘러넣지 못하는 경우. | 수식 아래·오른쪽의 결과가 확장될 셀을 비우세요. |
웹에서 복사한 끝 공백과 줄 바꿈 없는 공백도 여기서 가장 교활한 #N/A 원인입니다: XLOOKUP에게 “NYC ”와 “NYC”는 다른 문자열입니다. 검색 전에 한 번의 클릭으로 열 전체를 정리하세요.
XLOOKUP vs VLOOKUP
| XLOOKUP | VLOOKUP | |
|---|---|---|
| 사용 가능 버전 | Microsoft 365 및 Excel 2021+ | 모든 Excel 버전(Google Sheets 포함) |
| 키 열 왼쪽 검색 | 가능 | 불가능 |
| 기본이 정확한 일치 | 예 | 아니요 — FALSE를 써야 함 |
| 열 삽입에 강함 | 강함 — 범위가 열 전체를 직접 가리킴 | 약함 — 고정 열 번호가 밀림 |
| 값이 없을 때 | 내장 if_not_found 인수 | #N/A(IFERROR로 감쌈) |
| 여러 열 반환 | 가능 — 수식 하나로 여러 열에 흘러넣음 | 불가능 — 수식 하나당 값 하나 |
Microsoft 365 사용자라면 새 통합 문서는 모두 XLOOKUP으로: 첫 열 규칙, FALSE 습관, IFERROR 감싸기를 한 번에 해결합니다. 오래된 공유 통합 문서와 어디서든 열려야 하는 Google Sheets 수식에서는 VLOOKUP이 여전히 유용합니다.
Google Sheets에서의 XLOOKUP
Google Sheets는 XLOOKUP을 지원하며 여섯 개 인수와 기본 동작이 Excel과 완전히 같습니다. 위의 수식은 그대로 붙여넣어 사용할 수 있습니다.
- 기본 정확한 일치와 if_not_found 인수의 동작은 두 플랫폼에서 같습니다.
- 와일드카드는 match_mode 2로 사용합니다. Excel과 Sheets에서 똑같이 동작합니다.
- 소수점에 쉼표를 쓰는 지역 설정(유럽과 라틴아메리카 대부분)에서는 인수 사이에 세미콜론을 씁니다: =XLOOKUP(A2; D2:D500; E2:E500; "찾을 수 없음"). Excel도 마찬가지입니다.
- XLOOKUP 이전의 오래된 Sheets 문서에서도 VLOOKUP은 그대로 동작합니다 — 두 함수는 공존하므로 섞여 있어도 문제없습니다.
한계와 실전 팁
- 버전 장벽: XLOOKUP은 Microsoft 365와 Excel 2021 이상에만 있습니다. 이 함수를 쓴 통합 문서는 Excel 2019 사용자가 열면 바로 #NAME?이 됩니다.
- 두 배열은 높이가 같아야 합니다 — D2:D500과 E2:E500을 한 번에 선택하는 습관을 들이세요.
- 채우기 핸들(선택 영역 모서리의 작은 사각형)을 두 번 클릭하면 수식을 마지막 행까지 한 번에 복사할 수 있습니다.
- search_mode -1을 쓰면 키가 반복되는 로그에서 최신 일치를 가져올 수 있습니다.
- 행과 열을 모두 찾는 2차원 찾기는 XLOOKUP 안에 XLOOKUP을 중첩합니다 — 낡은 INDEX/MATCH/MATCH 패턴을 대체합니다.
값 하나가 아니라 다른 파일에서 여러 열을 가져와야 하나요? 그것은 찾기가 아니라 표 결합입니다: 아래 무료 도구가 수식 없이 처리합니다.
관련 도구
관련 함수
자주 묻는 질문
XLOOKUP 함수는 무엇을 하는 함수인가요?
XLOOKUP은 한 열에서 값을 찾아 같은 행의 다른 열 값을 반환합니다 — 방향 제한 없이, 기본 정확한 일치로, 선택적인 “찾을 수 없음” 메시지까지 내장합니다. VLOOKUP과 INDEX/MATCH의 현대적 대체재입니다.
제 Excel에서 XLOOKUP이 작동하지 않는 이유는?
대부분 버전 문제입니다: XLOOKUP은 Microsoft 365와 Excel 2021 이상에만 있습니다. Excel 2019 이하는 #NAME?을 반환합니다. 해결책은 업그레이드하거나 어디서든 동작하는 INDEX/MATCH로 바꾸는 것뿐입니다.
XLOOKUP에서 #N/A 대신 “찾을 수 없음”을 표시하려면?
네 번째 인수를 채우세요: =XLOOKUP(A2, D2:D500, E2:E500, "찾을 수 없음"). VLOOKUP과 달리 IFERROR로 감쌀 필요가 없습니다 — 메시지 자체가 함수의 일부입니다.
XLOOKUP은 왼쪽을 볼 수 있나요?
네. 검색 열과 반환 열이 독립된 범위라서 반환 열은 어디에나 있을 수 있습니다 — 왼쪽, 오른쪽, 다른 시트 모두. 이것이 VLOOKUP보다 XLOOKUP을 선호하는 주된 이유입니다.
XLOOKUP은 여러 열을 한 번에 반환할 수 있나요?
네. return_array에 여러 열 범위를 전달하세요. 예: =XLOOKUP(A2, D2:D500, E2:G500). 수식이 요청한 모든 열로 흘러넣습니다. 옆 셀이 비어 있는지 확인하세요. 아니면 #SPILL!이 보입니다.
XLOOKUP이 VLOOKUP보다 나은가요?
Microsoft 365 사용자라면 그렇습니다: 기본 정확한 일치, 왼쪽 찾기, 내장 미발견 메시지, 여러 열 반환, 열 삽입에도 안전. VLOOKUP의 가치는 구버전 호환성에 있습니다.
XLOOKUP은 Google Sheets에서도 되나요?
네 — Sheets는 Excel과 같은 인수·기본값의 XLOOKUP을 지원하며 if_not_found 메시지도 포함됩니다. 쉼표를 소수점으로 쓰는 지역 설정에서만 인수 구분자가 달라져 세미콜론을 씁니다.
내 파일로 직접 해볼 준비가 되셨나요?
두 Excel 테이블을 키로 결합 열기 — 무료