VLOOKUP은 표의 첫 번째 열에서 기준값을 찾은 뒤 같은 행의 다른 열에 있는 값을 가져오는 함수입니다. 엑셀 VLOOKUP 기본 사용법은 조회할 값, 검색할 표 범위, 반환할 열 번호, 검색 방식을 순서대로 입력하는 것입니다. 거래처 코드, 사번, 상품번호처럼 정확히 일치해야 하는 값을 찾을 때는 보통 FALSE를 지정합니다.

엑셀 VLOOKUP 기본 사용법: 핵심 요약

  • 기본 구문: =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
  • 조회 기준값은 선택한 표 범위의 가장 왼쪽 열에 있어야 합니다.
  • 반환할 열 번호는 선택한 범위 안에서 왼쪽부터 1로 계산합니다.
  • 정확히 일치하는 값을 찾으려면 마지막 인수에 FALSE 또는 0을 입력합니다.
  • 마지막 인수를 생략하면 근삿값 검색이 적용되므로, 코드·사번 조회에서는 생략하지 않는 편이 안전합니다.

예제로 익히는 VLOOKUP

다음과 같은 상품 목록이 있다고 가정하겠습니다.

A열 상품번호 B열 상품명 C열 단가
P1001 무선 마우스 25000
P1002 키보드 45000
P1003 웹캠 68000

다른 셀에 상품번호 P1002를 입력하고 상품명을 자동으로 가져오려면 다음 수식을 입력합니다.

=VLOOKUP(E2, A2:C4, 2, FALSE)

이 수식은 다음 순서로 작동합니다.

  1. E2: 찾을 상품번호가 들어 있는 셀입니다.
  2. A2:C4: 상품번호부터 단가까지 포함한 검색 범위입니다.
  3. 2: 검색 범위의 두 번째 열인 상품명을 반환하라는 뜻입니다.
  4. FALSE: 상품번호가 정확히 일치하는 행만 찾습니다.

E2가 P1002라면 결과는 키보드가 됩니다. 단가를 가져오려면 반환 열 번호를 3으로 바꿉니다.

=VLOOKUP(E2, A2:C4, 3, FALSE)

VLOOKUP 수식 입력 방법

1. 조회 기준값을 확인합니다

먼저 찾고 싶은 값이 있는 셀을 정합니다. 예를 들어 주문서의 상품번호가 E2에 있다면 lookup_value는 E2입니다.

조회값을 수식에 직접 입력할 수도 있습니다.

=VLOOKUP("P1002", A2:C4, 2, FALSE)

다만 여러 값을 반복해서 조회할 때는 값을 셀에 입력하고 셀 주소를 참조하는 방식이 관리하기 쉽습니다.

2. 검색 범위를 선택합니다

검색 범위는 기준값이 있는 열부터 반환하려는 열까지 포함해야 합니다. 상품번호가 A열, 상품명이 B열, 단가가 C열이라면 A2:C4를 선택합니다.

VLOOKUP은 범위의 가장 왼쪽 열에서만 기준값을 찾습니다. 따라서 상품번호가 C열에 있고 상품명이 A열에 있다면 A2:C4 범위로 상품번호를 찾을 수 없습니다. 기준 열이 범위의 첫 번째 열이 되도록 표의 범위를 다시 선택하거나 표 구조를 바꿔야 합니다.

3. 반환할 열 번호를 셉니다

열 번호는 엑셀 시트의 실제 열 문자 기준이 아니라 선택한 범위 안에서의 순서로 계산합니다.

예를 들어 범위가 B2:E10이라면 다음과 같이 계산합니다.

  • B열: 1
  • C열: 2
  • D열: 3
  • E열: 4

따라서 E열의 값을 가져오려면 열 번호에 4를 입력해야 합니다.

4. 검색 방식을 지정합니다

정확한 조회가 목적이라면 마지막에 FALSE를 입력합니다.

=VLOOKUP(E2, A2:C4, 2, FALSE)

FALSE 대신 0을 입력해도 같은 의미입니다.

=VLOOKUP(E2, A2:C4, 2, 0)

TRUE 또는 1은 근삿값 검색입니다. 이 경우 첫 번째 열이 오름차순으로 정렬되어 있어야 하며, 점수 구간이나 세율 구간처럼 범위에 따라 값을 찾을 때 사용합니다. 마지막 인수를 생략하면 근삿값 검색이 적용되므로, 정확한 번호나 코드 조회에서는 생략하지 않는 것이 좋습니다.

수식 구조를 이해하는 방법

VLOOKUP의 기본 구문은 다음과 같습니다.

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
인수 의미 예시
lookup_value 검색할 기준값 E2
table_array 검색할 표의 범위 A2:C4
col_index_num 반환할 열 번호 2
range_lookup 정확한 일치 또는 근삿값 검색 FALSE

수식은 먼저 범위의 첫 번째 열에서 lookup_value를 찾습니다. 값이 발견되면 같은 행으로 이동한 뒤 col_index_num에 지정한 열의 값을 반환합니다. 따라서 VLOOKUP은 기준값보다 왼쪽에 있는 열의 값을 가져올 수 없습니다.

VLOOKUP이 첫 번째 열의 기준값을 찾아 같은 행의 값을 반환하는 과정

여러 셀에 수식을 복사할 때

조회 목록이 여러 행에 이어져 있다면 첫 번째 셀에 수식을 입력한 뒤 아래로 복사할 수 있습니다. 이때 검색 범위가 함께 아래로 이동하지 않도록 범위를 절대참조로 고정하는 것이 안전합니다.

