엑셀 VLOOKUP 함수 완벽 정리
기본 문법부터 #N/A 오류 해결, 실무 활용까지

엑셀에서 가장 많이 쓰이는 함수를 꼽으라면 단연 VLOOKUP입니다. 사원번호로 이름 찾기, 품목코드로 단가 가져오기처럼 "특정 값을 기준으로 다른 표에서 데이터를 찾아오는" 작업에 필수입니다. 이 글에서는 기본 개념부터 헷갈리기 쉬운 네 번째 인수, 자주 발생하는 오류 해결법까지 초보자도 따라할 수 있게 정리했습니다.

VLOOKUP 함수란?

VLOOKUP은 Vertical Lookup의 약자입니다. 표의 첫 번째 열에서 찾는 값을 검색한 뒤, 같은 행의 지정된 열에 있는 값을 반환합니다. 예를 들어 직원 명단에서 사번을 찾아 해당 직원의 이름이나 부서를 가져올 때 사용합니다.

기본 문법

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
인수설명필수 여부
lookup_value찾으려는 값 (셀 참조 또는 직접 입력)필수
table_array데이터를 검색할 표 범위. 첫 번째 열이 검색 기준이 됨필수
col_index_num반환할 값이 있는 열 번호 (표 범위에서 1부터 셈)필수
range_lookupFALSE(0) = 정확히 일치, TRUE(1) = 근사값 일치. 생략 시 TRUE선택
네 번째 인수를 생략하면 TRUE(근사값)로 동작합니다. 대부분의 실무에서는 FALSE(정확값)를 명시해야 원하는 결과를 얻을 수 있습니다.

STEP 1 — 기본 사용법: 사번으로 이름 찾기

1예제 데이터 준비

아래와 같이 A~C 열에 직원 명단이 있고, E 열에 조회하고 싶은 사번이 있다고 가정합니다.

A열 (사번)B열 (이름)C열 (부서)E열 (조회 사번)F열 (결과)
1001김철수인사팀1003← 여기에 수식
1002이영희재무팀
1003박민준영업팀
2F1 셀에 수식 입력
=VLOOKUP(E1, A:C, 2, FALSE)

결과: 박민준

부서를 가져오려면? col_index_num을 2 대신 3으로 바꾸면 C열(부서)이 반환됩니다.

STEP 2 — 절대참조로 수식 복사하기

수식을 여러 셀에 복사할 때 table_array가 움직이지 않도록 절대참조($)를 사용합니다.

=VLOOKUP(E1, $A$1:$C$100, 2, FALSE)

F1 셀의 수식을 F2, F3으로 복사해도 $A$1:$C$100은 고정됩니다. 반면 E1은 E2, E3으로 자동 변경되어 각 사번에 맞는 이름을 찾습니다.

STEP 3 — 근사값 일치(TRUE) 활용: 등급 계산

네 번째 인수를 TRUE로 설정하면 찾는 값보다 작거나 같은 가장 큰 값을 기준으로 결과를 반환합니다. 이 특성을 이용해 점수 구간별 등급을 매길 수 있습니다.

1등급 기준표 준비 (반드시 오름차순 정렬)
기준 점수 (H열)등급 (I열)
0D
60C
70B
90A
2수식 입력
=VLOOKUP(점수셀, $H$1:$I$4, 2, TRUE)

점수가 75점이면 70 이상 90 미만이므로 B가 반환됩니다.

TRUE 모드는 기준표가 반드시 첫 번째 열 기준으로 오름차순 정렬되어 있어야 정확한 결과가 나옵니다.

자주 발생하는 오류와 해결법

오류원인해결법
#N/A찾는 값이 표에 없음IFERROR로 감싸거나, 값 확인 후 재입력
#REF!col_index_num이 표 열 수보다 큼열 번호가 table_array 범위 내인지 확인
#VALUE!col_index_num이 0 이하이거나 숫자가 아님1 이상의 정수 입력
엉뚱한 값 반환range_lookup을 생략해 TRUE로 동작마지막 인수에 FALSE 명시
숫자인데 #N/A한쪽은 숫자, 다른 쪽은 텍스트 형식VALUE() 또는 TEXT() 함수로 형식 통일

IFERROR로 #N/A 숨기기

=IFERROR(VLOOKUP(E1, $A$1:$C$100, 2, FALSE), "없음")

찾는 값이 없을 때 오류 대신 "없음"을 표시합니다. 빈칸으로 처리하려면 ""를 사용합니다.

VLOOKUP의 한계와 대안

자주 묻는 질문

VLOOKUP에서 열 번호는 어떻게 세나요?
table_array로 지정한 범위의 첫 번째 열이 1입니다. 예를 들어 $B$1:$D$100으로 범위를 지정했다면 B열=1, C열=2, D열=3입니다. 워크시트 전체 열 번호(A=1, B=2...)와 다르니 주의하세요.
찾는 값에 공백이 섞여 있으면 #N/A가 나옵니다.
데이터에 앞뒤 공백이 숨어있는 경우입니다. =VLOOKUP(TRIM(E1), ...)처럼 TRIM 함수로 공백을 제거한 뒤 검색하거나, 표 데이터도 TRIM으로 정리하세요.
VLOOKUP과 XLOOKUP 중 무엇을 써야 하나요?
Microsoft 365 또는 Excel 2021 이상이라면 XLOOKUP을 권장합니다. 왼쪽 열 반환, 오류 처리 내장, 역방향 검색 등 VLOOKUP의 단점을 모두 보완한 함수입니다. 구버전 Excel이라면 VLOOKUP을 사용하세요.