회사와 관련된 점수를 가져오려고 하는데 최신 항목만 원합니다. 점수가 전혀 없으면 셀을 비워두기를 원합니다.
회사 | 점수 | 날짜 |
---|---|---|
ㅏ | 3.5 | 2020년 2월 1일 |
ㅏ | 4.3 | 2019년 1월 16일 |
이 경우 A사의 점수를 원하면 3.5를 반환해줬으면 좋겠습니다. D 회사를 검색하는 경우 셀을 공백으로 유지하고 싶습니다.
미리 도움을 주셔서 정말 감사드립니다!!
답변1
답변2
사용 XLOOKUP()
:
=XLOOKUP(F2, SORTBY(A2:A41, C2:C41), SORT(C2:C41), "", 0, -1)
SORTBY()
수식의 조회 배열 A2:A41을 값을 원하는 열인 C열을 기준으로 정렬된 순서로 배치합니다. XLOOKUP()
위에서 아래로 검색하는 경우 무작위 항목이 아니라 원하는 항목이 될 경우 조회 값의 마지막 인스턴스가 찾을 수 있도록 정렬합니다 .
반환 값 열(이 경우 C열(수식에서는 C2:C41))을 기준으로 오름차순, 즉 가장 낮은 값이 먼저, 가장 높은 값이 마지막에 정렬되어 이를 보장합니다. 해당 열에 날짜가 있고 Excel에서는 날짜를 숫자로 간주하므로 문제가 발생하지 않습니다.
따라서 이 시점에서 Excel은 생성된 가상 데이터 범위의 끝에서 각 조회 범위 값 집합에 대해 가장 높은 값 날짜, 가장 늦은 날짜가 있는 데이터 범위를 확인합니다.
XLOOKUP()
그런 다음 끝에서 시작까지(아래에서 위로) 검색하라는 지시를 받고 제공된 조회 값을 찾으면 수식의 가상 데이터 범위에 있는 해당 값 집합에서 마지막 값을 찾습니다. 따라서 가상 결과 열에도 해당 레코드가 반환됩니다. 그것도 정렬되었으므로 SORT()
이번에는 더 이상 필요하지 않으며 두 정렬이 동일한 "정렬 기준" 열에 의해 수행되었으므로 C 열의 레코드는 A 열의 원래 레코드와 일치합니다. 즉, 두 열의 쌍 행은 뒤섞여 엉망이 되지 않고 함께 유지되었습니다.
따라서 조회 배열의 가상 데이터 범위와 쌍이 일치하는 결과 배열을 만들었습니다. 두 개의 배열을 정렬하여 각 조회 값이 유사한 값으로 그룹화되어 결과 배열에 따른 정렬로 인해 그 중 마지막 항목이 원하는 값이 되도록 했습니다. 그리고 XLOOKUP()
처음부터 끝까지 볼 수 있기 때문에 찾을 수 있습니다.
실제로 동일한 조회 값의 각 집합에 대해 내림차순(최고 날짜부터 최저 날짜 순)으로 정렬할 수 있습니다. 그런 다음 XLOOKUP()
어떤 이유가 있으면 처음부터 끝까지 살펴볼 수 있습니다 .