- 최초 작성일: 1999-08-06
- 최종 수정일: 2026-09-29
- 조회수: 38 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: VLOOKUP 함수로 원하는 값 찾기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
지금까지 여러가지 종류의 함수들에 대해 설명을 드렸습니다. 문자열 함수, Sumif, Countif, Rank 함수, 그리고 사용자 정의 함수 등등…
오늘도 재미있고 유용한 함수 한가지에 대해 알아 보겠습니다.
아래와 같은 "제품별 판매 실적"이 있습니다. 이 자료는 설명을 드리기 위해 직접 입력한 자료이므로 20여 개 정도의 레코드 밖에 없습니다(레코드란 용어가 생소하신가요? 그냥 가로 행이라고 생각하세요. 추후 억세스 같은 데이터베이스 프로그램에 대해 공부할 기회가 있으면 그 때 자세히 설명드리기로 하고…)
그런데 이런 레코드가 한 1000개 정도 있다고 가정해 보세요. 1000개나 되는 제품 기본 정보 중에서 자기가 원하는 정보를 추려서 보기란 쉽지 않겠지요?
VLOOKUP 함수로 원하는 값 찾기
핵심 요약
- VLOOKUP은 기준값을 표의 첫 열에서 찾아 같은 행의 지정한 열 값을 가져오는 함수입니다.
- 찾을 값, 참조 범위, 반환할 열 번호, 일치 방식의 네 가지 인수를 순서대로 지정합니다.
- 수식을 아래로 복사할 때 기준 셀과 참조 범위를 고정해야 하는 부분은 절대주소로 지정합니다.
위의 표를 보면, 좌측편에는 제품들의 판매실적이 있고, 우측편에는 개별 제품에 대한 정보를 표시하기 위한 양식이 그려져 있습니다.
자, 그런데 '제품코드만 탁 치면 그 제품의 이름과 당월판매, 누계판매가 한번에 좌~악 표시되도록 할 수는 없을까?'하는 의문이 생길수도 있겠지요?
오늘은 바로 이 문제에 대한 해결책을 알려드립니다. 잘 보세요.
이러한 기능을 수행하는 함수가 바로 vlookup()함수 입니다. "V(Vertical:세로로) + lookup(찾아보다)", 즉 "세로방향으로 값을 찾아서 값을 display시켜라" 뭐 대충 이런 뜻이겠지요?
vlookup 함수는 vlookup(인수1,인수2,인수3,인수4)와 같이 4개의 요소로 이루어져 있습니다.
인수1: 찾을 문자열(위 예에서는 제품코드가 되겠지요)
인수2: 찾고자 하는 테이블(범위를 말합니다)
인수3: 해당 문자열이 전체 테이블(범위) 내에서 몇 번째 vertical, 즉 열에 있는가
인수4: 정확히 일치하는 값을 찾을 것인가 아니면 비슷하게 맞는 것을 찾을 것인가
좀 복잡해 보이지요? 하나하나 설명을 드리지요.
| 제품코드 | 제품명 | 당월판매 | 누계판매 |
| 212065-9913 | 오스카에버스킨 | 14559 | 57096 |
| 212065-9933 | 오스카에버로션 | 19712 | 72667 |
| 212065-9963 | 오스카에버아스트린 | 9530 | 28938 |
| 212065-9978 | 오스카에버모크림 | 9943 | 48785 |
| 212066-0654 | 미스토픽코팅에센스 | 4248 | 9634 |
| 212066-1648 | 미스토픽스프레이3 | 19728 | 49564 |
| 212066-1649 | 미스토픽스프레이13 | 14850 | 54035 |
| 212066-1650 | 미스토픽스프레이23 | 24223 | 44227 |
| 212066-1654 | 미스토픽스프레이33 | 19539 | 19539 |
| 212066-1657 | 미스토픽트리트로션 | 410 | 4710 |
| 212067-0751 | 미스쾌에버로션 | 10202 | 29176 |
| 212067-0757 | 미스쾌에버스킨 | 10012 | 29673 |
| 212090-9935 | 대서양화로션 | 1496 | 4797 |
| 212090-9948 | 대서양프레쉬마스크 | 230 | 14600 |
| 212090-9975 | 대서양UV화크림 | 1739 | 17000 |
| 212093-0869 | 레쎄UV그린2종 | 9369 | 58011 |
| 212097-9913 | 은하수UV그소프너 | 19000 | 52533 |
| 212097-9924 | 은하수아이리프팅시럼 | 9985 | 14478 |
| 제품코드 | 212066-1657 |
| 제품명 | 미스토픽트리트로션 |
| 당월판매 | |
| 누계판매 |
참고: 원문 표는 왼쪽 판매실적 표와 오른쪽 조회 양식(제품코드 입력 칸)이 한 표로 이어져 있어 두 표로 나누었습니다. 제품코드 212066-1657의 당월판매와 누계판매는 왼쪽 표에서 각각 410, 4710입니다.
(1) 위 표 오른쪽 부분에 빨갛게 칠해진 부분에 셀포인터를 둔 후 =vlookup이라고 입력한 후 Ctrl + A키를 칩니다.(함수명을 쓴 후 Ctrl + A키를 치면 함수마법사 2단계가 바로 나타난다는 것은 이제 다들 아시지요?)
(2) 그러면 vlookup()함수와 관련된 대화상자가 나타납니다.
(3) 각각의 항목을 아래와 같이 채워 넣습니다.
직접 손으로 입력해도 되고 마우스를 사용해도 됩니다.
(4) 확인 버튼을 클릭합니다. 셀의 내용과 수식입력바의 내용을 확인해 보세요.
자, 여기서 눈여겨 볼 점! 아마 눈썰미가 있으신 분은 짐작하셨을 수도 있겠는데 처음에 함수명을 입력할 때 분명히 소문자로 vlookup이라고 입력을 했지요? 그런데 수식 입력 바는 어떻습니까? 대문자로 표기가 되어 있지요? 여기서 한가지 교훈(?)을 얻을 수 있겠지요.
'아, 함수명을 소문자로 제대로 입력하면 저절로 대문자로 바뀌는구나. 그러므로 함수 입력 시에는 소문자로 입력한 후 그것이 대문자로 바뀌었나 아닌가를 보면 오타여부를 발견할 수가 있겠구나!'
(5) 이렇게 입력한 후 수식을 아래로 주~욱 복사하면 되나요? 안되지요? 왜냐고요?
위에서 공식을 보면 인수1, 인수2 부분은 공식을 복사해도 셀주소가 바뀌면 안되겠지요? 즉 절대주소로 입력을 시켜야지요. 따라서 인수1, 인수2 부분을 절대주소로 바꾸어 준 후 공식을 아래로 복사해 보세요(이 때 <F4>키를 사용하면 편리하겠지요?).
Hlookup 함수도 Vlookup 함수와 같은 원리입니다. 다만 참조하는 테이블(범위)이 조금 틀리다는 것 뿐. 직접 해 보세요. 하다 안되면 메일 주시고…
다음 시간에 또…
정리 — VLOOKUP 함수로 원하는 값 찾기
| 구분 | 내용 |
|---|---|
| 함수 | VLOOKUP(인수1, 인수2, 인수3, 인수4): 세로 방향으로 값을 찾아 표시 |
| 인수1 | 찾을 값(예제에서는 제품코드) |
| 인수2 | 찾고자 하는 테이블(범위) |
| 인수3 | 찾은 값이 범위 안에서 몇 번째 열에 있는지 |
| 인수4 | 정확히 일치하는 값을 찾을지, 비슷하게 맞는 값을 찾을지 |
| 복사할 때 | 인수1과 인수2는 절대주소로 바꾼 뒤 아래로 복사(F4 키 사용) |
| 관련 함수 | HLOOKUP도 같은 원리이며 참조하는 테이블의 방향만 다름 |
자주 묻는 질문 (FAQ)
Q1. VLOOKUP 함수는 어떤 기능을 하나요?
제품코드처럼 기준이 되는 값을 입력하면 그 제품의 이름, 당월판매, 누계판매 같은 정보를 한꺼번에 찾아 표시해 주는 함수입니다. 세로 방향으로 값을 찾는다는 뜻입니다.
Q2. VLOOKUP 함수의 네 가지 인수는 무엇인가요?
인수1은 찾을 값, 인수2는 찾고자 하는 테이블(범위), 인수3은 찾은 값이 범위 안에서 몇 번째 열에 있는지, 인수4는 정확히 일치하는 값을 찾을지 비슷하게 맞는 값을 찾을지를 지정합니다.
Q3. 수식을 아래로 복사하기 전에 무엇을 해야 하나요?
인수1과 인수2가 복사해도 바뀌지 않도록 절대주소로 바꾸어야 합니다. F4 키를 사용하면 편리합니다.
마치며
제품코드 하나로 여러 정보를 불러오는 VLOOKUP을 직접 실습해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.