Cómo encontrar un índice particular de un valor que aparece varias veces en una tabla

Cómo encontrar un índice particular de un valor que aparece varias veces en una tabla

Tengo una función de Excel que encuentra el índice AmountNamedRangede la segunda cantidad más grande dado que su correspondiente DateNamedRangees dentro de los últimos treinta días.

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

Esto funciona bastante bien siempre que no haya otras filas en la tabla con la misma cantidad. Sin embargo, si tal cosa existe, esta fórmula proporciona el índice delprimerofila con la misma cantidad que la segunda cantidad más grande en los últimos treinta días. Me doy cuenta de que mi explicación es confusa, así que aquí hay un ejemplo (supongamos que hoy es el 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

En este caso, la segunda cantidad más grande en los últimos 30 días es 27 (índice 6), pero mi fórmula devolverá el índice 2 porque Matchencuentra la primera fila de la tabla que coincide con la cantidad. ¿Cómo puedo modificar mi fórmula para devolver correctamente 6?

Respuesta1

Debe usar la misma expresión como segundo parámetro MATCHque usó para LARGE, por lo que no solo buscará en Montos, sino solo los montos de los últimos 30 días:

=MATCH(LARGE(IF(DateNamedRange > TODAY() - 30, AmountNamedRange, 0), 2), IF(DateNamedRange > TODAY() - 30, AmountNamedRange, 0), 0)
(sigue siendo una fórmula matricial)

ingrese la descripción de la imagen aquí

información relacionada