Fórmula de Excel: Máximo de cada enésima columna -

Tabla de contenido

Fórmula genérica

(=MAX(IF(MOD(COLUMN(rng)-COLUMN(rng.first)+1,n)=0,rng)))

Resumen

Para obtener el máximo de cada enésima columna, puede usar una fórmula de matriz basada en las funciones MAX, MOD y COLUMN. En el ejemplo que se muestra, la fórmula en M5 es:

=MAX(IF(MOD(COLUMN(B5:K5)-COLUMN(B5)+1,L5)=0,B5:K5))

Nota: esta es una fórmula de matriz y debe ingresarse con control + shift + enter.

Explicación

Esta fórmula utiliza las funciones MOD y COLUMN para filtrar los valores que no están en las columnas n, luego ejecuta MAX en el resultado.

La clave es este fragmento:

MOD(COLUMN(B5:K5)-COLUMN(B5)+1,L5)=0

Aquí, la fórmula usa la función COLUMNA para obtener un conjunto de números de columna "relativos" para el rango (explicado en detalle aquí) que se ve así:

(1,2,3,4,5,6,7,8,9,10)

Esta matriz entra en la función MOD como argumento numérico:

MOD((1,2,3,4,5,6,7,8,9,10),K5)=0

donde L5 es el valor que se utilizará para "enésimo". La función MOD devuelve el resto de cada número de columna dividido por N. Entonces, por ejemplo, cuando N = 3, MOD devolverá una matriz como esta:

(1,2,0,1,2,0,1,2,0,1)

Tenga en cuenta que aparecen ceros para las columnas 3, 6, 9, etc., correspondientes a cada tercera columna. Esta matriz se compara con cero con la expresión lógica = 0 para forzar un VERDADERO cuando el resto es cero y un FALSO cuando no. Estos valores entran en la función SI como prueba lógica. La función IF filtra en consecuencia, por lo que solo los valores en el rango original en enésimas columnas entran en la matriz final. Los otros valores se vuelven FALSOS.

Cuando n = 3, la matriz final dentro de MAX se ve así:

MAX((FALSE,FALSE,11,FALSE,FALSE,8,FALSE,FALSE,19,FALSE))

Finalmente, la función MAX ignora los valores FALSE y devuelve el máximo de valores restantes, 19.

Max de cada otra columna

Si desea obtener el máximo de todas las demás columnas, simplemente adapte esta fórmula según sea necesario, entendiendo que la fórmula asigna automáticamente 1 a la primera columna del rango. Para obtener el máximo de columnas PAR, use:

(=MAX(IF(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=0,rng)))

Para obtener el máximo de columnas ODD, use:

(=MAX(IF(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=1,rng)))

Articulos interesantes...