엑셀 LOOKUP 함수는 이름 그대로 뭔가를 찾는 함수입니다. 비슷한 함수로 VLOOKUP, HLOOKUP이 있습니다. 이들 함수와 사용법도 비슷하고 기능도 비슷하지만 LOOKUP 함수는 자료가 오름차순으로 정렬되어 있어야 하는 단점이 있는 반면 LOOKUP 함수 벡터형을 이용하면 VLOOKUP 함수와 달리 찾는 범위가 가장 왼쪽에 있지 않아도 되는 장점도 있습니다.
LOOKUP 함수는 별도의 범위에서 값을 찾는 벡터형과 같은 범위에서 값을 찾는 배열형이 있습니다.
이번 글에서는 다음과 같은 표가 있을 때 취득 점수별 성적등급을 구하는 방법을 알아보겠습니다.
1. LOOKUP - 벡터형
LOOKUP(lookup_value, lookup_vector, [result_vector])
LOOKUP의 벡터형은 한 개의 행이나 한 개의 열로 이루어진 범위(벡터)에서 값을 찾고, 한 개의 행이나 한 개의 열로 이루어진 두 번째 범위의 같은 위치에서 값을 반환한다.
인수 :
- lookup_value : 찾는 값
- lookup_vector : 찾는 범위, 하나의 행이나 열로 된 범위, lookup_vector안에 있는 값은 0,1,2…. A,B,C, 가나다… 의 형태로 오름차순으로 정렬되어 있어야 한다. 대소문자는 구별하지 않는다.
- result_vector : 하나의 행이나 열로 된 범위. lookup_vector와 같은 행 또는 열에 있는 값이 반환된다.
사용 예
1) 일치하는 값 찾기
다음 표에서 취득 점수가 90점일 때 성적등급을 구하려면
다음과 같이 수식을 입력합니다.
=LOOKUP(90,B5:B13,C5:C13) => 'A0'
취득점수 범위에서 90을 찾은 후 성적등급 열에서 같은 행의 'A0'를 구해줍니다.
'A0'가 구해지는 과정을 자세히 살펴보면 다음과 같습니다.
① 취득점수가 있는 범위 [B5:B13] (lookup_vector)에서 90점을 찾아서(lookup_value)
② 같은 행에 있는 성적등급 범위 [C5:C13] (result_vector)에서 'A0'를 찾는다.
2) 근사값 찾기
이번에는 일치하는 값이 아닌 근사값 83점의 성적등급을 찾으려면
다음과 같이 수식을 입력합니다.
=LOOKUP(83,B5:B13,C5:C13) => 'B0'
83을 찾았지만 없으므로 83점보다 작거나 같은 값인 80을 찾아 같은 행의 'B0'를 구해줍니다.
'B0'가 구해지는 과정을 자세히 살펴보면 다음과 같습니다.
① 취득점수가 있는 범위 [B5:B13] (lookup_vector)에서83점을 찾는데(lookup_value), 83점이 취득점수 범위에 없으므로 83점보다 작은 값 중에 가장 가까운 값, 즉 근사값 80점을 찾아서
② 같은 행에 있는 성적등급 범위 [C5:C13] (result_vector)에서 'B0'를 찾는다.
2. LOOKUP - 배열형
LOOKUP(lookup_value, array)
LOOKUP의 배열형은 배열의 첫 번째 행이나 열에서 지정된 값을 찾고, 배열의 마지막 행이나 열의 같은 위치에서 값을 반환한다.
인수 :
– lookup_value : 찾는 값
– array : 찾는 범위, lookup_value와 비교할 텍스트, 숫자 또는 논리값을 포함하는 셀 범위이며 0,1,2…. A,B,C, 가나다… 의 형태로 오름차순으로 정렬되어 있어야 한다. 대소문자는 구별하지 않는다.
사용 예
1) 일치하는 값 찾기
다음 표에서 취득 점수가 90점일 때 성적등급을 구하려면
다음과 같이 수식을 입력합니다.
=LOOKUP(90,B5:C13) => 'A0'
취득점수 범위에서 90을 찾은 후 성적등급 열에서 같은 행의 'A0'를 구해줍니다.
'A0'가 구해지는 과정을 자세히 살펴보면 다음과 같습니다.
① 취득점수가 있는 범위 [B5:C13] (array)에서 90점(lookup_value)을 찾아서
② array의 같은 행에 있는 마지막 열인 C열에서 'A0'를 찾는다
2) 근사값 찾기
이번에는 일치하는 값이 아닌 근사값 77점의 성적등급을 찾으려면
다음과 같이 수식을 입력합니다.
=LOOKUP(77,B5:C13) => 'C+'
취득점수 범위에서 77을 찾았지만 없으므로 77점보다 작거나 같은 값인 75을 찾아 같은 행의 C+를 구해줍니다.
'C+'가 구해지는 과정을 자세히 살펴보면 다음과 같습니다.
① 취득점수가 있는 범위 [B5:C13] (array)에서 77점(lookup_value)을 찾는데, 77점이 취득점수 범위에 없으므로 77점보다 작은 값 중에 가장 가까운 값, 즉 근사값 75점을 찾아서
② array의 같은 행에 있는 마지막 열인 C열에서 'C+'를 찾는다.
주의) 배열형에서 범위를 잘못 지정하면?
LOOKUP 함수 배열형은 배열의 마지막 행이나 열의 같은 위치에서 값을 구해 줍니다.
따라서 다음과 같이 범위를 점수구간까지 지정하면 '성적등급'이 아니라 마지막 열의 '점수구간'이 구해지므로 주의가 필요합니다.
=LOOKUP(90,B5:D13) => '90~94'
'90~94'가 구해지는 과정을 자세히 살펴보면 다음과 같습니다.
① 취득점수가 있는 범위 [B5:D13] (array)에서 90점(lookup_value)을 찾아서
② array의 같은 행에 있는 마지막 열인 D열에서 '90~94'를 찾는다
[ 찾기 및 참조영역 함수 목록 ]
- EXPAND 함수 – 범위 확장하기
- TOCOL 함수 – 범위를 하나의 열로 만들기
- TOROW 함수 – 범위를 하나의 행으로 만들기
- WRAPCOLS 함수 – 열 단위로 범위 채우기
- WRAPROWS 함수 – 행 단위로 범위 채우기
- 여러 열에서 중복 제거하기
- 판매실적 합치고 열 순서 바꾸기
- IMAGE 함수 – 셀에 이미지 삽입하기
- DROP 함수 – 범위 제외하고 가져오기
- TAKE 함수 – 범위 가져오기
- CHOOSEROWS 함수 – 범위에서 행 가져오기
- CHOOSECOLS 함수 – 범위에서 열 가져오기
- HSTACK 함수 – 배열을 수평으로 합치기
- VSTACK 함수 – 배열을 수직으로 합치기
- 찾기 및 참조영역 함수 알아보기
- 행과 열 조건을 만족하는 값 찾기
- 엑셀에서 대소문자 구분해서 찾기
- VLOOKUP 함수 - 범위에서 값 찾기
- OFFSET 함수로 월별 누계 구하기
- UNIQUE 함수 - 중복 제거하기
- FORMULATEXT 함수 - 수식을 텍스트로 표시
- XMATCH 함수 사용법
- FILTER 함수 - 원하는 조건으로 필터링하기
- SORTBY 함수 - 범위의 값을 기준으로 데이터 정렬하기
- SORT 함수 - 데이터 정렬하기
- XLOOKUP 함수 - 표에서 값찾기(VLOOKUP 단점 해결)
- HLOOKUP 함수 - 표를 수평으로 따라가면서 값찾기
- HYPERLINK 함수 - 하이퍼링크 만들기
- ROWS 함수 - 행의 개수 구하기
- COLUMNS 함수 - 열의 개수 구하기
- AREAS 함수 - 참조영역내의 영역의 개수 구하기
- ADDRESS 함수 - 행,열 번호로 셀주소 표시하기
- TRANSPOSE 함수 - 행과 열을 바꾸기
- INDIRECT 함수 – 문자열을 참조로 바꾸기
- LOOKUP 함수 - 범위에서 값 찾기
- OFFSET 함수 - 행과 열 이동 후 참조구하기
- COLUMN 함수 - 열 번호 구하기
- ROW 함수 - 행 번호 구하기
- CHOOSE 함수 - 값목록에서 원하는 값 선택하기
- MATCH 함수 - 범위에서 값의 위치 찾기
- INDEX 함수 - 범위에서 행과 열을 이용하여 값 찾기
- VLOOKUP 함수 - 표에서 값 찾기(간단 버전)
- VLOOKUP으로 안될때 INDEX, MATCH 함수 사용하기
- INDEX, MATCH 함수를 이용한 다중조건으로 값찾기