1. VLOOKUP 공식 아주 쉽게 이해하기
VLOOKUP은 영어 Vertical(열, 세로)과 Lookup(찾기)의 합성어입니다. 즉, “세로로 정렬된 데이터에서 값을 찾아라”라는 뜻입니다. 공식은 딱 4가지만 채워 넣으면 됩니다.
=VLOOKUP(①_찾을_값,②_참조할_범위,③_가져올_열_번호,④_정확도)
이를 대화 형식으로 풀어서 이해하면 아주 쉽습니다.
- ① 찾을 값 (Lookup_value): “이 값을 기준으로 삼을 거야.” (예: 사원번호)
- ② 참조할 범위 (Table_array): “어디서 찾으면 돼?” (데이터가 모여 있는 원본 표 범위)
- ③ 가져올 열 번호 (Col_index_num): “찾았다면, 그 행의 몇 번째 열에 있는 값을 가져올까?” (1, 2, 3…)
- ④ 정확도 (Range_lookup): “정확히 일치하는 걸 찾을까, 대충 비슷한 걸 찾을까?” (직장인은 99% 정확히 일치하는
0또는FALSE를 씁니다.)
2. 3분 만에 마스터하는 실전 사용법
다음과 같은 예시가 있다고 가정해 보겠습니다. 사원번호를 입력하면 원본 표에서 이름을 자동으로 찾아오고 싶습니다.
[원본 표 (A열 ~ C열)]
| A열 (사원번호) | B열 (이름) | C열 (부서) |
|---|---|---|
| S001 | 김철수 | 인사팀 |
| S002 | 이영희 | 마케팅팀 |
| S003 | 박민수 | 개발팀 |
내가 찾고 싶은 사원번호가 E2 셀에 있고, 이름이 들어갈 자리가 F2 셀이라면, F2 셀에 아래와 같이 함수를 입력합니다.
Excel
=VLOOKUP(E2, A2:C4, 2, 0)
E2: E2 셀에 적힌 사원번호(예: S002)를 기준으로 삼습니다.A2:C4: 원본 데이터 표의 전체 범위입니다.2: 우리가 선택한 범위(A2:C4)에서 이름은 2번째 열에 있으므로2를 적습니다. (부서를 가져오고 싶다면3을 적으면 됩니다.)0: 정확히 일치하는S002를 찾으라는 의미입니다. (FALSE라고 적어도 똑같습니다.)
3. 직장인들을 밤새게 만드는 VLOOKUP 3대 오류 해결법
공식대로 잘 넣은 것 같은데 값이 안 나오고 에러가 뜬다면, 십중팔구 아래 3가지 이유 때문입니다.
1) #N/A 오류: “데이터가 없어요”
가장 흔하게 보는 오류입니다.
- 원인 A: 실제로 원본 표에 내가 찾으려는 값이 없을 때 발생합니다.
- 원인 B (공백 문제): 겉보기엔 똑같아 보이지만 한쪽에 미세한 띄어쓰기(공백)가 들어가서 엑셀이 다른 글자로 인식하는 경우입니다. (예:
S002와S002는 다름)- 해결책: 원본이나 찾을 값 양쪽의 공백을 지워주거나, 공백을 없애주는
=TRIM()함수를 활용하세요.
- 해결책: 원본이나 찾을 값 양쪽의 공백을 지워주거나, 공백을 없애주는
- 원인 C (숫자 vs 문자형 텍스트): 한쪽은 숫자
101로 저장되어 있고, 다른 쪽은 문자101로 저장되어 있으면 에러가 납니다. 셀 서식을 일치시켜야 합니다.
2) 드래그했을 때 값이 깨지는 오류 (★가장 중요)
첫 번째 칸은 잘 나왔는데, 아래로 수식을 드래그(자동 채우기)하니까 아래 칸들이 전부 에러가 나는 현상입니다.
- 원인: 수식을 아래로 내릴 때 ② 참조할 범위의 셀 주소도 같이 아래로 한 칸씩 밀려 내려가기 때문입니다.
- 해결책 (절대참조): 범위를 지정한 뒤 키보드의
F4키를 꼭 한 번 눌러서 주소에 달러 표시($)를 붙여 고정해 주어야 합니다.- 바른 예시:
=VLOOKUP(E2, $A$2:$C$4, 2, 0)
- 바른 예시:
3) 원본 표의 “왼쪽”에 있는 데이터는 못 찾는 한계
VLOOKUP 함수는 태생적으로 기준이 되는 값이 무조건 범위의 ‘첫 번째 열(맨 왼쪽)’에 있어야 합니다.
- 원인: 만약 기준 삼을
사원번호가 B열에 있고, 가져오고 싶은이름이 A열에 있다면 VLOOKUP은 작동하지 않고 에러를 뿜습니다. 무조건 오른쪽 방향으로만 찾을 수 있기 때문입니다. - 해결책: 원본 표의 열 순서를 바꾸거나, 왼쪽에 있는 값도 자유자재로 찾아오는 강력한 상위 호환 함수인
XLOOKUP(오피스 365 이상 지원) 또는INDEX와MATCH함수 조합을 사용하는 것이 좋습니다.