기본 수식, 다른 시트 참조, 다중조건, 에러 해결까지 4단계로 이어지는 엑셀 브이룩업 활용 흐름

엑셀 브이룩업(VLOOKUP)은 =VLOOKUP(찾을 값, 참조 범위, 열 번호, 0) 구조로, 표의 첫 번째 열에서 찾을 값을 검색해 같은 행의 다른 열 값을 가져오는 함수다. 사원번호로 이름을, 제품코드로 가격을 찾는 식의 “조회” 작업에 쓴다. 기본 수식은 간단하지만 다른 시트 참조·조건 2개 이상 검색·#N/A 에러는 정작 잘 다뤄지지 않는다. 이 글에서는 엑셀 브이룩업의 기본 사용법부터 실무에서 막히는 지점까지 한 번에 정리했다.

엑셀 브이룩업 기본 수식부터 알아보면

엑셀 브이룩업은 인수 4개로 이루어진다 — 찾을 값, 참조 범위, 열 번호, 일치 옵션. 예를 들어 사원번호로 이름을 찾는다면 =VLOOKUP(A2, $D$2:$E$100, 2, 0)처럼 쓴다. A2는 찾을 사원번호, D2:E100은 사원번호·이름이 있는 표, 2는 그 표에서 이름이 몇 번째 열인지, 마지막 0은 정확히 일치하는 값만 찾으라는 뜻이다.

  1. 결과 셀에 =VLOOKUP( 을 입력한다
  2. 찾을 값이 있는 셀을 클릭하고 쉼표(,)를 넣는다
  3. 참조 범위를 드래그로 지정한 뒤 F4를 눌러 절대참조로 고정한다
  4. 참조 범위 안에서 가져올 데이터가 몇 번째 열인지 열 번호를 입력한다
  5. 정확히 일치하는 값만 찾도록 0을 입력하고 괄호를 닫은 뒤 엔터를 친다

브이룩업 수식을 완성하는 5단계

3번 단계에서 F4를 눌러 절대참조($D$2:$E$100)로 고정하지 않으면, 수식을 아래로 복사할 때 참조 범위가 같이 밀려서 엉뚱한 값이 나온다. 브이룩업 오류의 상당수가 이 절대참조 누락에서 시작된다.

다른 시트에 있는 데이터도 브이룩업으로 가져올 수 있을까

가능하다. 참조 범위 앞에 시트 이름과 느낌표(!)를 붙이면 다른 시트를 그대로 조회할 수 있다. “사원명단” 시트에서 “급여대장” 시트로 이름을 가져온다면 =VLOOKUP(A2, 사원명단!A:B, 2, 0)처럼 쓰면 된다. 시트 이름에 공백이 있으면 작은따옴표로 감싸야 한다('사원 명단'!A:B).

상황수식 예시
같은 시트 안 참조=VLOOKUP(A2, D2:E100, 2, 0)
다른 시트 참조=VLOOKUP(A2, 사원명단!A:B, 2, 0)
다른 파일(통합문서) 참조=VLOOKUP(A2, [급여파일.xlsx]사원명단!A:B, 2, 0)

다른 파일을 참조할 땐 그 파일이 열려 있어야 값이 정상적으로 갱신된다. 파일을 닫아도 마지막으로 열었을 때의 값은 남아있지만, 최신 값을 보려면 다시 열어야 한다.

조건이 두 개 이상이면 브이룩업으로 안 될까

VLOOKUP은 원래 조건 1개(찾을 값 1개)만 검색하도록 만들어진 함수라, “지점이 서울이면서 담당자가 김민지인” 것처럼 조건이 2개 이상이면 그대로는 안 된다. 실무에서 가장 간단한 우회법은 보조열을 만드는 것이다. 참조 표 맨 앞에 조건 두 개를 이어붙인 열(예: =D2&E2로 “서울김민지”)을 추가하고, 찾을 값도 똑같이 이어붙여서(=VLOOKUP(B2&C2, 보조열포함범위, 열번호, 0)) 검색하면 조건 2개짜리 조회가 된다.

VLOOKUP 한계와 XLOOKUP·INDEX/MATCH 대안

여기까지는 VLOOKUP 자체로 해결하는 법이었고, 여기서부터는 VLOOKUP 구조 자체의 한계를 아는 사람을 위한 내용이다.

1. VLOOKUP은 오른쪽 방향만 조회한다. 찾을 값이 있는 열을 기준으로, 항상 그보다 오른쪽에 있는 열의 값만 가져올 수 있다. 이름으로 사번을 찾아야 하는데 표에서 사번이 이름보다 왼쪽에 있으면 VLOOKUP으로는 안 된다 — 이때는 INDEX(MATCH()) 조합이나 XLOOKUP을 쓴다.

2. 엑셀 365 이상이라면 XLOOKUP이 더 편하다. XLOOKUP은 왼쪽·오른쪽 방향을 가리지 않고, 열 번호를 세지 않아도 되며(범위를 직접 지정), 찾는 값이 없을 때 표시할 문구도 함수 안에서 바로 지정할 수 있다(=XLOOKUP(A2, D:D, E:E, "없음")). 다만 구버전 엑셀이나 다른 사람과 파일을 주고받을 때는 XLOOKUP이 안 열릴 수 있어, 호환성이 중요한 문서라면 여전히 VLOOKUP이 안전하다.

구분VLOOKUPXLOOKUP
조회 방향오른쪽만 가능왼쪽·오른쪽 모두 가능
열 번호 지정직접 세어서 입력불필요(범위로 지정)
값 없을 때 문구별도 함수(IFERROR) 필요함수 안에서 바로 지정
사용 가능 버전모든 버전엑셀 365·2021 이상

브이룩업 자주 나는 에러, 원인과 해결법

증상원인해결
#N/A찾을 값이 참조 범위 첫 열에 정확히 없음공백·숫자/텍스트 형식 불일치 확인 후 =TRIM()으로 공백 제거
#REF!열 번호가 참조 범위의 전체 열 개수보다 큼참조 범위 안에서 열 번호를 다시 센다
#VALUE!참조 범위·열 번호 인수 형식이 잘못됨인수 순서와 따옴표·괄호 짝을 확인한다
엉뚱한 값 반환절대참조($) 누락으로 수식 복사 시 범위가 밀림참조 범위를 다시 지정하고 F4로 고정한다

브이룩업 4대 에러와 원인

정리하면 엑셀 브이룩업은 수식 자체는 4개 인수뿐이지만, 다른 시트 참조·조건 2개 이상·에러 원인까지 알아야 실무에서 막히지 않는다. 왼쪽 열 조회가 잦거나 최신 버전을 쓴다면 XLOOKUP으로 넘어가는 것도 방법이다. 조회 결과를 요약·집계까지 이어가고 싶다면 엑셀 피벗테이블로 넘어가면 되고, 참조 표 자체에 잘못된 값이 섞이지 않게 막고 싶다면 엑셀 데이터 유효성 검사를 같이 걸어두는 것도 방법이다.

자주 묻는 질문

Q. 엑셀 브이룩업이란 정확히 뭔가요?

표의 첫 번째 열에서 찾을 값을 검색한 뒤, 같은 행의 다른 열에 있는 값을 가져오는 함수다. 사원번호로 이름을 찾는 식의 조회 작업에 쓴다.

Q. 브이룩업으로 왼쪽에 있는 열은 못 가져오나요?

못 가져온다. VLOOKUP은 찾을 값 기준 오른쪽 열만 조회할 수 있다. 왼쪽 열이 필요하면 XLOOKUP이나 INDEX/MATCH를 쓴다.

Q. 다른 시트에 있는 데이터도 브이룩업으로 가져올 수 있나요?

가능하다. 범위 앞에 시트 이름과 느낌표(!)를 붙이면 된다. 예: =VLOOKUP(A2, Sheet2!A:B, 2, 0)

Q. #N/A 에러는 왜 뜨나요?

찾을 값이 참조 범위의 첫 열에 정확히 없을 때 뜬다. 공백이나 숫자·텍스트 형식 불일치가 흔한 원인이다.

Q. 브이룩업이랑 XLOOKUP 중 뭘 배워야 하나요?

회사 엑셀 버전이 365면 XLOOKUP이 더 편하다. 다만 구버전 파일을 주고받는 곳이 많다면 VLOOKUP부터 익히는 게 안전하다.

출처

  1. VLOOKUP 함수 — Microsoft 지원
  2. VLOOKUP 함수의 #VALUE! 오류를 수정하는 방법 — Microsoft 지원