엑셀VLOOKUP함수 | 네 가지 인수부터 #N/A 오류 해결까지

엑셀VLOOKUP함수는 =VLOOKUP(찾을 값, 범위, 열 번호, FALSE) 형태로 쓰고, 정확히 같은 값을 찾을 때는 마지막 인수에 FALSE를 넣어요.
표의 맨 왼쪽 열에서 값을 찾아 같은 행의 원하는 열 값을 가져오는 함수라서, 제품코드로 가격을 찾거나 사번으로 이름을 찾을 때 씁니다.

VLOOKUP 함수 한눈에 보기
인수뜻
lookup_value찾을 값 또는 그 값이 든 셀
table_array찾을 값이 첫 번째 열에 있는 표 범위
col_index_num가져올 열 번호 (범위의 맨 왼쪽 열이 1)
range_lookupFALSE는 정확히 일치, TRUE나 생략은 근사 일치
적용 버전Microsoft 365, Excel 2024·2021·2019·2016

확인일 2026-11-06 · 근거: Microsoft 지원 VLOOKUP 함수 문서 · 정정 요청

엑셀 VLOOKUP 사용법, 인수 네 개만 기억하면 돼요

구문은 =VLOOKUP(찾을 값, 표 범위, 열 번호, 일치 방식) 한 줄이에요.
첫 번째는 찾을 값이나 그 값이 든 셀이고, 두 번째는 찾는 값과 가져올 값이 함께 들어 있는 범위입니다.

전화번호부에서 이름을 찾고 그 줄의 번호를 읽는 일과 같아요. 이름이 찾을 값이고, 전화번호부 전체가 범위이며, 이름에서 몇 칸 옆의 값을 읽을지가 열 번호입니다.

가장 많이 틀리는 곳이 열 번호예요. 열 번호는 시트의 열 글자가 아니라 범위의 맨 왼쪽 열을 1로 세어요.
범위가 D2:F100이라면 D열이 1, E열이 2, F열이 3이 되고, 찾는 값은 반드시 D열에 있어야 합니다. 표 이름이나 이름 정의 범위도 범위 자리에 쓸 수 있어요.

