본문 바로가기
엑셀 기초 강좌

054. (엑셀 기초 함수) Vlookup 함수 사용법 - 원하는 값을 찾아 보자

by Excel.Jump 청출어람 2023. 1. 8.
반응형

 

 

 

Vlookup 함수

 

 

 

■ 목차

 

1. 함수 설명
2. Vlookup 함수의 구문 / 사용방법
3. Vlookup 함수 사용해 보기
4. Vlookup 함수 주의 사항
5. Vlookup #N/A 오류의 의미 및 iferror 함수로 처리하기
6. Vlookup 함수 - 다중 조건 찾기
** 핵심 요약

 

 

 

 

1. 함수 설명

 

  - Vlookup 함수는 표나 테이블 같은 곳에서 원하는 값을 찾아오는 함수입니다. 
  - 수직방향(Vertical)으로 찾아서 원하는 값을 가져오는 Vlookup 함수와 수평방향(Holizontal)으로 찾아서 원하는 값을 가져오는 Hlookup 함수가 있습니다.
  - 사실 Hlookup 함수는 Vlookup과 동일한 사용방법이고 방향만 다르지만 거의 사용을 하고 있지 않습니다. 
  - 왜? 우리가 일반적으로 만드는 표 형태의 데이터 형식과 다르기 때문입니다. Hlookup 함수를 사용해야 한다면 우선 표를 다시 만드시는 것으로 고려해보시는 것이 좋은 경우가 많습니다. 

  - "황지민" 이름으로 현재 소속 정보를 찾는 경우입니다.  Vlookup 함수를 사용해야 하는 경우는 아래와 같습니다.

 

Vlookup 함수 적용 사례 - Vertical (수직방향) 찾기
* Vlookup 함수 적용 사례 - Vertical (수직방향) 찾기

 

  -동일한 데이터를 찾는데 이번에는 Hlookup 함수를 사용해야하는 경우입니다.

 

* Hlookup 함수 적용 사례 - Horizontal (수평방향) 찾기

 

  - 두번 째 Hlookup 함수를 적용해야 하는 표 데이터의 경우 뭔가 좀 이상해 보이지 않습니까? ㅠㅠ
  - 사실 두 번째와 같은 형식으로는 데이터를 잘 만들기 않습니다. 우리가 Hlookup 함수를 잘 사용하지 않는 이유입니다.

 

 

 

 

2. Vlookup 함수의 구문 / 사용방법

 

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

  - lookup_value    표의 첫 열에서 찾으려는 값입니다. 값이나 셀 주소 또는 텍스트일 수 있습니다.
  - table_array   데이터를 검색하고 추출하련는 표입니다. Table_array는 범위 참조나 범위 이름이 될 수 있습니다.
  - col_index_num   table_array 내의 열 번호로, 값을 추출할 열을 지정합니다. 표의 첫 열 값은 1입니다.
  - range_lookup   정확하게 일치하는 것을 찾으려면 FALSE를, 비슷하게 일치하는 것을 찾으려면 TRUE(또는 생략)를 지정합니다. 


  - Vlookup 함수의 인수에 대한 엑셀 도움말 공식 설명입니다. 분명 한글인데 인수도 많고 좀 어렵습니다. ㅠㅠ
  - 하지만 셀에 함수를 입력하면 입력해야 하는 인수에 대한 도움말이 상기와 같이 나오기 때문에 익숙해지면 눈치 반 경험 반으로 나름 잘 사용하게 됩니다. 익숙해 지시라고 내용을 적어 봤습니다. 한 번씩 읽어 보시기 바랍니다.

  - Vlookup 함수는 표나 테이블 같은 곳에서 원하는 값을 찾아오는 함수입니다.
  - 위의 예제로 보시면  "사원 정보" 테이블에서 "사원명"으로 "소속"을 찾아주는 경우입니다.

  - 여기에서 첫 번째 찾아야 하는 값은 lookup_value = "황정민" 입니다. 
  - 그리고 데이터를 검색하고자 하는 표는 table_array = "사원 정보" 테이블이고 이 테이블의 첫 번째 열(사원명)에서 검색을 합니다. 이 첫 번째 열을 검색하는 방향이 Vertical (수직방향)입니다. 
  - 그리고 실질적으로 추출하고자하는 값은 "3"번열 = "소속"에 있습니다. 
  - 그리고 우리는 검색 조건으로 "황정민"과 정확하게 일치하는 단어를 찾고자 합니다. Range_lookup = FALSE가 됩니다. 

  - Vlookup("황정민", "사원 정보 테이블", 3번째 열, 정확하게 일치 옵션) = Vlookup("황정민", A2:D7, 3, Fasle)가 됩니다.

  - "황정민"을 "사원 정보" 테이블의 1번째 열에서 찾아서 "3"번째 열의 "소속"을 가져온다, 옵션은 정확하게 일치로 한다"로 수식을 해석할 수 있습니다. 

  - 옵션이 있다 뿐이지 우리가 일반적으로 테이블에서 원하는 정보를 찾아오는 방식입니다. 

 

