핵심 요약
- VLOOKUP은 표의 첫 번째 열에서 값을 찾아, 같은 행의 다른 열 값을 가져오는 함수입니다.
- 기본 형태는
=VLOOKUP(찾을 값, 범위, 열 번호, FALSE)이며, 마지막 인수는 대부분 FALSE(정확히 일치)로 씁니다. - #N/A 오류는 대개 찾을 값이 없거나, 공백이 섞였거나, 숫자와 텍스트 형식이 달라서 생깁니다.
상품코드만 보고 상품명과 단가를 다른 표에서 하나씩 찾아 옮겨 적고 있다면, VLOOKUP 함수 하나로 그 작업을 끝낼 수 있습니다. 이 글에서는 엑셀과 구글 스프레드시트에서 똑같이 쓰는 VLOOKUP의 기본 사용법부터 자주 나는 오류를 고치는 방법까지 예시 표로 정리했습니다.
VLOOKUP 함수 구조 한눈에 보기
VLOOKUP에는 인수가 네 개 들어갑니다. 각 인수가 무엇을 뜻하는지만 알면 어떤 표에도 응용할 수 있습니다.
| 인수 | 뜻 | 예시 |
|---|---|---|
| 찾을 값 | 표에서 찾고 싶은 기준 값 | F3 (상품코드 P-104) |
| 범위 | 찾을 값이 맨 왼쪽 열에 들어 있는 표 전체 | $A$3:$C$7 |
| 열 번호 | 범위의 왼쪽부터 몇 번째 열의 값을 가져올지 | 2 (상품명), 3 (단가) |
| 일치 옵션 | FALSE는 정확히 일치, TRUE는 근삿값 | FALSE |
예시로 따라 하기: 상품코드로 상품명 찾기
A열에 상품코드, B열에 상품명, C열에 단가가 있고, F3 셀에 찾고 싶은 코드가 있다고 해 보겠습니다.
- 결과를 넣을 G3 셀을 클릭합니다.
=VLOOKUP(F3, $A$3:$C$7, 2, FALSE)를 입력하고 Enter를 누릅니다.- G3에 USB 허브가 표시됩니다. 단가를 가져오려면 열 번호만 3으로 바꾸면 됩니다.
범위를 $A$3:$C$7처럼 달러 기호로 고정하는 이유는 수식을 아래 셀로 복사할 때 범위가 함께 밀려 내려가지 않게 하기 위해서입니다. 수식 입력 중 범위를 선택한 뒤 F4 키를 누르면 달러 기호가 자동으로 붙습니다.
자주 나는 오류와 해결 방법
| 결과 | 원인 | 해결 |
|---|---|---|
| #N/A | 찾을 값이 범위의 첫 열에 없음, 앞뒤 공백, 숫자와 텍스트 형식 불일치 | 값을 다시 확인하고 TRIM으로 공백 제거, 두 열의 셀 서식 통일 |
| #REF! | 열 번호가 범위의 열 개수보다 큼 | 범위를 넓히거나 열 번호를 줄이기 |
| #VALUE! | 열 번호가 1보다 작음 | 열 번호를 1 이상으로 입력 |
| 엉뚱한 값 | 마지막 인수를 생략해 근삿값(TRUE)으로 찾음 | 마지막 인수에 FALSE 입력 |
찾는 값이 없을 때 #N/A 대신 안내 문구를 보여 주고 싶다면 IFERROR로 감쌉니다.
=IFERROR(VLOOKUP(F3, $A$3:$C$7, 2, FALSE), "코드 없음")
주의 VLOOKUP은 찾을 값보다 오른쪽에 있는 열만 가져올 수 있습니다. 왼쪽 열의 값이 필요하다면 표의 열 순서를 바꾸거나 아래에서 설명하는 XLOOKUP을 쓰세요.
구글 스프레드시트에서 쓰기와 XLOOKUP
구글 스프레드시트의 VLOOKUP도 함수 이름과 인수 순서가 엑셀과 같습니다. 위의 수식을 그대로 붙여 넣으면 같은 결과가 나옵니다.
마이크로소프트 365, 엑셀 2021 이후 버전, 구글 스프레드시트에서는 XLOOKUP도 쓸 수 있습니다.
=XLOOKUP(F3, A3:A7, B3:B7, "코드 없음")
XLOOKUP은 찾을 열과 가져올 열을 따로 지정하기 때문에 열 번호를 셀 필요가 없고, 왼쪽 열의 값도 가져올 수 있습니다. 다만 엑셀 2019 이하 버전에서는 지원하지 않으므로, 여러 사람과 파일을 주고받는다면 VLOOKUP이 더 안전합니다.
자주 묻는 질문
VLOOKUP은 대소문자를 구분하나요?
구분하지 않습니다. "abc"와 "ABC"를 같은 값으로 보고 찾습니다.
마지막 인수를 TRUE로 쓰는 경우는 언제인가요?
점수 구간별 등급처럼 정확한 값이 아니라 구간을 찾을 때 씁니다. 이때는 범위의 첫 열이 오름차순으로 정렬되어 있어야 올바른 결과가 나옵니다.
다른 시트에 있는 표에서도 찾을 수 있나요?
가능합니다. 범위 앞에 시트 이름을 붙여 =VLOOKUP(F3, '상품목록'!$A$3:$C$7, 2, FALSE)처럼 씁니다.
댓글
댓글 남기기