Excel · 조회

엑셀 VLOOKUP

표에서 원하는 값을 찾아 해당 행의 다른 열 값을 가져오는 함수입니다.

VLOOKUP 수식 구조

=VLOOKUP(검색값, 범위, 열 번호, FALSE)

검색값 (lookup_value)

찾으려는 값. 예: "사과", A1 셀 참조

범위 (table_array)

검색할 표 범위. 첫 번째 열에서 검색값을 찾음. 예: A1:C10

열 번호 (col_index_num)

가져올 열의 번호. 범위의 첫 번째 열이 1. 예: 2 (두 번째 열)

정확히 일치 (range_lookup)

FALSE = 정확히 일치, TRUE = 유사 일치. 대부분 FALSE 사용

직접 체험해보세요

검색값과 열 번호를 선택한 후 “실행”을 누르면 VLOOKUP 동작 과정을 볼 수 있습니다.

E2=VLOOKUP("우유", A:C, 2, FALSE)
ABCE
1상품명가격분류결과
2사과1,500과일
3바나나3,000과일
4당근800채소
5우유2,500유제품
6식빵3,500
7계란6,000축산
▲ "실행" 버튼을 눌러 VLOOKUP 동작을 확인하세요

실전 활용 예제

=VLOOKUP("사과", A1:C100, 2, FALSE)

상품 목록에서 '사과'의 가격을 찾습니다. A열에서 '사과'를 찾고, 같은 행의 2번째 열(가격) 값을 반환합니다.

예시: 상품표에서 사과의 가격 조회1,500
=VLOOKUP(A1, Sheet2!A:D, 3, FALSE)

다른 시트의 데이터를 참조합니다. A1의 값을 Sheet2의 A열에서 찾고, 3번째 열 값을 가져옵니다.

예시: 현재 시트의 사번으로 다른 시트에서 부서명 조회영업부
=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "없음")

IFERROR로 감싸면 검색 값이 없을 때 #N/A 대신 원하는 텍스트를 표시할 수 있습니다.

예시: 없는 상품을 검색했을 때"없음"
목차
  1. 1.엑셀 VLOOKUP 함수란?
  2. 2.range_lookup — FALSE vs TRUE의 결정적 차이
  3. 3.자주 발생하는 오류 6가지
  4. 4.VLOOKUP의 구조적 한계 4가지
  5. 5.VLOOKUP vs XLOOKUP vs INDEX/MATCH
  6. 6.실전 사용 시나리오 10가지
  7. 7.자주 묻는 질문

엑셀 VLOOKUP 함수란?

엑셀 VLOOKUP 함수는 표의 첫 번째 열에서 값을 찾아 같은 행의 다른 열 값을 가져오는 가장 많이 쓰이는 조회 함수입니다. V는 Vertical(세로)의 약자로, 세로로 정렬된 표에서 값을 찾는다는 의미예요. 상품 가격 조회, 사번으로 부서명 찾기, 두 표 병합 등 데이터 매칭의 90%가 VLOOKUP으로 해결됩니다.

구문은 =VLOOKUP(찾을값, 범위, 열번호, FALSE) 형식입니다. 4개 인수 중 마지막 FALSE가 핵심으로, 대부분의 실무에서 정확 일치 모드인 FALSE를 사용합니다. 생략하면 TRUE(유사 일치)가 기본값이 되어 의도치 않은 결과가 나올 수 있어서 반드시 FALSE를 명시하는 게 안전합니다.

range_lookup — FALSE vs TRUE의 결정적 차이

VLOOKUP에서 가장 많은 혼란을 일으키는 부분이 마지막 인수 range_lookup입니다. 두 모드의 차이는 결정적이라 잘못 쓰면 모든 결과가 틀립니다.

옵션동작언제 쓰나
FALSE (또는 0)정확 일치만 반환. 없으면 #N/A실무의 90% — 이 모드
TRUE (또는 1, 기본값)유사 일치 (가까운 작은 값). 데이터 오름차순 정렬 필수구간별 등급·세율 매칭

함정: range_lookup을 생략하면 TRUE가 기본값. 정확 일치 의도로 생략하면 정렬 안 된 데이터에서 잘못된 값이 반환됩니다. "결과가 항상 첫 행만 나온다"는 신고의 대부분이 이 함정 때문이에요.

자주 발생하는 오류 6가지

VLOOKUP 오류 메시지별 원인과 해결법.

