Ejecutando Max ArrayFormula para Google Sheets
Tengo una lista de números ingresados manualmente:
1
100
100
10
1
1000
10
1000
1
1000
100
10
Me gustaría obtener el máximo en ejecución, es decir, el valor máximo de cada subconjunto de la matriz de números inicial. Por subconjunto, me refiero a los números desde [A1]
hasta [A2]
, desde [A1]
hasta [A3]
, desde [A1]
hasta [A4]
, etc.
El resultado sería el siguiente:
1
100
100
100
100
1000
1000
1000
1000
1000
1000
1000
Se pueden agregar más entradas a la lista inicial de números.
Usando la respuesta con recompensa, aquí hay una prueba de velocidad con 100500 filas:
Esto no incluye la última respuesta.
davy.ai
Para obtener el valor máximo en ejecución para cada subarreglo de la matriz de números inicial, podemos usar la siguiente fórmula en Google Sheets:
=ArrayFormula(MAX(IF(FILA(A1:A)<=FILA(A1),A1:A)))
Esta fórmula utiliza la función
MAX
para encontrar el valor máximo en un subarreglo dado. El subarreglo se define utilizando la funciónIF
, que verifica si el número de fila de cada celda en el rangoA1:A
es menor o igual al número de fila de la primera celda en el rango (es decir, si está dentro del subarreglo actual). Si es así, el valor de esa celda se incluye en el cálculo deMAX
. Finalmente, el envoltorioArrayFormula
asegura que la fórmula se aplique a cada fila de la hoja.Para aplicar esta fórmula a un rango de celdas, simplemente podemos copiarla y pegarla en la primera celda del rango y arrastrar el control de relleno hacia abajo hasta el final. El resultado será una columna de valores máximos en ejecución, donde cada valor representa el valor máximo en el subarreglo desde la primera celda hasta la fila actual (inclusive).