들어가기 전에
Excel의 VLOOKUP 함수는 강력하고 편리한 함수지만 엄격한 제약(예: 기준 값 왼쪽 참조 불가)과 불편한 구문 때문에 답답한 경우가 있습니다. VLOOKUP의 가장 큰 단점은 왼쪽에서 오른쪽으로 정렬해야 한다는 점입니다. 반면, XMATCH 함수는 VLOOKUP의 엄격한 구조와 달리 모든 배열을 어느 방향으로든 검색해 주므로 편리합니다. XMATCH 함수의 특징과 활용 방법에 대해 소개합니다.
이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: This Excel Function Is So Much Smarter Than VLOOKUP
- URL: https://www.makeuseof.com/xmatch-excel-function-vs-vlookup/
1. 원하는 모든 방향으로 작동
VLOOKUP의 가장 큰 단점은 왼쪽에서 오른쪽으로 정렬해야 한다는 점입니다. 조회 열이 범위의 가장 왼쪽에 있지 않으면 작업이 중단됩니다. 데이터를 다시 정렬하거나 다른 해결책을 찾아야 합니다. VLOOKUP을 만족시키기 위해 스프레드시트를 재구성하는 데 시간을 낭비할 수 있습니다.
Excel의 XMATCH 함수는 이러한 번거로움을 해결해 줍니다. VLOOKUP의 엄격한 구조와 달리 XMATCH는 모든 배열을 어느 방향으로든 검색합니다. 조회 열의 왼쪽에서 데이터를 찾을 수 있습니다. 또한 열을 세로로 또는 행을 가로로 검색할 수도 있습니다. XMATCH는 두 가지 모두를 손쉽게 처리합니다.
기본 구문은 다음과 같습니다.
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
- lookup_value: 검색하려는 내용
- lookup_array: 검색 범위
- match_mode: 일치가 얼마나 정확해야 하는지(0은 정확함, -1은 정확하거나 그 다음으로 작음, 1은 정확하거나 그 다음으로 큼)
- search_mode: 검색할 방향(1은 처음부터 마지막까지, -1은 마지막에서 첫 번째까지, 2는 이진 검색)
직원 데이터베이스에서 실제 사례를 살펴보겠습니다. "Kristen Tate"가 근무하는 부서를 찾아야 하는데, 직원 이름은 D열에 있고 부서는 B열에 있다고 가정해 보겠습니다. Excel 스프레드시트에서 VLOOKUP을 사용하면 왼쪽을 볼 수 없기 때문에 데이터를 다시 정렬해야 합니다.
하지만 다음 수식에 표시된 것처럼 XMATCH 함수를 사용하면 이름 열에서 위치를 반환할 수 있습니다.
=XMATCH("Kristen Tate", D:D, 0)

더 이상 열을 셀 필요가 없어서 작업 흐름이 바뀌었습니다. Excel 스프레드시트에서 VLOOKUP을 사용하면 열 인덱스 번호를 확인하기 위해 끊임없이 숫자를 세어야 합니다. 데이터에 새 열을 추가하면 인덱스 번호가 바뀌면서 수식이 갑자기 깨집니다.
2. 매칭에 대한 더 나은 제어
VLOOKUP의 일치 옵션은 정확히 일치하는 값이나 대략적인 일치 값만 있을 뿐입니다. 데이터가 완벽하게 정리되지 않았다면, 조회를 시작하기도 전에 지저분한 Excel 시트를 정리하는 데 시간을 허비하게 됩니다.
XMATCH는 match_mode 매개변수를 사용하여 간편하게 검색할 수 있습니다 . VLOOKUP의 FALSE 매개변수처럼 정확하게 일치하는 항목을 찾으려면 0으로 설정하세요. 하지만 여기서 흥미로운 점이 있습니다. -1을 사용하면 정확하게 일치하는 항목 또는 그 다음으로 작은 값을 찾고, 1을 사용하면 정확하게 일치하는 항목 또는 그 다음으로 큰 값을 찾을 수 있습니다.
직원 데이터에서 급여를 고려해 보세요. $75,000에 가장 가깝지만 $75,000를 넘지 않는 급여를 받는 직원을 찾으려면 다음을 사용합니다.
=XMATCH(75000, H:H, -1)
이 수식은 대상 값을 초과하지 않는 범위 내에서 H열에서 가장 높은 급여의 위치를 반환합니다. 데이터가 완벽하게 정렬되어 있지 않으면 VLOOKUP에서는 이 부분을 처리하기 어렵습니다.

