앤토니의 오디세이

(엑셀함수) VLOOKUP에 대한 설명 및 예제 본문

리뷰하기/마이크로소프트

(엑셀함수) VLOOKUP에 대한 설명 및 예제

Antony 2009. 2. 14. 18:33

엑셀만큼 간단하면서 파워풀한 툴은 보기 힘들죠. 저도 엑셀을 자주 사용하는데 그중에서 가장 많이 사용하는 함수중 하나가 VLOOKUP입니다. 이 함수를 활용하려면 기본적으로 상대참조, 절대참조는 이해하셔야 합니다.


VLOOKUP 사용하기


샘플을 올려보겠습니다.

예를 들어, 우측표와 같이 어떤 코드집이 있다고 하죠. 코드에 대한 의미가 Description으로 부여가 되어 있습니다. 좌측표에는 코드만 있고 별도의 정보가 있습니다.

기본 코드집

DO에 대한 코드 할당



좌측 표와 같이 코드만 할당된 경우 해당 코드에 대한 내용을 우측 표에서 가지고 올때 하나씩 일일히 찾는것 보다는 양쪽 표의 공통 분모인 Tracking Point Code를 매핑해서 Description을 가져올 수 있습니다.

그림 1. 비교할 기준값


1단계 : VLOOKUP함수는 위의 그림처럼 VLOOKUP(비교할 기준값, 조회할 대상, 조회할 대상에서 가져올 칼럼 위치, false) 로 사용됩니다. Vlookup을 전체로 세팅한 함수를 보여드리겠습니다.

그림 2. 검색할 범위


2단계 : 두번째 값은 범위를 선택합니다. 위 그림의 점선으로 표시된 부분을 선택했습니다. Sheet1!A2:B8이니까 Sheet1의 A2칼럼부터 B8칼럼의 박스 부분이 검색 대상이 됩니다.

그림 3.


3단계 : 세번째 값은 위 두번째값으로 세팅된 범위에서 매칭되는 값을 찾는 경우 범위중 몇번째 칼럼의 값을 가져올지 번호를 입력합니다. "2"로 입력했으니 A2:B8 박스 부분은 A는 1번째, B는 2번째가 됩니다. 즉 "2"로 입력한 다는 것은 A칼럼에 값이 매칭 되는 경우 2번째 값인 B칼럼의 값을 가져와라는 것입니다.

이 함수를 다시 해석하면, 위 그림의 VLOOKUP(1번값, 2번값, 3번값, 4번값)VLOOKUP(B2, Sheet1!A2:B8,2,false)

  • 1번 값 : B2의 "E613"의 값에 대해
  • 2번 값 : Sheet1의 A2:B8 범위 안에서
  • 3번 값 : 2번째 값을 찾아와라~ 라는 것입니다.
  • 4번 값 : "false"로 입력하세요. 4번 항목은 근사값 검색을 사용할 것인지 아닌지를 구분(TRUE: 근사값 검색, FALSE: 동일값 검색)
대충 함수 설명은 끝났습니다.


절대참조로 변경하기


4단계 : 이 함수를 3~7번 라인에 사용하기 위해 복사를 하게 됩니다.

그림 4. C2번의 값을 아래 셀로 간편히 복사하기


간단히 복사하는 방법은 위 그림에 있는 C2번 셀의 좌측하단에 마우스를 가져가면 "+" 표시가 나타나는데 이 표시가 나올때 마우스 좌측버튼을 누르고 Drag(끌기)를 하시면 아래 셀까지 복사가 됩니다. 그런데 5번부터 7번까지 "#N/A"라는 표시가 나타나게 됩니다. 이 표시는 매칭되는 값이 없는 경우 나타나게 됩니다.

이상한 것은 그림 2의 범위에 E611, E610, E612에 대해 분명 코드가 존재하는데 Description을 못찾아왔죠?? 비밀은 엑셀의 자동상대참조라는 기능 때문입니다. 해당 셀을 Drag하면서 (그림 4) C2에 있던 값을 복사할때 VLOOKUP안에 있는 변수가 상대참조로 자동 변경된 것입니다.


그림 5.


C3을 보시면 "Sheet1!A3:B9"으로 되어 있습니다.

그림 6.


C4을 보시면 "Sheet1!A4:B10"으로 되어 있습니다. 즉, 한칸씩 내려갈때마다 숫자가 증가함을 알수 있습니다. 이렇게 되면 내려갈 수록 검색대상 범위(그림 2)가 아래로 이동하면서 A2:B8 박스에서 A3:B9, A4:B10으로 검색 범위가 이동해버리게 되는 것입니다.

이를 방지하기 위해 절대참조로 해당 범위를 고정하면 되겠습니다.

그림 7.



5단계 : 이런 경우 문제는 2번째 값이 상대좌표로 자동 변경되게 됩니다. C2에 있는 함수로 가서 2번째 값인 "Sheet1!A2:B8"을 절대참조인 "Sheet1!$A$2:$B$8"로 바꿉니다. 그 후에 4단계처럼 다시 해당 값을 Drag(끌기) 또는 복사해서 붙이게 되면 C2~C7의 모든 함수의 2번째 값은 "Sheet1!$A$2:$B$8"로 고정되면서 검색 대상이 변경되지 않게 됩니다.

이렇게 되면서 C2~C7의 값을 모두 가져오게 됩니다.

음~~ 이거 쓰고 보니 은근히 복잡한 것 같네요. ㅡㅡ; 도움이 되셨길 바랍니다. 궁금하신 점은 답글 다시면 회신드리겠습니다.

이해가 되셨다면 아래 추천 한번 클릭해주세요. ^^*
<끝>




Comments