es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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:

enter image description here

Esto no incluye la última respuesta.

Tags:  , , , ,

Answer

  1. Avatar for 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ón IF, que verifica si el número de fila de cada celda en el rango A1: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 de MAX. Finalmente, el envoltorio ArrayFormula 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).

Comments are closed.