Encontrar máximos por orden de aparición de una columna

Tengo una serie de datos en una columna que me proporcionan la gráfica adjunta.

Me interesa encontrar todos los máximos por orden de aparición (no por orden de mayor a menor ni nada de eso). Lo malo es que no todos los máximos se encuentran a la misma distancia, sino podría, jugar a encontrar el máximo de un rango de celdas, y luego el máximo del siguiente rango de igual tamaño, etc...

Muchas gracias.

1 respuesta

Respuesta
1

Sin conocer cómo tienes ordenados los datos, una idea de cómo enfocarlo sería esta:

Los datos los tengo ordenados como muestro en las columnas Q y R. La Q es tiempo (con un intervalo entre cada celda de 0,001995 segundos). la columna R son Sones (lo que está representado en la gráfica). La columna O es lo que querría que me hiciera a partir de las columnas Q y R. Ponerme los máximos que encuentre por orden de aparición en los datos (columnas Q y R).

Lo puedes resolver de forma sencilla ocupando la columna "P" del siguiente modo:

Siguiendo con tu ejemplo, en P3 pega lo siguiente:

=SI(R3>R2;SI(R3>R4;MAX($P$2:P2)+1;"");"")

Según tu configuración puede que debas sustituir los punto y coma ";" por comas ",".

Arrastra la fórmula hasta el final.

De este en esta columna te numerará aquellos registros que cumplen ser pico, de todos modos por lo que veo en tus datos esto no te funcionará porque tienes pequeños picos que no quieres que te aparezcan en tus resultados; por ejemplo el valor que tienes en R9 es pico. Para evitar esto, deberías añadir otra condición a la fórmula anterior, por ejemplo que el valor pico sea mayor que 20, por ejemplo.. en cuyo caso la fórmula a pegar en P3 sería esta:

=SI(R3>20;SI(R3>R2;SI(R3>R4;MAX($P$2:P2)+1;"");"");"")

Otra manera de hacerlo sería establecer los valores pico como aquellos mayores a los DOS valores anteriores y posteriores y no solamente mayor al inmediatamente anterior y posterior, etc..

Siguiente paso, en N3 escribir 1 y arrastrar hasta donde quieras y rellenar serie, de modo que obtenemos 1, 2, 3, 4, etc en la columna N.

Finalmente en O3 pega lo siguiente y lo arrastras hasta donde quieras:

=SIERROR(CONSULTAV(N3;$P$2:$R$22;3;FALSO);"")

A tener en cuenta, yo he utilizado la función CONSULTAV, es probable que tú debas utilizar BUSCARV. Adapta el rango $P$2:$R$22 a tu rango concreto (en lugar de 22 el número de filas con datos que tengas..).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas