본문 바로가기
엑셀

[엑셀] 찾을값의 조건이 여러개인 VLOOKUP 함수?? - LOOKUP 함수로 대체해서 사용하세요.

by 행아아빠 2020. 3. 14.

안녕하세요.

행아아빠입니다.

이번 #엑셀 내용으로는

#LOOKUP 함수를 설명드리려고 하는데요.

보통 작성된 표에서 값을 불러오고자 할때 사용하는 함수는 VLOOKUP 함수입니다.

그런데, VLOOKUP 함수는 조건이 1개 일때만 사용가능하기 때문에

조건이 1개를 초과하는 조건들을 찾아 값을 불러와야 한다면?? VLOOKUP 함수로는 해결하실 수 없습니다.

이럴때 LOOKUP 함수를 사용해야 하는 것이지요!!

즉, 다중조건 + VLOOKUP 함수 = LOOKUP 함수를 사용해야 원하는 결과값을 불러올수가 있습니다.

이 내용으로 종종 질문을 주시곤 하는데요, 아마도 작성하는 데이터와 내용이 맞는지 잘 모르실 경우 질문을 주시는것 같아요.

아니면... 엑셀의 함수에 대해 거의 알지 못하실 수도 있겠죠!!

 

 

오늘 내용도 많은 분들께 도움되시길 바라겠습니다.


■  엑셀 함수 조건에 맞는 데이터 가져오기

▼ 이번 질문내용은 아래와 같습니다.

"왼쪽 데이터에서 오른쪽 사용일자, 이름 2가지 조건에 맞는 출근시간, 퇴근시간, 연장시간 데이터를

가져오고 싶은데 도저히 모르겠어요."

위 그림처럼 이미 입력되어 있는 K, L, M열의 내용을 I, J열을 조건으로 A, B열과 동일할때 각각의 이미 입력된 값을 C, D, E열로

    값을 불러올 수 있도록 함수 수식을 작성하시길 원하는 내용입니다.


 

우선 비교할 조건이 날짜와, 이름을 2가지의 조건을 비교해서 2가지의 조건 모두가 일치할때

출근시간, 퇴근시간, 연장근무시간 각각의 입력된 값을 불러오는 것이기 때문에,

VLOOKUP 함수로는 원하는 결과값을 해결할 수 없습니다.

조건을 날짜만 비교하는 1가지일 경우에는 VLOOKUP 함수로 결과값을 불러올 수는 있겠지만,

이 역시도 비교할 조건인 날짜를 작성한 데이터가 여러개 이기 때문에 정확하게 원하는 값을 불러올 수는 없겠습니다.

그래서 이처럼 VLOOKUP 함수를 이용해야 할 것 같은데

조건이 여러가지인경우 LOOKUP 함수를 이용하시면 되는 것 입니다.

LOOKUP 함수 수식을 작성하는 경우에는 배열형과 벡터형 두가지가 존재합니다.

배열형과 벡터형의 구문을 정확하게 이해하시고자 하시는분은 엑셀에서 F1(도움말)키를 누르셔서,

LOOKUP 함수를 검색해서 확인하시면 보다 정확한 이해를 하실 수 있을 것 입니다.

보통은 배열형의 경우 VLOOKUP 또는 HLOOKUP 함수를 이용하는 것이라고 생각하면 될것 같고,

벡터형의 경우 조건이 여러가지인경우에 해당하는 VLOOKUP 함수를 사용하고자 할때

LOOKUP 함수를 사용한다고 생각하시면 될 것 같습니다.


 

 

다중조건 + VLOOKUP 함수를 LOOKUP 함수로 수식 작성하기.


수식을 입력해서 얻은 결과값입니다.

    수식은

    =LOOKUP(1,1/(($I$2:$I$12=A2)*($J$2:$J$12=B2)),$K$2:$K$12)

 

    ($I$2:$I$12=A2)첫번째 조건인 I열의 날짜가 A2 셀의 날짜와 같을때

    ($J$2:$J$12=B2) 두번째 조건인 J열의 이름이 B2 셀의 이름과 같을때

    위 두가지 조건이 정확하게 일치할때

    $K$2:$K$12 → 결과값을 K열인 출근시간의 값을 불러오도록 합니다.

    수식은 동일하게 작성하고, 결과값의 범위만 퇴근시간은 $L$2:$L$12, 연장근무시간은 $M$2:$M$12 으로 변경해 주시면 되겠죠!!?

 

 

수식을 적용해보면,

    2019-10-01일에 홍길동 이라는 사람의 출근, 퇴근, 연장근무시간의 값을 잘 불러오지만,

    2019-10-01일의 홍길금 이라는 사람의 출근, 퇴근, 연장근무시간의 값은 수식 오류값으로 나오게 됩니다.

    이유는 불러올 조건과 결과값의 범위에서 2019-10-01일에 홍길금 이라는 사람으로 입력된 데이터가 없기 때문에,

    가져올 값이 없기 때문이죠.

    이것을 해결하기 위해서, #IFERROR 함수를 추가로 작성해 주시면 됩니다.

 

 

IFERROR 함수를 작성해서 값이 오류값일 경우에는 "" ← 공란으로 결과값을 표기 하는 것입니다.

 

그럼 이제 오류값으로 나오는것까지 해결했으니,

    작성된 수식을 드래그하거나, 복사해주시면 되겠습니다~~!!

 

 

그럼 오늘 내용도 많은분들께 도움되시길 바라며,

좋은 하루 되시길 바라겠습니다 ^^!

 

 

댓글