결과를 넣을 셀 선택가격을 보여 줄 셀을 하나 눌러 =VLOOKUP( 까지 입력해요.

찾을 값 지정제품코드가 적힌 셀(예: A2)을 첫 번째 인수로 넣어요.

표 범위와 열 번호 입력코드가 맨 왼쪽에 오도록 범위를 잡고, 가져올 열이 몇 번째인지 숫자로 적어요.

FALSE 입력 후 Enter마지막에 FALSE를 넣고 닫는 괄호를 쓴 뒤 Enter를 눌러요.

예시 1 · 제품코드로 가격을 찾는 수진 씨 (가정)제품코드가 A2에 있고 코드와 가격 표가 D2:E100이라고 가정해요.
=VLOOKUP(A2,$D$2:$E$100,2,FALSE)라고 쓰면 A2 코드와 같은 행의 두 번째 열, 즉 가격이 나옵니다. 코드가 표 첫 열에 없으면 #N/A가 떠요.

VLOOKUP TRUE FALSE 차이, 같은 값만 찾느냐 가까운 값도 찾느냐예요

네 번째 인수가 FALSE(또는 0)이면 첫 번째 열에서 정확히 같은 값만 찾아요.
TRUE(또는 1)이면 근사 일치라서, 표의 첫 번째 열이 숫자나 가나다 순으로 정렬되어 있다고 보고 가장 가까운 값을 찾습니다.

FALSE (정확히 일치)코드·사번·이름값이 똑같아야 하는 조회에 써요

TRUE (근사 일치)점수·금액 구간기준값이 오름차순으로 놓인 표에서만 써요

마지막 인수를 생략하면 TRUE로 동작해요. 정렬되지 않은 표에서 생략하면 잘못된 값이 나올 수 있으니 정확히 찾을 땐 FALSE를 꼭 적으세요.

예시 2 · 점수로 등급을 매기는 선생님 (가정)기준표의 첫 열에 0, 60, 70, 80, 90이 오름차순으로 있고 옆 열에 F, D, C, B, A가 적혀 있다고 가정해요.
85점을 근사 일치로 찾으면 85 이하에서 가장 큰 값인 80을 잡아 B가 나옵니다. 조회 값이 첫 열의 최소값 0보다 작으면 #N/A가 떠요.

VLOOKUP 오류 해결, #N/A부터 #REF!까지 원인이 달라요

오류 값마다 원인이 달라서 이름만 보면 어디를 고칠지 알 수 있어요.
가장 흔한 #N/A는 찾으라고 한 값을 못 찾았다는 뜻입니다.

VLOOKUP 오류 값과 원인
오류주된 원인고치는 법
#N/A정확 일치에서 값이 없거나, 근사 일치에서 첫 열 최소값보다 작음값 존재·형식·공백 확인
#REF!열 번호가 범위의 열 개수보다 큼열 번호를 범위 안으로 줄이기
#VALUE!열 번호가 1보다 작음열 번호를 1 이상으로
#NAME?텍스트를 직접 쓰며 따옴표를 빠뜨림"장"처럼 따옴표로 묶기
#SPILL!A:A처럼 열 전체를 조회 값으로 씀A2처럼 단일 셀로 바꾸기

텍스트를 수식에 직접 쓸 때는 =VLOOKUP("장",B2:E7,2,FALSE)처럼 따옴표로 묶어야 해요.
전체 열을 조회 값으로 쓴 =VLOOKUP(A:A,A:C,2,FALSE)는 #SPILL!과 관련될 수 있으니 =VLOOKUP(A2,A:C,2,FALSE)처럼 한 칸만 가리키게 바꿔 주세요.

VLOOKUP 값이 있는데 #N/A가 뜨는 이유는 대부분 눈에 안 보여요

숫자가 표에 분명히 있는데도 못 찾는다면 형식 문제일 가능성이 커요.
조회 값은 숫자인데 표의 첫 번째 열이 텍스트로 저장되어 있으면 서로 다른 값으로 취급됩니다. 셀 서식을 같은 형식으로 맞춰 주세요.

눈에 안 보이는 글자도 원인이 돼요. 첫 번째 열의 앞뒤 공백, 서로 다른 모양의 따옴표, 인쇄되지 않는 문자가 결과를 틀어지게 하고, TRIM이나 CLEAN 함수로 정리하면 해결되는 경우가 많습니다.

겉보기엔 같은 글자인데 뒤에 공백이 한 칸 붙은 상태는 '홍길동'과 '홍길동 '을 다른 사람으로 보는 것과 같아요. 엑셀은 한 글자라도 다르면 같은 값이 아니라고 판단합니다.

VLOOKUP 에러 숨기기, IFNA로 문구를 바꿔 보여 주세요

값이 없을 때 #N/A 대신 읽기 쉬운 문구를 보여 주고 싶다면 IFNA로 감싸요.
구문은 IFNA(값, #N/A일 때 보여 줄 값)이고, VLOOKUP이 #N/A를 돌려줄 때만 지정한 문구로 바뀝니다.

예시 3 · 없는 코드가 섞인 주문 목록 (가정)=IFNA(VLOOKUP(A2,$D$2:$E$100,2,FALSE),"찾을 수 없음")이라고 쓰면, 표에 없는 코드는 "찾을 수 없음"이 표시돼요.
다른 오류 값은 그대로 보이기 때문에 열 번호 실수 같은 진짜 문제를 가리지 않는다는 장점이 있습니다. 조건에 따라 결과를 나누는 방법은 엑셀 IF 함수에서 이어서 볼 수 있어요.

VLOOKUP 수식 복사, 범위는 절대 참조로 고정하세요

수식을 아래로 채우면 조회 범위도 한 칸씩 밀려 내려가요.
범위를 $D$2:$E$100처럼 $ 기호로 고정하면 모든 행이 같은 표를 보고 찾기 때문에, 복사했을 때 결과가 뒤틀리지 않습니다.

VLOOKUP은 같은 조회 값이 여러 개 있으면 위에서부터 처음 만나는 값 하나만 돌려줘요. 중복된 결과를 모두 보고 싶다면 FILTER나 피벗 테이블을 쓰는 방법이 있고, 합계가 필요하면 sumif 함수나 countif 함수 사용법이 더 간단할 때가 많아요.

VLOOKUP은 조회 열이 반환 열보다 왼쪽에 있어야 해요. 왼쪽 값을 가져와야 하는 표라면 다음 항목의 대안을 쓰세요.

VLOOKUP 대신 XLOOKUP, INDEX MATCH를 쓰는 경우예요

VLOOKUP은 왼쪽에서 오른쪽으로만 찾기 때문에, 반환 열이 조회 열보다 왼쪽에 있는 표에서는 index match 함수 조합을 써요.
XLOOKUP은 반환 열의 위치와 관계없이 같은 행의 결과를 가져오고 기본이 정확 일치라서 더 편합니다. 자세한 사용법은 xlookup 함수에서 볼 수 있어요.

VLOOKUP, XLOOKUP, INDEX MATCH 비교
구분VLOOKUPXLOOKUPINDEX+MATCH
조회 방향첫 열에서 오른쪽으로위치 제한 없음위치 제한 없음
기본 일치생략하면 근사 일치정확 일치MATCH 설정에 따름
Excel 2016·2019사용 가능사용 불가사용 가능

XLOOKUP은 Excel 2016과 2019에서 쓸 수 없어요. 그 버전을 쓰는 사람과 파일을 공유한다면 VLOOKUP이나 INDEX MATCH로 만드는 편이 안전합니다. 함수 전체 목록은 엑셀 함수에서 모아 볼 수 있고, 같은 이름의 정리글은 vlookup 함수에도 있어요.

자주 묻는 질문

VLOOKUP 마지막 인수는 TRUE와 FALSE 중 무엇을 쓰나요?
제품코드나 사번처럼 똑같아야 하는 값은 FALSE를 써요. 점수 구간처럼 기준값이 오름차순으로 놓인 표에서 가까운 값을 찾을 때만 TRUE를 씁니다.
마지막 인수를 빼면 왜 엉뚱한 값이 나오나요?
생략하면 TRUE, 즉 근사 일치로 동작해요. 첫 번째 열이 정렬되어 있지 않으면 잘못된 값이 나올 수 있어서 정확히 찾을 땐 FALSE를 꼭 적으세요.
표에 값이 분명히 있는데 #N/A가 떠요.
조회 값은 숫자인데 표의 값이 텍스트로 저장된 경우, 또는 앞뒤에 공백이 붙은 경우가 많아요. 셀 서식을 맞추고 TRIM이나 CLEAN으로 공백과 보이지 않는 문자를 정리해 보세요.
VLOOKUP으로 왼쪽 열의 값을 가져올 수 있나요?
안 돼요. VLOOKUP은 찾는 열보다 오른쪽 열만 가져옵니다. 왼쪽 값이 필요하면 INDEX와 MATCH를 함께 쓰거나, 최신 버전이라면 XLOOKUP을 쓰면 돼요.
수식을 아래로 복사하면 결과가 이상해져요.
조회 범위가 한 칸씩 밀려서 그래요. 범위를 $D$2:$E$100처럼 절대 참조로 고정하면 같은 표를 계속 바라봅니다.

VLOOKUP을 익혔다면 이어서 해 볼 작업

찾은 값을 표에 정리하다 보면 목록 선택이나 글자 합치기가 바로 필요해져요.
아래 세 가지는 VLOOKUP과 함께 가장 자주 쓰입니다.

엑셀 드롭다운 수정찾을 값을 목록에서 고르기› 엑셀 셀 병합 단축키표 제목 깔끔하게 정리› 엑셀 텍스트 합치기코드와 이름을 한 칸으로›