Vlookup

 

 아마 엑셀을 다루는 직장인이라면 압도적으로 가장 많이 활용하며, 가장 효용도가 높은 함수가 바로 이 Vlookup이라고 할 수 있습니다. 그만큼 파워풀하고 쉽지만, 엑셀 초보들이 가장 먼저 부딪히는 벽이기도 합니다. 오늘은 이 vlookup이라는 녀석을 어떻게 사용하면 되는지, 그리고 어떤 방식으로 응용이 가능한지에 대해 살펴보도록 하겠습니다. 다음 그림을 한번 살펴보도록 하겠습니다.

 

 

  자, 여기 두개의 데이터가 있습니다. 이해의 편의를 위해 1개의 Sheet에 2개의 데이터를 넣었지만 현실에서는 sheet간, 또는 다른 파일간 데이터를 비교해야 하는 경우가 대부분입니다. A데이터에는 사원번호별 성명, 부서, 직위가 기재되어 있고, B데이터에는 사원번호별 연봉이 기재되어 있습니다. 이때 B데이터를 끌어와서 A데이터에 연봉항목을 기재하고 싶을때 어떻게 해야할까요? 만약 자료항목이 몇개 되지 않는다면 굳이 엑셀 함수를 쓰지 않고 일일이 눈으로 찾거나 또는 Ctrl+F를 사용하여 찾은 후에 값을 붙여넣기 하면 될 것입니다. 그런데 만약 항목이 수백개, 수천개에 이를때는 어떻게 해야할까요?

 

 이럴 경우 필요한 것이 바로 vlookup 함수입니다. vlookup 함수는 다음과 같이 표현되는데, 제 식대로 한번 풀어서 이야기해보겠습니다.

 

 =vlookup(a1,$e$1:$z$500,3,false)

 

 a1 값을 기준으로, e1에서 z500까지의 구간중 3번째 열 자료를 뽑아와라

 

 잘 와닿지 않으신가요? 다음 그림을 보면 쉽게 이해할 수 있을 것입니다.

 

 

 E7에 들어간 값을 한번 보시기 바랍니다.

 =VLOOKUP(A7,$H$7:$I$13,2,FALSE) 을 위와 같이 풀이하면

 A7값을 기준으로 하여 H7부터 I13 구간 중 2번째 열에 해당하는 값을 뽑아와라, 입니다.

 (만약 $표시를 모르신다면 절대참조, 상대참조를 먼저 익히시기 바랍니다)

 따라서 A7인 사원번호를 기준으로 하여 B데이터의 구간 중 2번째인 연봉을 표출하라는 의미가 됩니다.

 그리고 이것을 아래로 쭉 채워주면 다음과 같습니다.

 

 

 자 어떤가요? 사원번호를 기준으로 B데이터에 있는 연봉값을 모두 A데이터로 끌어왔습니다. 처음 수식을 넣을때 기준이 되는 첫번째 인자인 A7에는 절대참조 표시를 넣지 않았기 때문에 각 행이 바뀔때마다 저절로 기준이 되는 인자가 A8,A9,A10으로 바뀝니다. 만약 절대참조 표시를 넣으면 모든 값이 똑같아지는 불상사가 생깁니다.

 

 그런데 여기서 가장 중요한 점은 기준점으로 삼는 인자가 고유값이어야 한다는 점입니다. 왜냐하면 중복값이 존재하고 중복값마다 변수가 다를 경우에는 가장 첫번째에 있는 값을 끌어오게 되어있습니다. 위에서 설명드린 예시를 조금 변형하여 소개하여 설명드리도록 하겠습니다.

 

 

 이번에는 A데이터가 이미 고정되어 있고, B데이터에 "연봉" 부분을 채워넣고 싶습니다. 즉 직위별로 연봉이 얼마인지 알아내어 B데이터에 채워넣고 싶습니다. 역시 마찬가지 방법으로 VLOOKUP을 활용하여 채워보도록 하겠습니다.

 

 

 그런데 한가지 문제가 있습니다. 팀장의 연봉을 끌어오게 설정했지만, 실제로 팀장은 한명이 아닌 두명입니다. 그래서 논리적으로 팀장의 연봉을 정확히 끌어오기가 불가능합니다. 이 경우에 팀장은 이순신, 이이 2명이 존재하지만 VLOOKUP을 활용하면 가장 첫번째 걸리는 이순신의 연봉을 끌어오게끔 되어있습니다. 따라서 VLOOKUP을 활용하기 위해서는 기준으로 삼는 셀의 값이 고유값(기본키)이 되는지 여부를 먼저 확인해야 합니다. countif 함수를 활용하면 되겠지요?

 

 

 그런데!! 고유값이 존재하지 않는 경우가 있습니다. 처리해야 할 데이터는 방대한데 고유값이 없다니, 이를 어쩌면 좋을까요? vlookup 함수도 이용하지 못하고 그저 눈으로 일일이 노가다를 해야만 하는 걸까요?

 

 아주 간단합니다. 고유값이 없으면 고유값을 만들어버리면 됩니다. 

 

 다시 예제를 바꾸어 A데이터가 주어져 있는 상황에서 재무팀 팀장의 연봉을 구해야 하는 상황이라고 가정해봅시다

 

 

 만약 데이터가 무수히 많다면 이 상황에서 재무팀 팀장의 연봉은 어떻게 구할 수 있을까요? 여기서 기준이 되는 A데이터에 하나의 셀을 추가하여 "부서명+직위"를 결합하여 새로운 코드를 만들어줍니다. &를 사용하면 되겠지요?

 

 

 자 어떻습니까? 이제는 "재무팀 팀장"이라는 고유값이 생겼습니다. 앞의 경우와 마찬가지로 이제 VLOOKUP을 이용하여 정확한 값을 끌어올 수가 있게 된 것입니다.

 

 쉬운 설명을 통해 간단한 예시를 소개해드렸지만 현실에서는 훨씬 이보다 복잡, 다양한 예가 많을 것입니다. 그러나 Vlookup을 통해 매칭하거나, 또는 고유값이 없다면 고유값을 만들어버리면 됩니다. 특히 이렇게 고유값을 만드는 행위는 다른 엑셀 수식에서도 방대하게 사용가능합니다. 이런 연습을 통해 데이터 작업을 훨씬 효율적으로 하는 것이 가능해집니다.

 

 vlookup은 기본중의 기본이라고 할 수 있습니다. 많은 초심자들이 시도조차 하지 않고 포기하는 경우가 많습니다. 그러나 vlookup은 가장 쉬운 엑셀 함수이면서 가장 많이 쓰고, 또한 응용범위가 무수히 넓은 함수입니다. 데이터 처리 시간을 획기적으로 줄일 수 있는 vlookup을 외면하지 마시고 이번 기회에 꼭 자기것으로 만들어가시기 바랍니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기