본문 바로가기
엑셀

엑셀에서 VLOOKUP 함수 오류 수정하기(2)

by 하늘불빛 2020. 6. 26.

엑셀에서 자주 사용하게 되는 vlookup 함수를 사용하다 보면, 가끔씩 이상하게 오류가 생길 때가 있다.

엑셀에서 VLOOKUP 함수 사용하기

 

엑셀에서 VLOOKUP 함수 사용하기

엑셀에서 사용하는 많은 함수 중에서 또 하나 가장 많이 활용되는 함수가 VLOOKUP 함수인 듯하다. 처음에는 생소하고, 어떻게 사용해야 하는지 몰라서 걱정했지만, 사용법을 알고나니 그렇게 어렵

2-step-up.tistory.com

 

원인은 오타와 함께 여러가지 이유가 될 수 있지만, 우선 찾으려는 값(lookup_value)이 찾을 공간(table_array)의 첫 번째 열의 값이 아니기 때문이다.

(아래의 글을 참고할 수 있다.)

 

- 엑셀에서 VLOOKUP 함수 오류 수정하기(1)

 

엑셀에서 VLOOKUP 함수 오류 수정하기(1)

엑셀에서 자주 사용하게 되는 vlookup 함수를 사용하다 보면, 가끔씩 이상하게 오류가 생길때가 있다. - 엑셀에서 VLOOKUP 함수 사용하기 엑셀에서 VLOOKUP 함수 사용하기 엑셀에서 사용하는 많은 함수

2-step-up.tistory.com

 

두 번째로 자주 오류가 나는 원인은 조금 생뚱맞지만, 찾으려는 값이 없기 때문이다.

 

하지만 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값을 찾아서 [반 배정] 값을 출력해준다.

 

댓글


New 아이콘 적용<-->