테이블에서 정보 찾기
* 테이블에서 정보 찾기

 

 

 

 

3. Vlookup 함수 사용해 보기

 

  - Vlookup 함수로 "사원 정보" 테이블에서 "입사일"과 "소속"을 구해보도록 하겠습니다. 

 

Vlookup 함수 - 사원정보 찾기
* Vlookup 함수 - 사원정보 찾기

 

  1) 입사일 찾기

 

입사일 찾기
* Vlookup 함수 - 입사일 찾기

 

  - "황지민" 사원의 "입사일"은 Vlookup 함수로 아래와 같이 찾아올 수 있습니다. 

  - 적용 수식 : =VLOOKUP(B10,$C$2:$F$7,3,0)

  - Vlookup 함수의 첫 번째 인수는 찾고자 하는 값(= "황지민")입니다. 그리고 우리가 최종적으로 가져오고 싶은 값(세 번째 인수로 지정된 열의 값)이 있고 이렇게 2개의 값이라는 것이 Vlookup에서 얘기가 됩니다. 
  - 그리고 첫번 째 인수를 찾는 방향이 "수직 방향, Vertical" 이 됩니다.

  - ① 첫 번째 인수 (lookup_value)는 "황지민"이고 "=vlookup("까지 키보드로 입력한 후  "B10" 셀 주소는 마우스로 셀을 클릭하시면 입력이 됩니다. 
  - 그리고 인수 구분자인 "쉼표 ( , )"를 마우스로 입력합니다. 
  - " =vlookup(B10, "까지 입력이 되었습니다.

  - ② 두번 째 인수는 table_array로 데이터를 검색하고자 하는 표 전체입니다. 
  - 여기서 주의하실 점은 우리가 찾고자 하는 "황지민"이 있는 "사원명" 열이 첫 번째 열이 되도록 그리고 최종적으로 가져오고 싶은 입사일을 포함된 열까지 모두 선택해주셔야 합니다.
  - 그리고 우리는 수식을 복사하여 사용할 예정이기 때문에 table_array 인수의 셀 주소 범위가 "절대 참조" 형식이 되도록 "F4"를 이용하여 변경해 줍니다.
  - table_array에 해당하는 셀 주소 범위 "B2:F7"까지 마우스로 선택하고 "F4"키를 한 번 눌러 "$C$2:$F$7"와 같이 절대 참조 형식을 만들어 줍니다.
  - 인수구분자 쉼표(" , ")까지 입력하면 " =vlookup(B10,$C$2:$F$7, " 까지 입력이 되었습니다.

  - ③ 세번 째 인수는 "col_index"로 우리가 최종적으로 가져오고 싶은 "입사일"의 열 번호입니다. 
  - 열 번호는 지정된 범위의 첫 번째 열 ( = 사원명)이 1이 되고 순서대로 "입사일"의 경우는 3이 됩니다.
  - 주의 하세요, 전체 표 데이터가 아닌 table_array로 지정된 표("$C$2:$F$7")에서는 1번째 열은 "사원명"이고 "입사일"은 3이 됩니다.

  - 이게 중요해 보이지만 실무에선 해보고 아니면 수정해 주면 됩니다. 그냥 입력해보시고 아니면 순서 보고 다시 입력하면 되죠^^
  - 그냥 개념상 그렇다는 얘기입니다. ^^
  - 인수 구분자 쉼표 (" , ")를 넣어 주게 되면 현재 수식은 " =vlookup(B10,$C$2:$F$7, 3 "까지 입력이 되었습니다.

  - ④ 마지막으로 옵션 "False 혹은 0"을 입력해줍니다. 그리고 괄호를 닫고 Enter를 누르게 되면 수식입력이 완료되게 됩니다.
  - 옵션 "False 혹은 숫자 0"은 "황지민"과 완전하게 일치하는 단어를 찾겠다는 의미입니다. 

  - 완성된 수식 : =VLOOKUP(B10,$C$2:$F$7,3,0)

  - Vlookup 함수로 수식을 완성하고 나니깐. 입사일자의 날짜 형태가 아닌 숫자로 보일 수 있습니다.

  - 날짜 데이터를 정확하게 가져왔지만 셀 서식이 숫자 형태이기 때문입니다. 
  - 셀 서식 (Ctrl + 1) > "표시 형식" > "날짜"로 셀 서식을 바꾸어 주시면 됩니다. 
  - 날짜의 원본 데이터는 예제에서 보이는 것과 같이 "숫자 데이터"입니다.날짜 형식을 셀 서식을 이용해서 보고 있는 것뿐입니다. 참조 바랍니다.

  - 그리고 혹시 입사일 데이터가 "#######" 형태로 보인다면 열 너비나 글꼴 크기를 조정해 주세요. 데이터의 크기에 비해 셀의 크기가 작아서 발생되는 오류입니다.

 

