엑셀에서 자주 사용하게 되는 vlookup 함수를 사용하다 보면, 가끔씩 이상하게 오류가 생길 때가 있다.
원인은 오타와 함께 여러가지 이유가 될 수 있지만, 우선 찾으려는 값(lookup_value)이 찾을 공간(table_array)의 첫 번째 열의 값이 아니기 때문이다.
(아래의 글을 참고할 수 있다.)
두 번째로 자주 오류가 나는 원인은 조금 생뚱맞지만, 찾으려는 값이 없기 때문이다.
하지만 vlookup 함수의 좋은 점은 꼭 정확한 값이 아니어도 찾을 수 있다는 점이다.
2. lookup_value 혹은 range_lookup 에 따른 오류
엑셀의 vlookup에서 값을 입력하는 방법은 아래와 같다.
VLOOKUP 수식 =VLOOKUP(찾으려는 항목(무엇을 찾는가), 찾을 공간(어디에서 찾는가), 가져올 값(찾을 공간의 몇번째 열), 일치 정도(정확하게 일치해야 하나 or 유사하게 일치해야 하나)) |
위에서와 같이 각 값이 들어가는 항목들의 실제 이름은 아래와 같다.
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) |
즉, 각 항목의 이름은 아래와 같다.
찾으려는 항목(무엇을 찾는가) : lookup_value
찾을 공간(어디에서 찾는가) : table_array
가져올 값(찾을 공간의 몇번째 열) : col_index_num,
일치 정도(정확하게 일치해야 하나 or 유사하게 일치해야 하나) : [range_lookup]
이 중에서, 오류가 나는 두 번째 이유는
(1)정확한 값을 찾을 때 lookup_value가 없거나,
(2)비슷한 값을 찾더라도 lookup_value가 작을 때는오류가 나게 된다.
일단 (1)정확한 값을 찾을 때 lookup_value가 없는 경우는,
range_lookup 값이 FALSE(정확하게 일치하는 값)으로 설정하였을 때,
해당하는 값이 존재하지 않을 때이다.
이럴 때에는 정확하게 일치하는 lookup_value를 작성하거나, 데이터를 수정하는 수 밖에 없다.
두 번째로, (2)비슷한 값을 찾더라도 lookup_value가 작을 때 나는 오류는 아래와 같다.
예를 들어, 아래의 붉은색 영역과 같은 데이터를 바탕으로, vlookup함수를 작성할 때,
정확한 lookup_value 값을 모르는 상황에서,
lookup_value값을 10으로 설정하고,
range_lookup 값을 TRUE(비슷하게 일치하는 값)으로 설정하였을 때,
아래와 같이 작성할 수 있다.
그런데, 엔터를 치고 결과를 보면, 아래와 같이 오류가 난다.
그 이유는 lookup_value(찾으려는 값)값이 table_array(찾을 공간)에 있는 값보다 작기 때문이다.
예를 들어,
lookup_value값을 50으로 설정하고,
range_lookup 값을 TRUE(비슷하게 일치하는 값)으로 설정하였을 때,
아래와 같이 작성할 수 있다.
그리고 나면, 가장 근접한 비슷한 값인 '선희'의 'H' 값이 나타난다.
그럼 찾고자 하는 값이 어느 한 쪽에 비슷할 때는 어떻게 될까?
lookup_value값을 32으로 설정하고,
range_lookup 값을 TRUE(비슷하게 일치하는 값)으로 설정하였을 때,
아래와 같이 작성할 수 있다.
결과 값은 입력한 32보다 작은 30값을 찾아서 해당 [반 배정] 값을 출력해준다.
lookup_value값을 36으로 설정해도,
역시나 결과 값은 입력한 32보다 작은 30값을 찾아서 해당 [반 배정] 값을 출력해준다.
그럼 lookup_value값을 정확하게 40으로 설정하면,
당연히 40값을 찾아서 [반 배정] 값을 출력해준다.
'엑셀' 카테고리의 다른 글
엑셀에서 마우스 더블클릭 사용하기 (0) | 2022.11.07 |
---|---|
엑셀 서식 파일 사용하기 (0) | 2020.07.04 |
엑셀에서 VLOOKUP 함수 오류 수정하기(1) (0) | 2020.06.26 |
엑셀에서 VLOOKUP 함수 사용하기 (0) | 2020.06.15 |
엑셀에서 IF함수 사용하기 (0) | 2020.05.14 |
댓글