У меня есть функция Excel, которая находит индекс в AmountNamedRange
второй по величине суммы, учитывая, что его соответствующий DateNamedRange
находится в течение последних тридцати дней.
=ArrayFormula(Match(Large(If(DateNamedRange > Today() - 30, AmountNamedRange, 0), 2), AmountNamedRange, 0))
Это работает достаточно хорошо, если в таблице нет других строк с таким же количеством. Однако, если такая вещь существует, эта формула дает индекс первой строки с той же суммой, что и вторая по величине сумма за последние тридцать дней. Я понимаю, что мое объяснение сбивает с толку, поэтому вот пример (предположим, сегодня 31.01.2017):
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), но моя формула вернет индекс 2, потому что Match
находит первую строку в таблице, которая соответствует сумме. Как я могу изменить мою формулу, чтобы правильно вернуть 6?