Vlookup 함수 - 입사일 셀서식 날짜로 변경
* Vlookup 함수 - 입사일 셀서식 날짜로 변경

 

 

  2) 소속 찾기

  - "황지민" 사원의 "소속"을 Vlookup 함수로 아래와 같이 찾아 올 수 있습니다. 

  - 적용 수식 : =VLOOKUP(B10,$C$2:$F$7,4,0)

  - 소속을 찾아오는 Vlookup 함수는 모두 동일한 수식인데 구하고자 하는 값(소속)이 있는 열이 4번째 열입니다. 
  - 동일하게 "사원명"에서 "황지민"을 찾아서 이번에는 "입사일" 대신에 "소속"( = "4"번째 열)을 가져오는 수식입니다. 
  - 우리가 지정한 테이블 범위는 "사원명"이 첫번 째가 되도록 C2 ~ F7까지 저 정했습니다. 그리고 지정한 표 범위에서 "입사일"은 3번째 열이 되고, "소속"은 4번째 열이 됩니다.)
  - 그래서 Index_num = 4로 입력해주시면 됩니다. 

 

Vlookup 함수 - 소속 찾아오기
* Vlookup 함수 - 소속 찾아오기

 

 

  3) 수식 복사하기

  - 다음 "강수빈" 사원의 "입사일"과 "소속"은 복사/붙여 넣기를 해주시거나 "자동 채우기"를 해주시면 됩니다. 

  - "자동 채우기"는 "C10:D10" 셀을 마우스로 선택한 후에 우측하단의 검은색 십자가( + ) 모양 = "자동 채우기 핸들"이 보이면 
  - 마우스로 더블 클릭 하거나 마우스로 선택해서 아래로 드래그해주시면 됩니다. 
  - 복사/붙여넣기와 동일한 기능을 하게 됩니다. 

 

수식 복사하기 - 자동 채우기 핸들
* 수식 복사하기 - 자동 채우기 핸들

 

 

 

 

