블로그
엑셀 VLOOKUP 함수 기본부터 실무 활용까지
Sik Yang · 2026년 1월 13일직원 번호 입력 한 번에 이름, 부서, 연락처가 자동으로 채워지는 시트. 제품 코드만 쓰면 가격과 재고가 바로 붙어 나오는 조회 폼. 이게 다 VLOOKUP 함수 하나로 됩니다. 수백 행짜리 데이터를 손으로 찾던 시간이 0이 됩니다.
문제는 설정입니다. TRUE/FALSE 하나 잘못 쓰면 전혀 다른 값이 나오고, 범위를 절대참조로 고정하지 않으면 수식을 복사하는 순간 절반이 깨집니다. 실무에서 VLOOKUP이 "맞는 것 같은데 왜 틀린 값이 나오지?" 하는 상황의 90%는 이 두 가지 때문입니다. 이 글에서는 기본 구조부터 자주 틀리는 설정까지 단계별로 짚어드립니다.

엑셀 VLOOKUP 함수란?
엑셀 VLOOKUP은 세로 방향 표에서 왼쪽 첫 번째 열을 기준으로 값을 찾고, 같은 행의 다른 열 값을 가져오는 함수입니다.
쉽게 말해 특정 ID, 코드, 이름을 입력하면 거기에 맞는 정보를 자동으로 조회하는 도구입니다. 실무에서는 사번으로 이름과 부서를 찾거나, 상품 코드로 가격과 재고를 불러오는 식으로 자주 사용합니다.
중요한 전제도 있습니다. 찾을 값은 반드시 표 범위의 가장 왼쪽 열에 있어야 하고, 가져올 값은 그 오른쪽 열에 있어야 합니다.
엑셀 VLOOKUP 사용법, 4가지 인수 이해하기
기본 구조는 아래와 같습니다.
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)

첫 번째 인수 lookup_value
무엇을 찾을지 정하는 기준값입니다. 예를 들어 사번 1001, 고객 번호 C-023, 상품 코드 P002 같은 값이 여기에 들어갑니다.
두 번째 인수 table_array
어디에서 찾을지 정하는 검색 범위입니다. 이때 기준열, 즉 lookup_value가 들어 있는 열이 범위의 첫 번째 열이어야 합니다.
세 번째 인수 col_index_num
검색 범위에서 몇 번째 열 값을 가져올지 지정하는 숫자입니다. 범위의 첫 번째 열이 1, 그 오른쪽이 2, 3, 4 순서입니다.
네 번째 인수 range_lookup
정확히 같은 값만 찾을지, 비슷한 값도 허용할지를 정하는 옵션입니다.
FALSE또는0: 정확히 일치하는 값만 찾음TRUE또는1: 근사값을 찾음
이 인수를 생략하면 기본값이 TRUE라서 실무에서는 의도와 다른 결과가 나올 수 있습니다. 대부분의 조회 작업에서는 FALSE를 명시하는 편이 안전합니다.
기본 예제로 익히는 VLOOKUP
Employee_List 시트의 A열부터 D열까지 사번, 이름, 부서, 전화번호가 있다고 가정해 보겠습니다. Lookup_Form 시트에서 사번을 입력하면 이름과 부서가 자동으로 나오게 만들 수 있습니다.
이름 가져오기 수식

- Lookup_Form 시트의
A4셀에 사번을 입력합니다. - 이름이 표시될 셀에 아래 수식을 입력합니다.
=VLOOKUP($A$4, Employee_List!$A$2:$D$11, 2, FALSE)
- 여기서
2는 이름이 검색 범위의 두 번째 열에 있기 때문입니다.
부서 가져오기 수식

부서까지 가져오려면 열 번호만 바꾸면 됩니다.
=VLOOKUP($A$4, Employee_List!$A$2:$D$11, 3, FALSE)
여기서 3은 부서가 세 번째 열에 있기 때문입니다. 아래로 복사해 쓸 예정이라면 범위는 절대참조로 고정해 두는 것이 좋습니다.
다른 시트 참조하기
Employee_List!$A$2:$D$11처럼 시트명 뒤에 !를 붙이면 같은 통합 문서 안의 다른 시트 데이터를 조회할 수 있습니다. 이런 방식으로 시트 간 조회 폼을 쉽게 만들 수 있습니다.
VLOOKUP 수식이 맞는데 틀린 값이 나온다면: 이 3가지 중 하나입니다
1. 절대참조를 고정하지 않는 경우
VLOOKUP 수식을 아래로 복사하면 table_array 범위도 함께 밀릴 수 있습니다. 예를 들어 A2:D100이 A3:D101로 바뀌면 마지막 행이 누락될 수 있습니다.
이 문제를 막으려면 아래처럼 범위를 고정해야 합니다.
$A$2:$D$100
2. TRUE와 FALSE를 혼동하는 경우
네 번째 인수를 비워두면 엑셀은 기본적으로 TRUE를 적용합니다. 정확히 일치해야 하는 사번, 상품 코드, 고객 번호 조회에 TRUE가 들어가면 엉뚱한 값이 나올 수 있습니다.
실무에서는 대부분 FALSE를 습관처럼 명시하는 편이 안전합니다.
3. 열 번호를 잘못 지정하는 경우
col_index_num은 시트의 실제 열 문자 기준이 아니라 table_array 내부 기준입니다. 예를 들어 범위가 C:F라면 C=1, D=2, E=3, F=4로 셉니다.
또한 조회값이 첫 번째 열에 실제로 없거나, 범위를 너무 좁게 잡아 새 데이터가 범위 밖에 생기면 #N/A 오류가 날 수 있습니다.
TRUE와 FALSE를 정확히 이해하기

