(예제 파일을 첨부하였습니다.)
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
- [range_lookup] ▶ <표2>의 제품A와 <표1>의 제품A처럼 완전히 일치하는 값을 찾아야할 때 0(또는 FALSE)를 입력.
유사한/근사한 값을 찾아야할 때 1(또는 TRUE)를 입력.
오늘은 [range_lookup]에 1 또는 TRUE를 입력하는 경우를 알아보겠습니다.

0~29점은 E
30~49점은 D
50~69점은 C
70~89점은 B
90점 이상은 A
라는 성적을 각각 부여하고 싶습니다. 이때 <표1>처럼 점수를 오름차순으로 정렬하여 표를 만들면 됩니다.
여기서 핵심은 오름차순 정렬입니다.
유사한/근사한 값을 찾을 때에는 참조할 표(table_array)가 오름차순으로 정렬되어있어야 vlookup이 제대로 먹힙니다.
아까 [range_lookup]에서 유사한/근사한 값을 찾을 때 1 또는 TRUE가 들어간다고 설명했습니다.
그럼 <표2>에서 69은 <표1>에서 50과 70 중에 70에 근사한 값이기 때문에 성적C가 아니라 성적B 구간에 해당하지 않느냐?고 생각하실 수 있습니다.
하지만 vlookup은 근사값이라고 인식하는 범위가 따로 존재합니다.
앞서 설명드렸던 것처럼,
0~29점은 모두 0에 근사한 값이라고 보기 때문에 성적E
30~49점은 모두 30에 근사한 값이라고 보기 때문에 성적D
50~69점은 모두 50에 근사한 값이라고 보기 때문에 성적C
70~89점은 모두 70에 근사한 값이라고 보기 때문에 성적B
90점 이상은 모두 90에 근사한 값이라고 보기 때문에 성적A
에 속합니다.
조금 더 직관적으로 이해하기 쉽게 설명드리겠습니다.

35점은 <표1>에서 직접적으로 보이지는 않지만, 30과 50 사이 어딘가에 위치하고 있다고 상상하겠습니다.
현재 35점이 있는 위치에서 위로 향하는 화살표를 그렸을 때 가장 먼저 도달하는 셀이 30이 입력된 셀입니다.
그래서 35점은 성적D에 해당한다고 보시면 됩니다.
마찬가지로 60점, 22점, 50점, 99점도 동일한 방식으로 상상을 해보시면 쉽게 이해가 되실 겁니다.
[range_lookup]에 1 또는 True가 들어가는 경우는,
참조할 표의 첫 번째 열에 어떤 값을 넣어서 유사값/근사값의 범위를 만들 것이냐가 핵심이라고 생각합니다.
그럴 때마다 저 화살표를 상상하면서 이해해보려고 노력하면 한결 편하실 거라고 생각합니다!
감사합니다.
'엑셀' 카테고리의 다른 글
| [엑셀 함수] VLOOKUP(기초) (0) | 2020.10.05 |
|---|---|
| [WEEKNUM 함수] N주차 구하기 (0) | 2020.07.07 |