4. Vlookup 함수 주의 사항

 

  - Vlookup 함수는 이것저것 설정해 줄 것이 많아 보입니다. 하지만 자세히 보시면 실제 우리가 데이터를 찾는 방식과 동일하고 꼭 필요한 부분만 인수로 사용을 하고 있습니다.

  - 그리고 아래와 같은 몇 가지 주의 사항이 있으니 참조하시고 사용해 보시면 아시겠지만 굉장히 막강하고 도움이 많이 되는 함수입니다. 잘 사용을 해보시기 바랍니다. 



  - 1) Hlookup 함수 사용방법은 동일하지만 거의 사용할 일이 없다. 
  - Hlookup 함수는 Vlookup 함수와 사용 방법은 동일하지만 방향만 다르다고 얘기를 드렸습니다.
  - 그리고 저의 경험상 저는 Hlookup 함수를 사용해 본적인 없습니다. 실제로 여러분들도 시험문제 말고는 사용하실 일이 없을 듯합니다.
  - 그러니 Hlookup 함수까지 너무 힘들게 아실 필요는 없습니다. 그냥 한 두 번 정도 아. 이렇게 하면 되는구나 정도 하시면 됩니다. 
  - 그래도 혹시 사용하실 일이 생기면 그냥 인터넷이나 도움말 찾아보고시 다만 이런 경우 Hlookup 사용해야 되는구나 정도 미리 알고 계시면 됩니다. 



  - 2) 항상 표의 첫 열에서 찾는다.
  - lookup_value 인수는 ( = "황정민")은 항상 테이블의 첫번째 열에서 찾아야 합니다. 
  - 그래서 ① 테이블 범위를 지정할 때 항상 lookup_value가 첫 번째 열에 들어가도록 범위를 지정해 주거나 
  - 아니면 ② 강제로 열의 순서를 바꾸어 주어야 합니다. 
  - Vlookup 함수의 규칙이고 제한 사항이기 때문에 반드시 지켜져야 합니다. 
  - 이러한 제한 때문에 일부 사람들은 index, Match 함수를 사용하거나 최신 버전의 엑셀의 경우 Xlookup 함수를 사용하게 됩니다.


  - 3) 추출하고자 하는 값의 열은 오른쪽에 존재해야 한다.
  - 최종적으로 찾아오는 값이 존재하는 열(index_num)은 항상 lookup_value가 있는 열의 오른쪽에 존재해야 합니다. 
  - 첫번 째 인수가 lookup_value이고 테이블의 첫 번째 열에서 찾기를 한다고 했습니다. 
  - 그리고 최종적으로 가져오는 값은 반드시 이 lookup_value의 열을 1로 기준했을 때 lookup_value 본인 이거나 오른쪽에만 존재해야 합니다. 
  - 이 또한 Vlookup 함수의 제한 사항이고 규칙이기 때문에 반드시 지켜져야 합니다.



  - 4) 옵션은 거의 "일치하는 단어 찾기"이고 "Fasle 혹은 숫자 0"을 입력하자
  - 마지막 인수인 찾기 옵션 (range_lookup)은 실무에서는 거의 90% 이상 "일치하는 단어 찾기"입니다. 
  - 그래서 항상 "Fasle" 혹은 숫자 0을 입력합니다. (False = 숫자 0입니다.) Vlookup 함수에서는 거의 생략하는 경우가 없습니다.
  - range_lookup 인수는 생략도 가능한데 생략하게되면 기본 옵션이 적용되고 Vlookup 함수의 기본옵션은 "비슷하게 일치하는 것 찾기 (True = 숫자 1)"입니다.
  - 최신버전 엑셀의 Xlookup 함수의 경우 생략에 따른 기본옵션이 "일치하는 값 찾기"으로 편의를 도모한 반면 Vlookup 함수는 처음 만든 함수라 그런지 옵션 설정이 조금 잘못된 듯합니다.



  - 5) 대표 오류 2가지 : 전체 테이블 절대참조형식, 데이터형식/공백으로 못 찾는 경우 있음
  - Vlookup 함수를 사용하면서 오류를 가장 많이 만드는 부분 2가지입니다.
  - ① Vlookup함수의 수식을 복사하여 사용하는 경우 table_array는 전체 테이블이기 때문에 거의 100% "절대참조"형식으로 사용이 되어야 합니다. 
  - 수식 구조상 항상 같은 전체 테이블을 참조하기 때문입니다. 상대참조는 수식복사를 사용하는 경우 항상 오류를 만들게 됩니다. 
  - ② 컴퓨터 기준으로 일치하는 값을 찾아 줍니다. 즉 눈에 보이지 않는 공백이며 숫자형태의 문자와 숫자의 비교 등은 모두 오류를 만들게 됩니다.
  - 그래서 사전에 찾고자 하는 데이터 형식 및 공백 여부를 확인하고 필요하면 데이터를 보완하는 작업을 하셔야 합니다. 
  - 거의 오타 외의 Vlookup 함수의 오류는 여기서 발생이 됩니다. 


  - 6) 찾고자 하는 값이 2개 이상이 존재하는 경우 - 첫 번째만 찾아 준다.
  - 첫 번째 인수를 찾는 방식은 Vlookup의 경우 위에서 부터 아래 방향으로 찾습니다.
  - 그리고 동일한 값이 2개가 있어도 첫 번째 1개만 찾아 줍니다. 
  - 2번째, 3번째 값을 찾으려면 배열 수식을 사용해줘야 합니다. 즉 구하려면 구할 수 있는 방법이 있다는 의미입니다. ㅠㅠ

 

 

 

 