오류원인해결
#N/A검색값 없음 또는 데이터 타입 불일치IFERROR 감싸기, TRIM/CLEAN, VALUE 변환
#REF!열번호가 범위의 열 개수 초과col_index_num 재확인
#VALUE!열번호가 1보다 작음1 이상 정수로
#NAME?함수명 오타 (VLOKUP 등)VLOOKUP 정확히 입력
잘못된 결과TRUE 모드인데 데이터 정렬 안 됨오름차순 정렬 또는 FALSE 사용
항상 첫 행만FALSE 빠뜨림 → TRUE 기본으로 작동마지막 인수 FALSE 명시

#N/A가 가장 흔합니다. 대부분 원인은 눈에 안 보이는 공백(엑셀로 다운받은 데이터에 자주 섞여 있음) 또는 텍스트 vs 숫자 타입 불일치(예: "123"과 123). TRIM·CLEAN·VALUE 함수로 정리한 뒤 다시 시도하면 거의 해결됩니다.

VLOOKUP의 구조적 한계 4가지

VLOOKUP은 단순한 만큼 한계도 명확합니다. 이 한계를 알아야 다른 함수로 우회할 시점을 알 수 있어요.

한계 1. 왼쪽 조회 불가

검색 열보다 왼쪽에 있는 데이터는 가져올 수 없습니다. 예를 들어 상품명이 B열, 코드가 A열일 때 코드로 상품명은 되지만 상품명으로 코드는 VLOOKUP 불가. 해결: =INDEX(A:A, MATCH(B1, B:B, 0)) 조합 또는 XLOOKUP (Excel 2021+).

한계 2. 열 추가·삭제에 취약

col_index_num이 절대 번호라 중간에 열을 끼워넣거나 빼면 모든 수식이 깨집니다. 해결: MATCH로 동적 열 번호 산출 — =VLOOKUP(A1, B:F, MATCH("부서", B1:F1, 0), FALSE). 헤더 이름이 바뀌지 않는 한 안전합니다.

한계 3. 첫 매칭만 반환

동일 검색값이 여러 행 있어도 첫 번째 일치 행만 반환. 해결: Excel 365의 FILTER (=FILTER(반환열, 검색열=A1)), 보조 열 + COUNTIF, 또는 피벗테이블·Power Query.

한계 4. 대소문자 무시

"Apple"과 "apple"을 같은 값으로 취급. 구분이 필요하면 EXACT 함수를 INDEX/MATCH와 함께 배열 수식으로 조합해야 합니다.

VLOOKUP vs XLOOKUP vs INDEX/MATCH

조회 함수 3대장을 비교하면 본인 상황에 맞는 선택이 보입니다.

항목VLOOKUPXLOOKUPINDEX/MATCH
왼쪽 조회
if_not_found 내장✗ (IFERROR 필요)
정확 일치 기본✗ (TRUE 기본)
구문 단순성✓ 가장 단순✓ 단순중간 (2함수 조합)
버전 호환Excel 2003+Excel 2021+ / 365Excel 2003+

의사결정 요약:

  • Excel 2021/365 + 본인만 사용 → XLOOKUP (가장 편함)
  • Excel 2019 이하 또는 다른 사람과 공유 → VLOOKUP + IFERROR (호환성)
  • 왼쪽 조회·복잡한 조건 → INDEX/MATCH 또는 XLOOKUP

호환성도 거의 모든 스프레드시트(Google Sheets·LibreOffice Calc·한컴 한셀·WPS·Apple Numbers)에서 VLOOKUP은 동일하게 작동합니다. XLOOKUP은 일부 구버전에서 미지원이라 호환성이 중요하면 VLOOKUP이 안전합니다.

실전 사용 시나리오 10가지