FALSE: 정확히 일치
FALSE는 첫 번째 열에서 lookup_value와 정확히 같은 값을 찾습니다. 없으면 #N/A를 반환합니다. 일반적인 업무용 조회에서는 거의 항상 이 옵션을 사용합니다.
TRUE: 근사값
TRUE는 조회값보다 작거나 같은 값 중 가장 큰 값을 찾습니다. 이때 기준 열은 반드시 오름차순으로 정렬되어 있어야 합니다.
세율 구간표나 점수 구간표처럼 "어느 범위에 속하는가"를 찾을 때 사용합니다.
예를 들어 점수 구간이 0, 60, 70, 80, 90으로 정렬되어 있다면 TRUE를 사용해 점수에 맞는 등급을 자동으로 찾을 수 있습니다.
인수를 생략하면 생기는 문제
많은 사용자가 네 번째 인수를 생략해도 괜찮다고 생각하지만, 이 경우 엑셀이 내부적으로 TRUE를 적용합니다. 정확히 일치해야 하는 조회에서는 반드시 FALSE를 명시해야 합니다.
VLOOKUP의 한계와 대안
왼쪽 값을 가져올 수 없음
VLOOKUP은 기준값이 항상 왼쪽 첫 번째 열에 있어야 합니다. 결과가 왼쪽에 있는 경우에는 사용할 수 없습니다.
이럴 때는 INDEX/MATCH 조합이나 최신 버전의 XLOOKUP을 고려할 수 있습니다.
다중 조건 처리에 약함
VLOOKUP은 기본적으로 하나의 조건만 사용합니다. 이름과 부서를 동시에 기준으로 삼아야 할 때는 보조열을 만들어 고유 키를 생성하거나, INDEX/MATCH 조합을 사용하는 편이 더 낫습니다.
중복값이 있으면 첫 번째 값만 반환
같은 이름이 여러 번 등장해도 VLOOKUP은 위에서부터 첫 번째 값만 가져옵니다. 이런 문제를 줄이려면 사번처럼 고유한 키를 기준으로 조회하는 것이 좋습니다.
자주 묻는 질문
왜 #N/A 오류가 발생하나요?
조회값과 첫 번째 열 값이 정확히 일치하지 않을 때 발생합니다. 앞뒤 공백, 숫자와 텍스트 형식 차이 때문에 자주 생깁니다. TRIM, VALUE, TEXT 같은 함수로 형식을 맞추면 해결되는 경우가 많습니다.
정확히 일치할 때는 TRUE와 FALSE 중 무엇을 써야 하나요?
정확히 일치하는 값을 찾아야 한다면 FALSE를 사용해야 합니다. TRUE는 구간 판단용입니다.
여러 시트에서 VLOOKUP을 쓸 수 있나요?
가능합니다. SheetName!범위 형식으로 시트명을 붙이면 됩니다.
왜 절대참조가 필요한가요?
수식을 복사할 때 검색 범위가 밀리지 않도록 고정하기 위해서입니다. 범위가 바뀌면 엉뚱한 값을 읽거나 오류가 날 수 있습니다.
VLOOKUP 수식 짜는 데 10분 걸린다면: inline AI가 10초에 완성합니다

범위 절대참조 고정, FALSE 명시, 열 번호 계산, #N/A 원인 추적. 익숙한 사람도 매번 실수하는 부분입니다. 새 시트를 받을 때마다 처음부터 다시 설정하는 것도 반복입니다.
inline AI는 VLOOKUP 수식 구조를 직접 분석하고, 범위 오류와 인수 설정 실수를 자동으로 수정합니다. "A열 사번으로 B시트에서 이름이랑 부서 가져와줘"처럼 자연어로 말하면 완성된 수식을 즉시 삽입합니다. VLOOKUP 관련 반복 작업 시간을 평균 80% 단축하며, 내 PC 로컬에서만 실행됩니다. 중요한 업무 데이터가 외부 서버로 나가지 않습니다.
지금 무료로 다운로드하고, VLOOKUP 설정 실수를 AI가 대신 잡게 하세요.
내 컴퓨터 안의 AI 비서, inline AI 다운로드하기