5. Vlookup #N/A 오류의 의미 및 iferror 함수로 처리하기

 

  - #N/A 오류는 not applicable, not available의 약어로 적용할 수 없거나 찾지 못하겠다는 의미입니다. 즉, "못 찾겠다"입니다.
  - Vlookup 함수 사용에서는 셀 주소 범위의 첫 번째 열에 찾고자 하는 값이 없는 경우로 크게 2가지 원인으로 발생이 됩니다. 
  - ① 셀 주소 범위 지정이 틀린 경우와  ② 공백이나 문자형식 숫자처럼 컴퓨터 입장에서 다르고 판정하는 경우입니다. 

  - 아래의 예제는 "황지민"을 찾는 예제입니다. "황지민 ≠ 황 지민(황 띄우고 지민)" 엄연히 다릅니다.  
  - 숫자 1 ≠ '1 (아포스트로피 + 숫자 1) 또한 다른 값입니다. 
  - 특히 문자의 경우 문자 앞/뒤의 공백은 눈에 보이지도 않습니다. 하지만 컴퓨터는 알고 있고 다르다고 판단을 합니다. 
  - 공백의 경우 사전에 Trim 함수 등으로 제거해주시고 숫자형태의 문자도 숫자로 모두 바꾸어서 비교를 하셔야 합니다. 

  - 그리고 특히 날짜, 시간의 데이터(=숫자)와 텍스트는 서로 다르게 취급이 되기 때문에 주의를 해주셔야 합니다. 

  - 두 번째는 실제로 찾는 데이터가 없는 경우입니다.
  - Vlookup 함수는 찾는 데이터가 없으면 "못 찾겠다" 오류(#N/A)를 반환합니다. 
  - 이 경우 만약 다른 방식으로 오류 값을 처리하고 싶은 경우 Iferror 함수를 사용해주시면 됩니다. 

 

Vlookup 함수 - #N/A오류
* Vlookup 함수 - #N/A오류

 

 

 

 

6. Vlookup 함수 - 다중 조건 찾기

 

  - Vlookup 함수는 첫 번째 열에서 값을 찾아서 특정 열의 값을 구하는 함수입니다.
  - 그런데 가끔 가다가 두 가지 이상의 열에서 일치되는 값을 찾아서 특정 열의 값을 구하고자 하는 경우가 있습니다. 
  - 아래 예제와 같이 사원명에 동명이인이 있어서 소속까지 구분을 해야 정확한 대상 인원을 특정할 수 있는 경우입니다.

  - 이런 경우는 정상적인 Vlookup 함수의 기능으로는 힘들고 몇 가지 꼼수로 찾아 주는 방법이 있습니다. 
  - 오늘은 가능한 방법 및 원리에 대해서 간단하게 소개를 드리도록 하겠습니다. 
  - 실제로 인터넷에 많은 풀이가 있으니 한 번 찾아보시는 것도 좋을 듯합니다. 

 

Vlookup 다중 조건 구하기
* Vlookup 다중 조건 구하기

 

 

  1) 첫 번째 방법은 간단하게 데이터를 조작하여 Vlookup 고유 기능으로 찾기를 하는 방법입니다.

  - 다중 조건을 한 개의 조건으로 만들어 Vlookup 함수를 적용하는 방법이고 아래와 같이 열 하나를 추가해 줍니다.
  - & 연산자로 "소속" & "사원명"을 텍스트 결합하여 하나의 텍스트를 만들고 결합된 텍스를 기준으로 Vlookup 함수를 적용해주는 방식으로 
  - 전통적으로 가장 많이 사용하는 방식입니다. 간단하고 수식으로 자동 채우기 기능을 이용하면 그렇게 어려울 것도 없습니다. 

 

