VLOOKUP 마지막값 찾기
VLOOKUP을 맨 밑에서부터 찾는 방법이 있다?! - VLOOKUP 마지막값 찾기
이 강의에서는 같은 키 값이 여러 번 나타날 때 마지막 항목을 가져와야 하는 상황에서, VLOOKUP의 첫 일치 값 반환 한계를 LOOKUP 함수로 우회하는 공식을 다룹니다. LOOKUP이 범위의 끝에서부터 거슬러 조회하는 특성과 1/(찾을범위=찾는값) 배열의 동작 원리를 단계별로 살펴, 실무 데이터에서도 마지막 일치 값을 안정적으로 추출할 수 있도록 정리합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
VLOOKUP 함수 마지막 값 찾는 공식
= LOOKUP (2,1/(찾을범위=찾는값),출력범위)
어떻게 동작하나요?
VLOOKUP 함수는 출력범위의 위쪽부터 조회를 시작하므로, 범위 안에서 가장 먼저 일치하는 항목을 결과로 반환합니다. 반면 LOOKUP 함수는 출력범위의 마지막 값에서 시작해 위로 거슬러 올라가며 값을 조회합니다. 따라서 같은 키 값이 여러 번 나오더라도 마지막에 위치한 항목을 찾아 반환할 수 있습니다.
LOOKUP 함수로 마지막 값을 찾는 공식의 단계별 설명은 관련 포스트를 확인하세요.
관련 기초함수
강의에서 사용된 공식
= LOOKUP (2,1/($A$2:$A$20=$L$3),$B$2:$B$20)
공식의 동작 원리
- [ 1/($A$2:$A$20=$L$3) ] 부분은 찾을 범위에서 찾는 값과 일치하면 1을, 일치하지 않으면 #DIV/0 오류를 반환합니다.
{1/($A$2:$A$20=$L$3)} '<-- 이 항목은 아래와 같이 배열로 분리됩니다.
{1/$A$2=$L$3, 1/$A$3=$L$3, 1/$A$4=$L$3, ..., 1/$A$20=$L$3}
'// 즉, 찾는값과 다를경우 FALSE => 0 이 되고, 해당 항목은 [ 1/0 ] 이 되어 결과값으로 #DIV/0 오류를 반환합니다.
'// 만약 찾을범위의 값이 찾는값과 같을 경우 '1'이 반환되어 항목은 [ 1/1 ] 이 계산되므로 결과값은 1이 반환됩니다. - 그 결과 아래와 같이 1과 #DIV/0 오류가 섞인 배열이 반환됩니다.
{#DIV/0, #DIV/0, 1, #DIV/0, ... , 1, #DIV/0}
'// 이렇게 반환된 배열의 마지막 값부터 거꾸로 조회하여, 2보다 작거나 같은 값을 매칭합니다.
'// 따라서 맨 마지막에 위치한 1 을 찾아 반환합니다. - 마지막에 위치한 1을 찾으면, '출력범위'에서 동일한 위치의 값을 결과로 반환하고 함수가 종료됩니다.
= LOOKUP (2,{#DIV/0, #DIV/0, 1, #DIV/0, ... , 1, #DIV/0} ,$B$2:$B$20)
'// -> 출력범위의 마지막에서 2번째 있는 값인 'B19' 를 반환합니다.
주의사항
- LOOKUP 함수의 첫 번째 인수 '2'는 1보다 크거나 같은 값이라면 어떤 숫자든 사용할 수 있습니다. 단, 1을 입력하면 잘못된 결과가 반환될 수 있으므로 유의합니다.
- 찾을 범위와 출력 범위의 너비는 같아야 합니다. 너비가 다르면 잘못된 값이 반환될 수 있습니다.
댓글 53
로그인 후 댓글을 작성할 수 있습니다.
김홍렬
2020.02.20 17:27
좋은 정보 감사합니다.
호야
2020.03.14 22:13
이건 이해하기가 좀 어렵네요
호야
2020.03.17 11:51
또 보고 가네요
엑엑셀셀
2020.03.20 21:09
오늘도 배우고 갑니다...
노은
2020.03.30 21:15
조금씩 난의도가 높아져서 따라가는데 시간이 걸리지만 열심히 해보겠습니다.
angami919
2020.03.31 11:13
정말 잘 보고 있어요!!!
고재봉
2020.04.06 21:14
잘 봤읍니다.
닥코드
2020.04.07 14:15
항상 좋은 내용 감사합니다.
커피한잔만
2020.04.09 16:18
쉽게 풀어 설명해주셔서 이해하기 좋았습니다. 감사합니다.
엑린이
2020.04.09 23:06
이건 좀 어렵네요