=VLOOKUP(E2, $A$2:$C$4, 2, FALSE)

$A$2:$C$4처럼 $를 붙이면 수식을 아래로 복사해도 검색 범위가 바뀌지 않습니다. 반면 E2는 E3, E4처럼 바뀌어 각 행의 조회값을 검색합니다.

#N/A 오류가 나올 때 해결 방법

조회값이 표에 실제로 있는지 확인합니다

정확한 일치 검색에서 #N/A가 표시되면 조회값과 범위의 첫 번째 열을 비교합니다. 오타, 불필요한 공백, 누락된 코드 때문에 값이 존재하지 않을 수 있습니다.

숫자와 텍스트 형식을 확인합니다

겉으로 같은 1001처럼 보여도 한쪽은 숫자이고 다른 쪽은 텍스트일 수 있습니다. 이 경우 VLOOKUP이 같은 값으로 인식하지 못해 #N/A가 발생할 수 있습니다. 조회 열과 기준값의 데이터 형식을 통일해야 합니다.

필요하면 셀의 표시 형식만 바꾸는 것이 아니라 실제 데이터 형식도 확인합니다. 숫자로 변환해야 하는 텍스트라면 상황에 따라 VALUE 함수 등을 사용할 수 있지만, 변환 전 원본 데이터가 바뀌지 않도록 복사본에서 점검하는 편이 안전합니다.

숨은 공백을 확인합니다

복사해 온 데이터에는 앞뒤에 보이지 않는 공백이 포함될 수 있습니다. 이런 경우 TRIM으로 불필요한 일반 공백을 제거한 보조 열을 만든 뒤 그 열을 기준으로 조회할 수 있습니다.

=TRIM(A2)

공백 제거 후에도 오류가 계속되면 특수 공백이나 줄바꿈 문자가 포함되었는지 확인해야 합니다.

기준값이 첫 번째 열인지 확인합니다

다음 수식처럼 검색 범위의 첫 번째 열이 상품명인데 상품번호를 찾으려 하면 작동하지 않습니다.

=VLOOKUP(E2, B2:C4, 2, FALSE)

상품번호가 A열에 있다면 범위를 A2:C4처럼 상품번호 열부터 시작해야 합니다. 기준 열보다 왼쪽의 값을 반환해야 한다면 VLOOKUP만으로는 처리할 수 없으므로 표의 열 순서를 바꾸거나 다른 조회 방법을 검토해야 합니다.

근삿값 검색을 사용할 때의 주의점

근삿값 검색은 다음처럼 구간별 기준을 찾을 때 사용할 수 있습니다.

=VLOOKUP(B2, E2:F5, 2, TRUE)

이 방식에서는 E2:E5의 기준값을 오름차순으로 정렬해야 합니다. 정렬되지 않은 상태에서 TRUE를 사용하면 예상하지 못한 값이 반환될 수 있습니다. 단순히 상품번호, 사번, 거래처 코드처럼 정확히 일치해야 하는 데이터를 찾는다면 FALSE를 사용하는 것이 적절합니다.

작업 전에는 엑셀 VLOOKUP 기본 사용법의 적용 범위와 원본 상태를 먼저 확인하는 것이 좋습니다.

자주 묻는 질문

VLOOKUP에서 FALSE와 0은 다른가요?

아닙니다. FALSE와 0은 정확히 일치하는 검색을 지정하는 같은 의미의 값입니다. 읽기 쉬운 수식을 선호하면 FALSE를 사용할 수 있습니다.

마지막 인수를 입력하지 않아도 되나요?

문법상 생략할 수 있지만, 생략하면 근삿값 검색이 적용됩니다. 정확한 코드나 사번을 찾는 경우 잘못된 결과를 막기 위해 FALSE 또는 0을 명시하는 것이 안전합니다.

VLOOKUP으로 왼쪽 열의 값을 가져올 수 있나요?

가져올 수 없습니다. 조회 기준값은 선택한 범위의 첫 번째 열에 있어야 하며, 반환값은 그 오른쪽 열에 있어야 합니다. 왼쪽 값을 조회해야 한다면 표의 열 배치를 바꾸는 방법을 먼저 검토합니다.

같은 조회값이 여러 번 있으면 어떤 값이 반환되나요?

VLOOKUP은 검색 범위의 첫 번째 열에서 조건에 맞는 값을 찾고 해당 행의 값을 반환합니다. 동일한 기준값이 여러 개라면 데이터가 중복되지 않도록 먼저 정리하는 것이 좋습니다.

조회값이 없을 때 빈칸으로 표시할 수 있나요?

IFERROR로 오류 표시를 다른 값으로 바꿀 수 있습니다.

=IFERROR(VLOOKUP(E2, $A$2:$C$4, 2, FALSE), "")

다만 오류를 숨기면 누락된 코드까지 놓칠 수 있으므로, 데이터 검증이 끝난 뒤 화면 표시를 정리할 때 사용하는 것이 좋습니다.

마무리

VLOOKUP은 범위의 첫 번째 열에서 기준값을 찾고 같은 행의 오른쪽 값을 반환하는 함수입니다. 정확한 조회에는 FALSE, 고정된 표 범위에는 절대참조, 오류가 발생하면 조회값의 존재 여부와 데이터 형식·공백·열 순서를 먼저 확인하면 됩니다.