Vlookup 함수 다중조건 - 텍스트 결합으로 찾기
* Vlookup 함수 다중조건 - 텍스트 결합으로 찾기

 

  2) 한 개의 데이터라면 필터 기능을 이용할 수도 있다.

  - 여러 조건의 값을 찾아온다 = 필터의 고유 기능입니다. 
  - 단, 수식으로 사용하고 복사해서 여러 행에 적용하기는 어려움이 있습니다. 
  - 그냥 조건별로 하나하나 찾아 주는 방식이기 때문에 조금 제한이 있는 방법이기는 합니다. 


  - 세 번째 방법부터는 배열 수식을 사용하는 방법으로 중, 고급사용자를 위한 내용입니다. 



  3) Index, Match 함수를 배열 수식으로 적용하기

  - 초보분들은 그냥 참조만 하셔도 됩니다. 이렇게도 구하는구나 정도를 알고 계시면 될 듯합니다. 

 

Index, Match 함수 배열 수식으로 다중 조건 구하기
* Index, Match 함수 배열 수식으로 다중 조건 구하기

 

  - 먼저 배열 함수로 (B10 = B3:B7)*(C10 = C3:C7)에서 소속과 사원명이 모두 일치하는 위치를 찾아 줍니다. 
  - 일치하는 경우 True = 1, 일치하지 않는 경우 False = 0로 결국 2가지 모두 일치하는 경우를 포함하여 {0;0;0;1;0} 값을 얻을 수 있고

  - 그리고 Match 함수를 이용하게 되면 2개 모두 일치하는 경우인 숫자 1이 있는 위치가 4번째가 된다는 것을 알 수 있게 됩니다. 
  - 소속, 사원명이 지정한 값과 모두 일치하는 데이터가 4번째 행에 위치한다는 것을 알게 되었으므로 
  - 이제는 Index 함수를 이용하여 "입사일"의 4번째 행에 위치한 "2013-04-04"의 데이터를 가져오면 되는 것입니다. 

  - 이 모든 수식은 "배열 수식" 형식으로 일반수식 입력의 "Enter" 대신에 "Ctrl + Alt + Enter"로 입력이 되어야 합니다. 
  - 그렇게 입력이 되면 "배열 수식"으로 입력되었다는 표시로 " {  } "로 수식이 표현됩니다. 

  - Index, Match 함수를 배열 수식으로 적용하는 방식은 굉장한 장점을 가지고 있습니다. 
  - ① 중복 조건 적용이 가능합니다. 여기서 중복 조건은 위 사례처럼 2가지 조건뿐만 아니라 세 가지, 네 가지 등의 원하는 만큼의 다중조건 적용이 가능합니다.
  - ② 또한 Vlookup 함수는 조회하는 열이 1번째 열이 되고 구하고자 하는 값의 열은 우측으로 위치해야 하지만 Index, Match 함수를 사용하는 경우는 그러한 열의 위치 제한 조건이 모두 없어집니다. 
  - 찾고자 하는 조건, 결과를 구하고자 하는 열 모두 어느 위치에 있든지 상관하지 않고 원하는 값을 가져올 수 있습니다. 
  - 원리 자체가 조건에 일치하는 위치를 구하고 지정된 열에서 그 위치에 해당하는 값을 가져오는 방식이기 때문에 셀의 개수만 정확하게 매칭을 하면 어느 열의 값이든지 가져올 수 있습니다.

  - 최신 엑셀 버전에는 이러한 위치에 대한 제한을 해소한 Xlookup 함수를 소개하고 있습니다. 그러나 다중 조건에 대한 부분은 아직은 Index, Match 함수의 확장성이 더 뛰어난 편입니다.


  4) Lookup 함수를 배열 수식으로 이용하기


  - 처음 Lookup 함수의 설명을 들어보면 Vlookup 함수보다 더 사용빈도가 높을 듯한데 사실은 거의 사용을 하지 않습니다.
  - 사용 조건 중의 하나가 미리 정렬이 되어 있어야 한다는 것 때문입니다. 
  - 미리 정렬이 되어 있지 않으면 오류가 날 수 있다고 하고 실제 오류가 나오기 때문입니다. 이는 정확하게 일치되는 값을 찾는 방식이 아니라 유사일치 방식으로 데이터를 찾아 주기 때문입니다. 

  - 아래와 같음 배열 수식 형식(Ctrl + Alt + Enter)으로 사용을 해주시면 됩니다.

 

