[실무 엑셀 9편] VLOOKUP은 잊어라! 퇴근 시간을 앞당기는 'XLOOKUP' 완벽 가이드
안녕하세요. SSHINS입니다.
직장인들의 영원한 단짝이자 엑셀의 꽃이라고 불리는 함수가 있습니다. 바로 'VLOOKUP'이죠. 아마 회사에서 엑셀을 켠다면 하루에도 수십 번씩 이 함수를 사용하실 겁니다. 저 역시 신입 시절 VLOOKUP을 처음 배우고 나서 신세계를 경험했던 기억이 납니다.
하지만 실무에서 데이터가 방대해지고 보고서 양식이 복잡해지다 보면, VLOOKUP의 치명적인 단점들 때문에 스트레스를 받는 순간이 반드시 찾아옵니다. 기준값이 무조건 맨 왼쪽 열에 있어야만 검색이 가능하고, 중간에 열을 하나 삽입하기라도 하면 기껏 걸어둔 수식이 #REF! 오류를 뿜어내며 다 깨져버리기 일쑤죠. 게다가 에러 값을 숨기려면 IFERROR 함수를 또 겉에 씌워줘야 하는 번거로움도 있습니다.
그런데 마이크로소프트가 드디어 직장인들의 이런 고충을 듣고, 2020년에 VLOOKUP을 역사 속으로 보내버릴 궁극의 함수를 출시했습니다. 바로 오늘 소개해 드릴 'XLOOKUP'입니다. 한 번 손에 익으면 다시는 VLOOKUP으로 돌아갈 수 없는 마약 같은 함수, 지금부터 실무에서 어떻게 활용하는지 핵심만 짚어드리겠습니다.
1. XLOOKUP의 기본 구조: 직관적이고 단순하다
VLOOKUP은 '몇 번째 열(숫자)'에서 데이터를 가져올지 머릿속으로 세어야 했지만, XLOOKUP은 아주 직관적입니다. "이 값을, 이 범위에서 찾아서, 저 범위의 값을 가져와!"라고 마우스로 드래그만 해주면 끝납니다.
- 기본 공식:
=XLOOKUP(찾을 값, 찾을 범위, 가져올 범위)
[실무 예시] 사원 번호(A열)로 직원의 이름(B열)을 찾고 싶을 때
- VLOOKUP:
=VLOOKUP(사원번호, A:B, 2, 0)➡️ 열 번호 '2'를 직접 세어서 입력해야 함. - XLOOKUP:
=XLOOKUP(사원번호, A:A, B:B)➡️ A열에서 찾아서 B열을 가져오라고 직관적으로 지정함. 맨 끝에 정확히 일치하는 값을 찾기 위해 쓰던 '0'이나 'FALSE'도 적을 필요가 없습니다. (XLOOKUP은 '정확히 일치'가 기본값입니다.)
2. VLOOKUP의 최대 단점 완벽 극복: 왼쪽 데이터 검색
VLOOKUP을 쓰다 보면 가장 짜증 나는 순간이 바로 기준값이 데이터 우측에 있을 때입니다. 예를 들어, 표의 구조가 [C열: 직원 이름], [A열: 사원 번호] 순서로 되어 있다면, VLOOKUP으로는 절대 C열의 이름을 기준으로 A열의 사원 번호를 가져올 수 없습니다. 원본 표의 열 순서를 억지로 바꾸거나, 복잡한 INDEX와 MATCH 함수를 조합(이전 2편 참조)해서 써야만 했죠.
하지만 XLOOKUP은 방향의 제한이 아예 없습니다.
- 왼쪽 검색 수식:
=XLOOKUP(직원이름, C:C, A:A) - 해석: C열에서 이름을 찾은 다음, A열에 있는 사원 번호를 그대로 끌고 옵니다.
원본 데이터의 표 구조를 전혀 건드리지 않고도 내가 원하는 데이터를 왼쪽, 오른쪽 마음대로 쏙쏙 뽑아올 수 있다는 것 하나만으로도 이 함수를 쓸 가치는 충분합니다.
3. 열을 추가하거나 삭제해도 수식이 깨지지 않는다
VLOOKUP에서 열 번호를 숫자로 직접 입력(예: 3번째 열)해 두었는데, 중간에 새로운 열을 하나 삽입하면 어떻게 될까요? 원래 3번째 있던 데이터가 4번째로 밀려나면서 내가 엉뚱한 값을 가져오거나 에러가 납니다.
반면 XLOOKUP은 가져올 범위(B:B) 자체를 영역으로 묶어버렸기 때문에, 중간에 열을 100개를 삽입하든 삭제하든 수식이 그 열을 찰떡같이 따라가서 절대 오류가 나지 않습니다. 보고서 폼을 자주 수정해야 하는 실무자에게는 엄청난 보험이자 무기입니다.
4. IFERROR가 필요 없는 자체 에러 처리 기능
데이터를 찾지 못했을 때 보기 싫은 #N/A 에러를 숨기기 위해 우리는 항상 수식 앞에 =IFERROR(VLOOKUP(...), "미등록") 처럼 함수를 두 겹으로 싸서 썼습니다. 수식이 길어지니 괄호 닫기도 헷갈리죠.
XLOOKUP은 함수 자체에 에러 처리 기능이 내장되어 있습니다. 공식의 4번째 자리에 '원하는 문구'만 적어주면 끝납니다.
- 에러 처리 수식:
=XLOOKUP(찾을 값, 찾을 범위, 가져올 범위, "미등록") - 해석: 데이터를 찾아보고, 만약 없으면 에러를 띄우지 말고 그냥 "미등록"이라고 깔끔하게 표시해 줘!
💡 주의사항: 내 엑셀 버전을 먼저 확인하세요
이렇게 완벽한 XLOOKUP에도 유일한 단점이 하나 있습니다. 바로 최신 버전의 엑셀에서만 작동한다는 점입니다. Office 365 구독자이거나 엑셀 2021 이상의 버전을 사용 중이신 분들만 이 기능을 쓰실 수 있습니다. 만약 사내 PC의 엑셀 버전이 2019 이하라면 함수 목록에 XLOOKUP이 아예 뜨지 않습니다. 이 경우에는 아쉽지만 기존의 VLOOKUP이나 INDEX/MATCH 조합을 계속 사용하셔야 합니다.
마무리하며
오늘 소개해 드린 XLOOKUP은 사실 이 외에도 '위에서부터 찾기/아래서부터 찾기', '와일드카드(*) 검색' 등 엄청난 심화 기능들을 더 품고 있습니다. 하지만 오늘 다룬 [역방향 검색]과 [자체 에러 처리] 두 가지만 손에 익히셔도 여러분의 데이터 취합 속도는 최소 2배 이상 빨라질 것입니다.
오늘 당장 회사 엑셀에서 =XLOOKUP을 타이핑해 보세요!
다음 포스팅에서는 엑셀의 꽃을 넘어 '엑셀의 신'으로 불리기 위한 첫걸음, '매크로(VBA) 찍먹하기 - 단순 반복 업무 1초 만에 끝내기' 편으로 찾아오겠습니다. 언제나 여러분의 칼퇴를 응원합니다.
💡 SSHINS의 실무 엑셀 마스터 시리즈
댓글
댓글 쓰기