search_mode 매개변수는 제어 기능을 더욱 강화합니다. 1은 처음부터 마지막까지(기본값) 검색하는 반면, -1은 마지막부터 첫 번째까지 검색합니다. 이 매개변수는 중복된 값 이 있고 가장 최근 항목이 필요할 때 유용합니다.
예를 들어, "John Smith"가 데이터 세트의 D열에 여러 번 나타나는 경우 다음 공식을 사용하여 마지막으로 나타난 위치를 찾을 수 있습니다.
=XMATCH("John Smith", D:D, 0, -1)
이러한 매개변수를 이해하면 데이터 조회를 더욱 효과적으로 수행할 수 있습니다. 이러한 수준의 제어는 도우미 열 수와 데이터 조작 감소를 의미합니다. 수식은 더욱 강력해지고 스프레드시트는 더욱 깔끔하게 유지됩니다.
3. INDEX와 완벽하게 조화
XMATCH는 INDEX 함수와 함께 사용하면 더욱 편리합니다. XMATCH가 위치를 찾는 반면, INDEX는 해당 위치에서 실제 값을 가져옵니다. XMATCH는 데이터를 빠르게 찾는 데 유용한 Excel 함수 중 하나이지만 , 두 함수를 함께 사용하면 더욱 유연한 조회 조합을 만들 수 있습니다.
두 가지를 결합하면 기본 구문은 다음과 같습니다.
=INDEX(return_array, XMATCH(lookup_value, lookup_array, [match_mode]))
이 조합은 VLOOKUP의 열 개수 계산 문제를 해결합니다. 급여가 여덟 번째 열이라는 것을 기억하는 대신, 급여 열을 직접 지정하기만 하면 됩니다. 따라서 열을 추가하거나 제거할 때 잘못된 수식이 생성되지 않습니다.
INDEX와 XMATCH를 사용하여 직원 데이터에서 Kristen Tate의 부서를 찾아야 한다고 가정해 보겠습니다.
=INDEX(R:R, XMATCH("Kristen Tate", D:D, 0))
이 수식은 자연스럽게 읽히고 "Kristen Tate"가 D열에 나타나는 위치에서 R열의 값을 반환합니다.

이 조합은 또한 영업 부서에서 가장 높은 직원 ID를 가진 직원의 급여가 필요한 경우와 같이 복잡한 조회도 처리합니다.
=INDEX(A:A, XMATCH(MAX(IF(R:R="Sales", H:H)), IF(R:R="Sales", H:H), 0))
이 배열 수식은 Sales 테이블에서 최대 직원 ID를 찾은 다음 해당 직원의 급여를 반환합니다. VLOOKUP 함수를 사용하여 이 수식을 실행하려면 여러 개의 보조 열과 기타 해결 방법이 필요합니다.

마치며
XMATCH는 VLOOKUP 함수를 완전히 대체할 수 있습니다. 방향의 유연성, 정확한 매칭 제어, 그리고 간편한 IDNEX 함수와 통합 덕분에 매우 편리한 조회 함수입니다. XMATCH 함수를 경험하고 나면 더 이상 VLOOKUP으로 돌아가는 것은 불가능해 보일 정도입니다. 단, XMATCH 함수는 Microsoft 365 또는 Excel 2021 버전부터 사용할 수 있습니다.
'Excel' 카테고리의 다른 글
| Excel 표 크기가 자동으로 조정되도록 하는 방법 (0) | 2025.11.28 |
|---|---|
| 엑셀 수식의 복잡성을 절반으로 줄여주는 트릭 (0) | 2025.11.26 |
| Excel 시트를 더욱 스마트하게 만들어 주는 조건 함수 6가지 (0) | 2025.11.24 |
| [강의 예고] 엑셀 고수의 지름길 "배열 상수" 이해와 활용법 (0) | 2025.11.23 |
| 엑셀의 카메라 도구 vs. 연결된 그림으로 붙여넣기: 차이점은? (0) | 2025.11.21 |