Lookup 함수로 다중조건 구하기
* Lookup 함수로 다중조건 구하기

 

  - 1/((B10 = B3:B7)*(C10 = C3:C7)의 배열 수식은 소속/사원명이 일치하는 값을 찾아서 배열 곱을 하게 되고 1/{0;0;0;1;0} 값을 가지게 됩니다. 
  - 이는 {#DIV/0!;#DIV/0!;#DIV/0!;1;#DIV/0!} 값이 되고 여기에서 소속/사원명이 모두 일치한 4번째 위치만 숫자 1이 되고 나머지는 모두 오류가 됩니다. 
  - Lookup 함수가 유사일치를 찾아 주고 정렬이 되어 있지 않는 경우는 잘 못된 값을 찾아올 수도 있지만 이렇게 딱 한 개 일치하고 나머지가 오류인 경우 정확하게 찾아 주는 특성이 있습니다. 
  - 그래서 정렬을 할 필요도 없고 정확하게 4번째 위치를 찾게 됩니다. 
  - 나머지는 이 4번째 위치를 기반으로 "입사일"의 열의 4번째 값이 "2013-04-04"을 정확하게 찾아오게 됩니다. 

  - 참 입이 떡 벌어지는 풀이 방식입니다. 이거 찾으신 분 정말 대단하신 듯합니다. 제가 찾은 것 아닙니다. ^^




  - 실무에서는 Vlookup 함수가 사용이 많은 함수입니다. 여러 가지 용도로 사용이 되곤 합니다. 
  - 인수도 많고 어려워 보이지만 몇 번 사용해보시면 그렇게 어려운 부분도 없습니다. 
  - "A을 B 테이블에서 찾아서 C번째 열에 값을 가져온다, 0" 이렇게 사용을 하시고 함수의 인수 도움말 영어에 조금 익숙해지실 필요가 있습니다.
  - 모든 함수의 인수와 인수의 순서를 외우거나 할 수는 없습니다. 풍선 도움말을 보고 대충 눈치로 입력을 합니다. 제가 실제로 그렇게 함수를 사용합니다. 
  - 그래서 엑셀 함수의 도움말이나 인수의 영어 표기를 몇 번 보시면 이 것도 사람이 만든 거라서 나름 눈에 잘 들어오라고 했는 거라 금방 익숙해집니다. 

 

 

 

 

** 핵심 요약 : Vlookup 함수 사용법 - 원하는 값을 찾아보자 

 

1. 함수 설명

  - Vlookup 함수는 표나 테이블 같은 곳에서 원하는 값을 찾아오는 함수이다.
  - Hlookup 함수는 찾는 방향만 다르고 동일한 사용방법이나 잘 사용하지 않는다.


2. Vlookup 함수의 구문 / 사용방법

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

  - lookup_value    표의 첫 열에서 찾으려는 값입니다. 값이나 셀 주소 또는 텍스트일 수 있습니다.
  - table_array   데이터를 검색하고 추출하려는 표입니다. Table_array는 범위 참조나 범위 이름이 될 수 있습니다.
  - col_index_num   table_array 내의 열 번호로, 값을 추출할 열을 지정합니다. 표의 첫 열 값은 1입니다.
  - range_lookup   정확하게 일치하는 것을 찾으려면 FALSE를, 비슷하게 일치하는 것을 찾으려면 TRUE(또는 생략)를 지정합니다. 

  - "사원 정보" 테이블에서 "사원명"으로 "소속"을 찾아주는 함수이다.
  - 첫 번째 찾아야 하는 값은 lookup_value = "황정민"이다.
  - 그리고 데이터를 검색하고자 하는 표는 table_array = "사원 정보" 테이블이고 이곳의 첫 번째 열(사원명)에서 검색을 한다.
  - 그리고 실질적으로 추출하고자 하는 값은 "3"번열 = "소속"이다.
  - 그리고 "황정민"과 정확하게 일치하는 단어를 찾고자 하며. Range_lookup = FALSE = 숫자 0이 된다.

  - "황정민"을 "사원 정보" 테이블의 1번째 열에서 찾아서 "3"번째 열의 "소속"을 가져온다, 옵션은 정확하게 일치로 한다"의 수식이 된다.


3. Vlookup 함수 사용해 보기

  - 1) 입사일 찾기
  - 2) 소속 찾기
  - 3) 수식 복사하기


