마지막 일치 값 찾기 공식
지원 버전 자세히 보기
중복된 항목 중 마지막으로 일치하는 값을 반환하는 공식입니다. VLOOKUP 함수가 항상 첫 번째 값만 반환할 때 사용합니다.
인수 설명
01LOOKUP 함수 공식 (모든 버전)
=LOOKUP ( 2, 1 / ( 찾을범위=찾을값 ), 출력범위 )인수 설명 자세히 보기(인수를 클릭하면 해당 영역만 강조됩니다. 여러 개를 함께 켜고 끌 수 있습니다.)
02XLOOKUP 함수 공식 (엑셀 2021 이후)
=XLOOKUP ( 찾을값, 찾을범위, 출력범위, "", 0, -1 )인수 설명 자세히 보기
동작 원리
01LOOKUP 함수 공식 (모든 버전)
비교식은 일치 행을 1과 오류값의 배열로 바꾸고 LOOKUP 함수는 마지막 숫자 1의 행에서 결과를 반환합니다.
LOOKUP 함수 공식의 예제 시트에서 F2 셀이 510000을 반환하는 계산 과정입니다. 단계마다 강조된 부분이 어떻게 계산되는지 살펴보세요.
일치 여부를 1과 오류값으로 바꿉니다
B2:B8이 E2의 한빛상사와 같으면 1/1로 1을 반환하고, 다르면 1/0으로 #DIV/0! 오류를 반환합니다. 이 오류값은 마지막 숫자 1을 찾기 위해 의도적으로 만든 중간값입니다.
=1 / ( B2:B8=E2 )
= {1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!}
한빛상사와 일치하는 2·4·7행만 1입니다. LOOKUP 함수가 마지막 숫자 1의 결과를 반환합니다
LOOKUP 함수는 오류값을 건너뛰고 2보다 작거나 같은 마지막 숫자 1을 선택한 뒤, 같은 위치의 C7 값을 반환합니다. 이 관용식은 원본 B2:B8을 오름차순으로 정렬하지 않아도 됩니다.
=LOOKUP ( 2, 1 / ( B2:B8=E2 ), C2:C8 )
= 510000
마지막 일치 행인 C7의 주문액입니다.
- #DIV/0 같은 에러는 lookup()이 검색할 때, lokkup이 무조건 제외시키나요?
오름차순이어야 한다고 했지만, 에러값은 순서없이 있는데, 이것이 lookup() 동작에 오류를 만들지는 않나요?2. " LOOKUP 함수는 찾을범위의 아래에서부터 조회하여 맨 마지막에 위치하는 항목을 반환합니다." 이런 설명은 Microsoft Excel 공식 매뉴얼에 적혀 있습니까?
3."Microsoft Excel 공식" 매뉴얼(문서, 개발자 가이드 등)은 어디에서 찾을 수 있는지요?
2번 내용은 아마 메뉴얼에는 없을겁니다.^^ 하지만 사용하다보면 오름차순 정렬 된 범위에서 아래->위 방향으로 일치하는 값이 반환되는 것을 확인할 수 있습니다.
공식 메뉴얼은 아래 링크를 참고해보시길 바랍니다.
https://support.microsoft.com/en-us/office/excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188