VLOOKUP과 XLOOKUP, 실무에서는 뭘 써야 할까
VLOOKUP은 오래전부터 사용해 온 조회 함수라 익숙하지만, 실제 업무 파일에서는 몇 가지 불편한 점이 있습니다. 대표적인 것이 왼쪽 방향으로 값을 가져오기 어렵다는 점과 반환할 열을 숫자로 지정해야 한다는 점입니다.
반면 XLOOKUP은 찾을 범위와 가져올 범위를 각각 지정하기 때문에 수식 구조가 조금 더 직관적입니다. 정확히 일치하는 값을 기본으로 찾고, 왼쪽과 오른쪽 어느 방향으로도 조회할 수 있습니다.
그렇다고 기존 VLOOKUP을 전부 XLOOKUP으로 바꿀 필요는 없습니다. 실제로는 사용하는 Excel 버전과 표 구조, 다른 사람과의 공유 여부를 기준으로 선택하는 것이 좋습니다.
VLOOKUP에서 #N/A가 나오거나 엉뚱한 값이 조회되는 문제를 먼저 해결하고 싶다면 VLOOKUP이 안 될 때 확인할 5가지도 함께 참고하면 좋습니다.
결론부터 - VLOOKUP과 XLOOKUP 차이
| 비교 항목 | VLOOKUP | XLOOKUP |
|---|---|---|
| 조회 방향 | 오른쪽 조회 | 왼쪽·오른쪽 모두 가능 |
| 반환값 지정 | 열 번호 사용 | 반환 범위를 직접 지정 |
| 표 구조 변경 | 열 번호 확인이 필요할 수 있음 | 범위를 직접 참조해 관리가 편함 |
| 값을 못 찾았을 때 | #N/A 또는 IFERROR 사용 | 수식 안에서 표시값 지정 가능 |
| 기본 일치 방식 | 네 번째 인수 생략 시 주의 | 정확히 일치 |
| 구버전 호환성 | 높음 | 사용 버전 확인 필요 |
1. 같은 데이터에서 두 함수를 비교해보기
예를 들어 제품코드와 제품명, 단가가 정리된 표가 있다고 가정해보겠습니다.
| 제품코드 | 제품명 | 단가 |
|---|---|---|
| P001 | A제품 | 12,000 |
| P002 | B제품 | 15,000 |
| P003 | C제품 | 18,000 |
P002의 단가를 찾는다면 VLOOKUP은 다음처럼 작성할 수 있습니다.
=VLOOKUP(E2,$A$2:$C$4,3,0)
같은 작업을 XLOOKUP으로 하면 다음과 같습니다.
=XLOOKUP(E2,$A$2:$A$4,$C$2:$C$4,"없음")
두 수식 모두 결과는 15,000입니다. 하지만 수식을 읽는 방식에는 차이가 있습니다.
VLOOKUP의 3은 조회 범위에서 세 번째 열을 가져오라는 의미입니다. 반면 XLOOKUP은 $C$2:$C$4처럼 실제로 값을 가져올 범위를 직접 지정합니다.
즉 VLOOKUP은 몇 번째 열인가를 기억해야 하고, XLOOKUP은 어느 범위에서 값을 가져올 것인가를 직접 지정한다는 차이가 있습니다.
2. 왼쪽 값을 찾아야 할 때 차이가 커집니다
이번에는 반대로 제품명으로 제품코드를 찾는 상황을 생각해보겠습니다.
제품코드는 왼쪽에 있고 제품명은 오른쪽에 있습니다. VLOOKUP은 지정한 조회 범위의 첫 번째 열에서 값을 찾고 그 오른쪽 값을 반환하는 구조이기 때문에 이런 역방향 조회에는 적합하지 않습니다.
XLOOKUP에서는 방향을 신경 쓸 필요가 없습니다.
=XLOOKUP(E2,$B$2:$B$4,$A$2:$A$4,"없음")
B열에서 제품명을 찾고 A열의 제품코드를 반환하도록 지정하면 됩니다.
즉 조회 기준 열의 왼쪽에 결과값이 있는 파일을 자주 다룬다면 XLOOKUP의 장점이 확실해집니다. XLOOKUP을 사용할 수 없는 환경에서는 INDEX/MATCH 조합으로 같은 형태의 조회를 만들 수 있습니다.
3. 표 구조가 바뀌면 어떤 차이가 날까?
실무에서 중요한 차이 중 하나는 표의 구조를 수정할 때 나타납니다.
앞에서 사용한 VLOOKUP 수식은 반환할 값을 3이라는 열 번호로 지정했습니다.
=VLOOKUP(E2,$A$2:$C$4,3,0)
VLOOKUP은 조회 범위 안에서 몇 번째 열을 반환할지 숫자로 결정합니다. 따라서 업무 중 조회 범위를 다시 지정하거나 열 구조를 변경했다면 반환할 열 번호가 여전히 맞는지 확인해야 합니다.
XLOOKUP은 찾을 범위와 반환 범위를 각각 직접 지정합니다.
=XLOOKUP(E2,$A$2:$A$4,$C$2:$C$4,"없음")
수식만 보더라도 A열에서 찾고 C열에서 결과를 가져온다는 구조를 바로 확인할 수 있습니다. 여러 사람이 함께 수정하는 파일에서는 이런 가독성도 중요한 차이가 됩니다.
4. 값을 찾지 못했을 때도 XLOOKUP이 간단합니다
VLOOKUP에서 찾는 값이 없으면 기본적으로 #N/A가 표시됩니다. 보고서에서 다른 문구를 보여주고 싶다면 IFERROR 등을 함께 사용하는 경우가 많습니다.
=IFERROR(VLOOKUP(E2,$A$2:$C$4,3,0),"없음")
XLOOKUP은 함수 안에서 값을 찾지 못했을 때 표시할 내용을 바로 지정할 수 있습니다.
=XLOOKUP(E2,$A$2:$A$4,$C$2:$C$4,"없음")
단순한 차이처럼 보이지만 조회 수식이 많은 파일에서는 수식이 짧아지고 읽기도 편해집니다.
5. 정확히 일치하는 값을 찾을 때도 차이가 있습니다
VLOOKUP에서 정확히 일치하는 값을 찾으려면 마지막 인수에 0 또는 FALSE를 지정하는 습관이 중요합니다.
=VLOOKUP(E2,$A$2:$C$4,3,0)
마지막 인수를 생략하면 근사 일치 방식이 사용되므로 코드, 사번, 거래처명처럼 정확한 값이 필요한 조회에서는 의도하지 않은 결과가 나올 수 있습니다.
반면 XLOOKUP은 정확히 일치가 기본 검색 방식입니다. 일반적인 코드·사번·거래처 조회라면 별도의 일치 옵션을 지정하지 않아도 됩니다.
특히 VLOOKUP은 수식 자체에 오류가 표시되지 않으면서 예상하지 못한 값이 반환되는 경우를 주의해야 합니다. 따라서 정확한 일치가 목적이라면 마지막 인수를 확인하는 습관이 중요합니다.
6. 그렇다면 VLOOKUP은 이제 안 써도 될까?
그렇지는 않습니다. 기존 업무 파일에 VLOOKUP 수식이 이미 많이 들어 있고 정상적으로 작동한다면 단순히 XLOOKUP이 새 함수라는 이유만으로 모두 교체할 필요는 없습니다.
특히 여러 사람이 같은 파일을 사용하거나 오래된 Excel 환경과 파일을 주고받는다면 호환성을 먼저 생각해야 합니다.
반대로 새 파일을 만들고 있고 사용하는 환경에서 XLOOKUP을 지원한다면 다음과 같은 경우 XLOOKUP을 우선 고려할 만합니다.
- 왼쪽 방향으로 값을 찾아야 할 때
- 표 구조가 자주 변경되는 파일을 관리할 때
- 조회 수식을 다른 사람이 함께 관리할 때
- 값을 찾지 못했을 때 표시할 내용을 간단하게 지정하고 싶을 때
7. XLOOKUP을 사용할 수 없는 Excel이라면
XLOOKUP은 모든 Excel 버전에서 사용할 수 있는 함수가 아닙니다. 따라서 회사 PC나 다른 사람과 공유하는 파일이라면 실제 사용 환경에서 XLOOKUP 지원 여부를 확인하는 것이 좋습니다.
지원하지 않는 Excel에서 XLOOKUP이 포함된 파일을 사용하면 함수가 정상적으로 계산되지 않을 수 있습니다.
구버전에서도 왼쪽 조회와 유연한 반환 범위가 필요하다면 INDEX/MATCH 조합을 대안으로 사용할 수 있습니다.
8. 속도만 보고 함수를 고를 필요는 없습니다
VLOOKUP과 XLOOKUP의 계산 성능은 데이터 구조, 조회 범위, 수식 개수, Excel 버전 등에 따라 달라질 수 있습니다.
일반적인 업무 파일이라면 단순히 어느 함수가 더 빠른지를 기준으로 선택하기보다 호환성, 수식의 가독성, 조회 방향, 표 구조 변경 가능성을 기준으로 선택하는 편이 현실적입니다.
수십만 행에 조회 수식이 대량으로 들어가는 파일이라면 함수 종류만 비교하기보다 전체 열 참조를 줄이고, 불필요한 중복 계산을 없애고, 원본 데이터 구조를 정리하는 것이 더 중요할 수 있습니다.
자주 막히는 문제
1) XLOOKUP을 입력했는데 함수 자체를 인식하지 못합니다
사용 중인 Excel에서 XLOOKUP을 지원하는지 먼저 확인합니다. 파일 → 계정에서 제품 정보를 확인하고 지원하지 않는 환경이라면 VLOOKUP이나 INDEX/MATCH를 사용하는 방법을 고려할 수 있습니다.
2) VLOOKUP이 값은 가져오는데 결과가 이상합니다
네 번째 인수가 빠져 있는지 먼저 확인합니다. 코드나 거래처명처럼 정확히 같은 값을 찾아야 한다면 0 또는 FALSE를 사용합니다.
그래도 해결되지 않는다면 숫자와 텍스트 형식 차이, 앞뒤 공백, 조회 범위 등을 순서대로 확인하는 것이 좋습니다.
3) XLOOKUP 결과가 옆 셀까지 여러 개 표시됩니다
XLOOKUP의 반환 범위를 여러 열로 지정하면 여러 결과를 한 번에 반환할 수 있습니다. 한 개 값만 필요하다면 반환 범위를 한 열로 지정합니다.
자주 묻는 질문
VLOOKUP과 XLOOKUP 중 어떤 것을 먼저 배우는 게 좋나요?
현재 사용하는 Excel에서 XLOOKUP을 지원한다면 XLOOKUP부터 익혀도 좋습니다. 다만 기존 회사 파일이나 다른 사람이 만든 문서에서는 VLOOKUP을 자주 만나기 때문에 기본적인 VLOOKUP 문법과 오류 원인도 함께 알아두는 것이 좋습니다.
기존 VLOOKUP 수식을 전부 XLOOKUP으로 바꿔야 하나요?
정상적으로 작동하는 기존 파일이라면 반드시 바꿀 필요는 없습니다. 새로 만드는 파일이거나 조회 방향과 표 구조가 자주 변경되는 파일부터 XLOOKUP을 적용하는 방법이 현실적입니다.
구글 스프레드시트에서도 XLOOKUP을 사용할 수 있나요?
사용할 수 있습니다. 다만 Excel 파일과 Google 스프레드시트를 서로 변환해 사용하는 업무라면 실제 파일에서 수식과 결과가 그대로 유지되는지도 확인하는 것이 좋습니다.
왼쪽 조회 때문에 XLOOKUP을 쓰는 것이라면 INDEX/MATCH는 필요 없나요?
XLOOKUP을 사용할 수 있는 환경에서는 많은 조회 작업을 더 간단하게 작성할 수 있습니다. 하지만 XLOOKUP을 지원하지 않는 Excel과 호환해야 한다면 INDEX/MATCH가 여전히 유용합니다.
정리
- 기존 파일이 정상적으로 돌아간다면 VLOOKUP을 억지로 바꿀 필요는 없습니다.
- 새 파일이고 XLOOKUP 지원 환경이라면 XLOOKUP을 우선 고려할 만합니다.
- 왼쪽 조회나 변경이 잦은 표 구조에서는 XLOOKUP이 편리합니다.
- 구버전 Excel과 공유해야 한다면 VLOOKUP 또는 INDEX/MATCH를 고려합니다.
- VLOOKUP은 정확히 일치하는 조회에서 마지막 인수
0또는FALSE를 확인합니다. - XLOOKUP은 정확히 일치가 기본이므로 일반적인 조회에서는 별도의 일치 옵션이 필요하지 않습니다.
결국 둘 중 하나가 무조건 더 좋은 함수라고 보기보다는 사용하는 Excel 환경과 파일의 구조를 기준으로 선택하는 것이 좋습니다. 새로 만드는 업무 파일에서는 XLOOKUP이 편한 경우가 많고, 기존 파일이나 구버전 호환이 중요한 환경에서는 VLOOKUP과 INDEX/MATCH가 여전히 필요합니다.
댓글
댓글 쓰기