실무에서 자주 마주치는 VLOOKUP 패턴.

  • 상품 가격 조회 =VLOOKUP("사과", A1:C100, 2, FALSE)
  • 다른 시트 참조 =VLOOKUP(A1, Sheet2!A:D, 3, FALSE)
  • #N/A 오류 처리 =IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "없음")
  • 다중 키 검색 (보조 열) =VLOOKUP(A1&B1, D1:F100, 3, FALSE) (D열에 미리 =A&B 보조 열)
  • 동적 열 번호 (MATCH 조합) =VLOOKUP(A1, B:F, MATCH("부서", B1:F1, 0), FALSE)
  • 구간별 등급 매칭 (TRUE) =VLOOKUP(A1, $D$1:$E$5, 2, TRUE) (D열 오름차순 정렬 필수)
  • 왼쪽 조회 (대안) =INDEX(A:A, MATCH(B1, B:B, 0))
  • 와일드카드 부분 일치 =VLOOKUP("*사과*", A:B, 2, FALSE) (FALSE 모드에서 *, ? 지원)
  • 텍스트→숫자 타입 변환 =VLOOKUP(VALUE(A1), B:C, 2, FALSE)
  • 두 표 병합 (정합성) =VLOOKUP(A2, 다른표!A:D, 4, FALSE) — 명단표에 부서·직급 자동 채우기

자주 묻는 질문

Q. VLOOKUP 함수 사용법은?

=VLOOKUP(찾을값, 범위, 열번호, FALSE) 형식입니다. A1 셀의 값을 B1:D100 범위 첫 열에서 찾고 3번째 열 값을 가져오려면 =VLOOKUP(A1, B1:D100, 3, FALSE)를 입력합니다. 마지막 FALSE는 정확 일치 의미로, 거의 모든 실무에서 FALSE를 사용합니다.

Q. VLOOKUP #N/A 오류는 왜 나나요?

검색값이 범위 첫 열에 없거나, 데이터 타입이 달라서(텍스트 "123" vs 숫자 123) 매칭이 안 될 때 발생합니다. IFERROR로 감싸면 친절한 메시지로 바꿀 수 있고, 타입 불일치는 VALUE·TEXT 함수로 변환합니다. 공백·줄바꿈이 문제일 때는 TRIM·CLEAN으로 정리하세요.

Q. VLOOKUP과 XLOOKUP 중 뭘 써야 하나요?

Excel 2021/365 사용 + 본인만 쓴다면 XLOOKUP이 더 편합니다 (왼쪽 조회·if_not_found 내장·정확 일치 기본). 단 Excel 2019 이하 또는 다른 사람과 공유한다면 호환성을 위해 VLOOKUP+IFERROR 또는 INDEX/MATCH를 권장합니다.

Q. VLOOKUP에서 왼쪽 열 값을 가져올 수 있나요?

불가능합니다. VLOOKUP은 범위의 첫 번째 열에서만 검색하고 오른쪽 열만 반환합니다. 왼쪽 조회는 INDEX/MATCH 조합(=INDEX(반환열, MATCH(검색값, 검색열, 0))) 또는 XLOOKUP을 사용하세요.

Q. TRUE와 FALSE는 언제 어떻게 다른가요?

FALSE(정확 일치)는 검색값과 완전히 같은 값만 찾고, 없으면 #N/A를 반환합니다. TRUE(유사 일치)는 가장 가까운 작은 값을 찾으며 데이터가 오름차순 정렬되어 있어야 합니다. TRUE는 구간별 등급·세율 매칭 같은 특수 케이스에만 쓰고, 대부분은 FALSE를 명시적으로 입력해야 의도치 않은 오류를 방지합니다.

Q. 열 번호가 자꾸 깨지는데 어떻게 하나요?

col_index_num은 절대 위치라 중간에 열을 추가·삭제하면 깨집니다. MATCH 함수로 동적 계산하면 안전합니다: =VLOOKUP(A1, 범위, MATCH("헤더명", 헤더범위, 0), FALSE). 또는 Excel 표(Ctrl+T) 기능 + 구조적 참조도 좋은 대안입니다.

Q. 같은 검색값이 여러 행 있을 때 모두 가져올 수 있나요?

VLOOKUP은 첫 번째 일치 행만 반환합니다. 모든 결과가 필요하면 Excel 365의 FILTER 함수 (=FILTER(반환열, 검색열=A1)), 보조 열 + COUNTIF, 또는 피벗테이블·Power Query를 사용하세요.

Q. 다른 시트나 다른 파일의 데이터도 검색되나요?

네. 다른 시트는 =VLOOKUP(A1, Sheet2!A:D, 3, FALSE), 다른 파일은 =VLOOKUP(A1, [파일명.xlsx]Sheet1!A:D, 3, FALSE) 형식입니다. 단 외부 파일은 열려있어야 정상 작동하고, 닫으면 #REF! 오류 가능성이 있습니다.

본 페이지는 Microsoft Support 공식 VLOOKUP·XLOOKUP 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.