* VLOOKUP 함수
기능: 검색값을 범위에서 찾아 필요한 열의 값을 취하는 함수입니다.
용법: =VLOOKUP( 검색값, 범위, 열번호, [검색유형] )
- 검색유형은 옵션입니다만 아주 중요한 부분입니다. 검색유형은 두가지 입니다.
비슷하게 일치하는 것을 찾는 유형(TRUE 또는 1 또는 생략)과 정확히 일치하는 것을 찾는 유형(FALSE 또는 0) 두가지 입니다.
용례1: =VLOOKUP( 25, C3:E10, 2)
용례1의결과: 25의 값을 C3:E10 범위의 첫번째열(열머리글 C열)에서 찾아서 범위에서 두번째열(열머리글 D열) 의 동일행 값을 결과로 반환합니다. 옵션인 검색유형이 생략되어 있습니다. 생략된 경우는 TRUE 를 기본값으로 취합니다. 만일 25를 찾지 못하였다면 25보다 작은값중 가장 큰값을 일치값으로 찾습니다.
이렇게 근사값으로 찾을때는 반드시 첫번째열이 오름차순정렬되어 있어야 합니다. 그렇지 않으면 정확한 값을 얻을수 없습니다.
용례2: =VLOOKUP( 40, A2:C10, 3, TRUE)
용례2의결과: 용례1과 사용법이 동일합니다. 단지 검색유형을 명시적으로 설정해 놓았을 뿐입니다. 40 이란 값을 A2:C10의 범위에서 찾아 그 3번째 열인 C열의 동일행의 값을 취합니다. 검색유형이 TRUE 이기에 비슷한 값을 찾습니다. 첫번째 열은 오름차순정렬되어 있어야 합니다.
용례3: =VLOOKUP( "ABC", A1:D5, 2, FALSE)
용례3의결과: "ABC" 를 A1:D5 범위에서 찾아 2번째열 B열의 동일행의 값을 반환합니다. 검색유형이 FALSE 이기에 정확하게 일치하는 값만을 찾습니다. 만일 "ABC" 의 값을 찾을 수 없다면 #N/A 에러를 발생합니다.
용례4: =VLOOKUP( "ABC", A1:D5, 2, TRUE)
용례4의결과: "ABC" 를 A1:D5 범위에서 찾아 2번째열의 동일행의 값을 반환합니다. 검색유형이 TRUE 이기에 유사값을 찾습니다. 유사값을 찾을때는 반드시 오름차순 정렬되어 있어야 한다는 것 기억해 주세요. 수치를 찾을때는 정확한 값이 없다면 보다작은 가장 큰 값을 결과로 반환합니다. 하지만 문자열은 찾는값 보다 정렬순서가 이전이면서 가장마지막값을 결과로 반환합니다.
기출예제: 등급[C3:C10]과 면접표[G4:H8]를 이용하여 평가점수[E3:E10]를 구하시오.(2급 13회E형)
-평가점수 = 평점 + 필기점수
-HLOOKUP,VLOOKUP,INDEX함수 중 알맞은 함수를 선택하여 사용.
기출풀이: E3 셀에 셀포인터를 놓고 다음의 수식을 입력합니다.
=VLOOKUP(C3,$G$4:$H$8,2)+D3
입력후 E3셀의 점끌기탭(채우기핸들)을 이용 수식 복사 합니다.
문제를 풀어 보면 등급을 등급표에서 찾아 그 등급에 해당하는 평점을 구하여 필기점수와의 합계를 구합니다.
등급표를 수직으로 찾기에 VLOOKUP함수가 적당하네요. 또 등급표가 오름차순 정렬이 되어있기에 VLOOKUP의 검색유형을 비슷한값을 찾는 방법을 택했습니다. 문자열이기에 정확하게 일치하는 값을 찾는 것도 좋습니다. 만일 등급표가 오름차순정렬 되어있지 않은 상태라면 위의 식은 엉뚱한 값을 나타낼수 있습니다. 정렬되어 있지 않은 것을 찾을 때는 정확하게 일치하는 값을 찾는 옵션인 마지막 검색유형인수 FALSE 를 설정해 주시는 것이 맞습니다.
수식을 보면 VLOOKUP함수는 C3의 등급을 G4:H8 의 범위의 첫번째열에서 찾아 2번째 열의 동일행값을 반환하고 이값과 D3의 필기점수를 더해 최종결과를 만들어 냅니다. 그런데 왜 VLOOKUP함수의 범위 인수가 절대참조 되어 있을까요? 수식을 입력하고 결과를 얻는 열은 E열이지요. 먼저 E3셀에서 작업했고 그 수식을 아래의 셀들로 수식복사 합니다. 그러면 함수에서 참조하던 인수들도 아래로 행이 증가 하지요. 하지만 등급표는 수식복사에 상관없이 범위 고정이지요. 하여 절대참조가 사용되었습니다.
!!! VLOOKUP 함수 사용 유의점.
- 마지막인수 검색유형을 생략하면 TRUE(1) 유사값을 찾는다는것.
- 유사값을 찾을때는 반드시 오름차순정렬되어 있어야 합니다.(정렬되어 있지않으면 엉뚱한 값이 나올수 있음.)
- 유사값을 찾을때 일치값이 없고 보다 작은 값이 없으면 #N/A 에러를 발생.
- 정확하게 일치하는 값을 찾을때, 값을 찾을 수 없다면 #N/A 에러를 발생.
@ 이상이 VLOOKUP 함수입니다. 찾기와참조함수 는 상당히 까다롭다면 까다로운 함수 입니다.