4. Vlookup 함수 주의 사항

  - 1) Hlookup 함수 사용방법은 동일하지만 거의 사용할 일이 없다. 
  - 2) 항상 표의 첫 번째 열에서 찾는다.
  - 3) 추출하고자 하는 값의 열은 오른쪽에 존재해야 한다.
  - 4) 옵션은 거의 "일치하는 단어 찾기"이고 "Fasle 혹은 숫자 0"을 입력하자
  - 5) 대표 오류 2가지 : 전체 테이블 절대참조형식, 데이터형식/공백으로 못 찾는 경우 있음
  - 6) 찾고자 하는 값이 2개 이상이 존재하는 경우 - 첫 번째만 찾아 준다.


5. Vlookup #N/A 오류의 의미 및 iferror 함수로 처리하기

  - #N/A 오류는 not applicable, not available의 약어로 적용할 수 없거나 찾지 못하겠다는 의미이다.
  - ① 셀 주소 범위 지정이 틀린 경우와  ② 공백이나 문자형식 숫자처럼 컴퓨터 입장에서 다르고 판정하는 경우이다.
  - 공백의 경우 사전에 Trim 함수 등으로 제거해주시고 숫자형태의 문자도 숫자로 모두 바꾸어서 사용해야 한다.
  - 만약 다른 방식으로 오류 값을 처리하고 싶은 경우 Iferror 함수를 사용해주시면 된다.


6. Vlookup 함수 - 다중 조건 찾기

  - 1) 첫 번째 방법은 2개 조건을 텍스트 합치기로 조작하여 Vlookup 고유 기능으로 찾기를 하는 방법이다.
  - 2) 한 개의 데이터라면 필터 기능을 이용할 수도 있다.
  - 3) Index, Match 함수를 배열 수식으로 적용하기
  - 4) Lookup 함수를 배열 수식으로 이용하기

 

054. (엑셀 기초 함수) Vlookup 함수-예제.xlsx
0.01MB

 

 

[엑셀 기초 강좌] - 999. 엑셀 기초 함수 목차 (완료)

 

999. 엑셀 기초 함수 목차 (완료)

[엑셀 기초 강좌] - 029. (엑셀 기초 함수) Sum함수 : 숫자의 합계를 구해보자 [엑셀 기초 강좌] - 030. (엑셀 기초 함수) Max, Min 함수 - 최대값, 최소값을 구해보자 [엑셀 기초 강좌] - 031. (엑셀 기초 함

nextmeok.tistory.com

 

 

 

* 엑셀 관련 궁금하신 거나 어려운 점이 있으시면 자유롭게 질문을 해주세요.
* 가능한 도움을 드릴 수 있도록 하겠습니다.
* 저도 많이 알지는 못하지만 누구나 그렇듯 시작이란 게 있고 경험이란 게 다를 것 같습니다.
* 편하게 문의하시면 됩니다. 저도 모를 수 있다. 감안해 주시고.

  - ILU, SH -

반응형

댓글