테이블에 여러 번 나타나는 값의 특정 인덱스를 찾는 방법

테이블에 여러 번 나타나는 값의 특정 인덱스를 찾는 방법

지난 30일 동안 AmountNamedRange해당 항목이 두 번째로 큰 색인을 찾는 Excel 함수가 있습니다 .DateNamedRange

=ArrayFormula(Match(Large(If(DateNamedRange > Today() - 30, AmountNamedRange, 0), 2), AmountNamedRange, 0))

테이블에 동일한 양의 다른 행이 없는 한 이는 충분히 잘 작동합니다. 하지만 그런 것이 있다면 이 공식은첫 번째지난 30일 동안 두 번째로 큰 금액과 동일한 금액이 포함된 행입니다. 내 설명이 혼란스럽다는 것을 알고 있으므로 예를 들어 보겠습니다(오늘이 2017년 1월 31일이라고 가정).

1    Date          Amount
2    12/2/2016     27
3    12/6/2016     66
4    12/15/2016    99
5    1/8/2017      45
6    1/20/2017     27
7    1/22/2017     18

이 경우 지난 30일 동안 두 번째로 큰 금액은 27(인덱스 6)이지만 Match테이블에서 해당 금액과 일치하는 첫 번째 행을 찾기 때문에 내 수식은 인덱스 2를 반환합니다. 6을 올바르게 반환하도록 수식을 수정하려면 어떻게 해야 합니까?

답변1

MATCH에 사용한 두 번째 매개변수와 동일한 표현식을 사용해야 하므로 LARGE금액뿐만 아니라 지난 30일 동안의 금액만 검색됩니다.

=MATCH(LARGE(IF(DateNamedRange > TODAY() - 30, AmountNamedRange, 0), 2), IF(DateNamedRange > TODAY() - 30, AmountNamedRange, 0), 0)
(여전히 배열 수식입니다)

여기에 이미지 설명을 입력하세요

관련 정보