실무에 가장 많이 쓰이는 함수 중 하나인 vlookup에 대한 이야기를 해보고자 합니다. 

굳이 첫 번째로 이 함수를 주제로 잡은 이유는 어제 업무 중에 이 함수를 매우 여러 번 활용했기 때문에 생각이 났기도 하지만, 제 주변을 돌아봤을 때 이 함수를 잘 쓸 수 있느냐에 따라 '엑셀 초짜'와 '어느 정도 쓰는 수준'이 구분되는 함수이기 때문입니다.


vlookup함수의 의미, 그리고 input값

어떤 사람을 새로 만나게 되면 진심이든/의례적이든 '어디 사세요?', '직업/회사는 어떻게 되세요?' 등 그 사람에 대한 추가적인 질문을 하게 됩니다. 차를 살 때도 '연비는 얼마인가요?', '가격은 얼마죠?' 등등 어떤 대상에 대한 추가적인 정보를 얻고자 합니다. 

vlookup함수는 간단히 생각하면 추가 질의 함수라고 생각할 수 있습니다. 그런데 vlookup함수를 보면 input 값 부분이 뭐가 이렇게 많이 달려있는 것을 볼 수 있습니다. 엑셀 도움말을 보면 vlookup함수의 구조는 아래와 같이 생겼습니다.

VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

뭐 이렇게 복잡해? 라고 하실 수도 있겠지만, 우리가 자동차 가격을 물을 때도 실은 '한국 시장', '어느어느 매장'에서라는 조건이 암묵적으로 붙게 됩니다. 자동차 가격 테이블은 매장마다도 조금씩 다르고 또는 월마다 조금씩 다르게 되기 때문에 vlookup을 쓸 때도 그런 정보를 추가적으로 넣어줘야 합니다. 

또, 사람은 자동차의 추가적인 정보 중 가격을 물어보면, 듣는 사람이 해석해서 알아서 가격을 찾아 대답을 해주게 됩니다. 하지만 컴퓨터는 인공지능이 아니므로, 많은 추가적인 정보 중 무엇이 가격인지에 대한 정보도 넣어줘야 합니다. 

그럼 우리식으로 해석해서 vlookup함수를 컴퓨터식으로 표현해 볼까요?

'난 그랜져HG의 가격이 궁금해'! 
   (단, 화자는 한국시장/강남매장/2013년 프로모션 기간을 가정하고 있음)

[그랜져HG]라는 것에 대해 [한국, 강남매장, 2013년 프로모션 가격 테이블]에서 [가격을 찾아서] 알려줘가 될 것이고, vlookup으로 표현해 보면

VLOOKUP(그랜져 HG, 한국-강남매장-2013년 프로모션 가격 테이블, 가격이 위치한 곳, [range_lookup])이 됩니다. 

즉 lookup_value, table_array, col_index_num 어렵게 써있지만

  • lookup_value는 내가 추가적인 정보를 알고 싶은 대상이고,
  • table_array는 추가적인 정보를 어디서 찾아야 하는 지를 지칭하는 것이며
  • col_index_num은 그 추가적인 정보가 위치한 곳에서 가격이 어디에 위치한 것인지를 지칭하는 것입니다.
아직 vlookup함수에 대해 완전히 설명한 것은 아니지만, 개략적으로 vlookup함수가 무얼하는 것이고, input 값들이 무엇인지에 대해서 이해하시는 데 조금은 도움이 도셨으면 좋겠네요. 출근을 해야 하는 관계로 vlookup의 나머지 이야기는 다음 글로 이어가볼까 합니다.


AND