Menu

VLOOKUP과 XLOOKUP 차이: 무엇을 써야 할까

XLOOKUP은 VLOOKUP이 하는 모든 일을 하면서, 기본값이 정확히 일치이고, 열 번호가 없고, 왼쪽 조회가 되며, 찾을 수 없음 인수가 있습니다. 파일을 Excel 2019 이하에서 열어야 할 때는 여전히 VLOOKUP을 씁니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

XLOOKUP은 VLOOKUP이 하는 모든 일을 더 적은 실수 가능성으로 해냅니다. 기본값이 정확히 일치이고, 반환 열을 숫자가 아니라 범위로 받고, 왼쪽을 조회할 수 있으며, 자체 "찾을 수 없음" 인수가 있습니다. 파일이 XLOOKUP이 없는 Excel 2019 이하에서 동작해야 한다면 VLOOKUP을 쓰세요. 아래 시트는 같은 조회를 두 방식으로 실행합니다.

같은 조회, 두 함수
G2
ABCDEFG
1ProductCategoryPriceStockLook forPear
2AppleFruit$1.2040VLOOKUP$1.50
3PearFruit$1.5025XLOOKUP$1.50
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

둘 다 $1.50을 반환합니다. 각 수식을 클릭해 보세요. VLOOKUP은 표 A2:D6 전체를 테두리로 표시하고 그 안에서 3열을 세며, XLOOKUP은 검색하는 열과 반환하는 열만 표시합니다.

VLOOKUP과 XLOOKUP 비교

VLOOKUPXLOOKUP
엑셀 버전모든 버전Excel 2021, 2024, Microsoft 365, 웹
기본 일치유사 일치(4번째 인수를 생략하면)정확히 일치
반환 열표 안에서 세는 숫자범위
표 안에 열 삽입잘못된 열을 반환계속 동작
왼쪽 조회안 됨됨
값을 찾지 못함#N/A, IFNA로 감싸기4번째 인수, "Not found"
마지막 일치안 됨search_mode -1
여러 열을 한 번에수식 하나에 열 하나(Microsoft 365에서는 열 번호로 {2,3})여러 열의 반환 범위가 분산됨
유사 일치다음으로 작은 값, 데이터 정렬 필요다음으로 작거나 큰 값, 순서 상관없음
와일드카드FALSE이면 사용match_mode 2에서만
가로 조회HLOOKUP 필요같은 함수

둘 다 대소문자를 무시합니다. 정확히 일치에서는 둘 다 위에서부터 첫 번째 일치 값을 반환하며, XLOOKUP은 아래에서부터 검색하도록 지정할 수도 있습니다.

찾을 수 없을 때: IFNA와 네 번째 인수

목록에 없는 상품
G2
ABCDEFG
1ProductCategoryPriceStockLook forKiwi
2AppleFruit$1.2040VLOOKUP#N/A
3PearFruit$1.5025with IFNANot found
4CarrotVegetable$0.8060XLOOKUPNot found
5BreadBakery$2.4015
6MilkDairy$1.1030
#N/A 찾는 값이 조회 범위에 없습니다.

VLOOKUP만 쓰면 #N/A가 나옵니다. VLOOKUP이 텍스트를 보여 주려면 IFNA로 감싸야 하지만, XLOOKUP은 네 번째 인수로 그 일을 합니다. G1에 Milk를 입력하면 세 수식 모두 $1.10으로 일치합니다.

왼쪽 조회와 열 이동

VLOOKUP의 구조적 한계 두 가지는 열 번호에서 나옵니다. 검색하는 열의 오른쪽으로만 셀 수 있고, 표가 바뀌어도 숫자는 바뀌지 않습니다. Category와 Price 사이에 열을 삽입하면 =VLOOKUP(G1,A2:D6,3,FALSE)는 여전히 3열, 이제는 새로 생긴 열을 반환합니다. XLOOKUP은 반환 열을 범위로 참조하므로 엑셀이 다른 참조처럼 조정하고, 검색 열은 어디에 있어도 됩니다.

가격으로 상품 찾기(왼쪽 조회)
G2
ABCDEFG
1ProductCategoryPriceStockPrice$0.80
2AppleFruit$1.2040XLOOKUPCarrot
3PearFruit$1.5025INDEX MATCHCarrot
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

둘 다 Carrot을 반환합니다. 이름이 가격의 왼쪽에 있으므로 VLOOKUP 버전은 없습니다. 이전 엑셀에서의 답은 G3에 있는 INDEX MATCH이며, 열을 삽입해도 살아남습니다. INDEX와 MATCH 페이지에서 설명합니다.

두 함수의 유사 일치

구간 조회에서 VLOOKUP은 TRUE를 쓰고 첫 열이 오름차순 정렬되어 있어야 합니다. XLOOKUP은 match_mode -1을 쓰며 정렬이 필요 없고, match_mode 1은 대신 다음으로 큰 값을 주는데 VLOOKUP으로는 할 수 없는 일입니다.

매출에 따른 수수료율
E2
ABCDE
1Sales fromRateSales4,200
200%VLOOKUP3%
310003%XLOOKUP3%
450005%
5100008%
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

4,200에 대해 둘 다 3%를 반환합니다. E1을 10000으로 바꾸면 둘 다 8%를 반환합니다.

VLOOKUP을 계속 쓸 때

  • Excel 2019, 2016 이하를 쓰는 사람들과 파일을 공유할 때. 그곳에서 XLOOKUP은 #NAME?을 표시합니다. 모든 곳에서 동작하는 다른 선택지는 INDEX MATCH입니다.
  • 통합 문서에 이미 잘 동작하는 VLOOKUP이 수백 개 있을 때. 다시 쓴다고 얻는 것은 적습니다. 새 수식에만 XLOOKUP을 쓰세요.

속도는 어느 쪽을 고를 이유가 되지 않습니다. 일반적인 시트에서는 둘 다 즉시 계산되고, 매우 큰 정렬된 목록에서는 XLOOKUP의 이진 검색(search_mode 2)과 TRUE를 쓰는 VLOOKUP 모두 빠릅니다.

Google 스프레드시트는 두 함수를 같은 인수로 지원합니다.

연습: VLOOKUP 다시 쓰기

VLOOKUP에서 XLOOKUP으로
G2
ABCDEFG
1ProductCategoryPriceStockLook forBread
2AppleFruit$1.2040Stock
3PearFruit$1.5025
4CarrotVegetable$0.8060
5BreadBakery$2.4015
6MilkDairy$1.1030
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: =VLOOKUP(G1,A2:D6,4,FALSE)는 G1에 있는 상품의 재고를 반환합니다. G2에서 같은 조회를 XLOOKUP으로 쓰세요.

자주 묻는 질문

XLOOKUP이 VLOOKUP보다 좋은가요?

Excel 2021이나 Microsoft 365에서 새로 작업한다면 그렇습니다. 기본값이 정확히 일치이고, 열이 움직이면 망가지는 열 번호가 없고, 왼쪽을 조회하며, 찾을 수 없을 때의 텍스트가 내장되어 있습니다. VLOOKUP이 나은 경우는 XLOOKUP이 #NAME?을 표시하는 Excel 2019 이하에서 파일이 동작해야 할 때뿐입니다.

XLOOKUP이 VLOOKUP보다 빠른가요?

일반적인 시트에서는 체감할 만큼 다르지 않습니다. 둘 다 수천 행을 즉시 검색합니다. 매우 큰 정렬된 데이터에서는 XLOOKUP의 이진 검색 모드(search_mode 2)가 선형 검색보다 빠르고, TRUE를 쓰는 VLOOKUP도 이진 검색을 합니다.

XLOOKUP과 INDEX MATCH는 무엇이 다른가요?

같은 조회를 할 수 있습니다. XLOOKUP은 더 간단한 인수와 찾을 수 없음 인수를 가진 함수 하나이고, INDEX MATCH는 모든 엑셀 버전에서 동작합니다. =XLOOKUP(F2,A2:A6,C2:C6)과 =INDEX(C2:C6,MATCH(F2,A2:A6,0))은 같은 값을 반환합니다.

VLOOKUP을 XLOOKUP으로 바꾸려면 어떻게 하나요?

찾는 값은 그대로 두고, 표를 첫 열과 반환하던 열로 나누고, 열 번호와 FALSE를 뺍니다. =VLOOKUP(F2,A2:D6,3,FALSE)는 =XLOOKUP(F2,A2:A6,C2:C6)이 됩니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기