Fórmula de Excel: Suma cada enésima columna -

Tabla de contenido

Fórmula genérica

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

Resumen

Para sumar cada enésima columna, puede usar una fórmula basada en las funciones SUMPRODUCT, MOD y COLUMN.

En el ejemplo que se muestra, la fórmula en L5 es:

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

Explicación

En el núcleo, usa SUMPRODUCT para sumar valores en una fila que han sido "filtrados" usando lógica basada en MOD. La clave es esta:

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

Este fragmento de 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)

Esto entra en MOD así:

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

donde K5 es el valor de N en cada fila. La función MOD devuelve el resto de cada número de columna dividido por N. Entonces, por ejemplo, cuando N = 3, MOD devolverá algo como esto:

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

Tenga en cuenta que los ceros aparecen para las columnas 3, 6, 9, etc. La fórmula usa = 0 para forzar un VERDADERO cuando el resto es cero y un FALSO cuando no, luego usamos un doble negativo (-) para coaccionar VERDADERO y FALSO a unos y ceros. Eso deja una matriz como esta:

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

Donde los 1 ahora indican "n-ésimo valor". Esto entra en SUMPRODUCT como matriz1, junto con B5: J5 como matriz2. SUMPRODUCT luego hace lo suyo, primero multiplicando y luego sumando productos de las matrices.

Los únicos valores que "sobreviven" a la multiplicación son aquellos donde matriz1 contiene 1. De esta manera, puede pensar en la lógica de matriz1 "filtrando" los valores en matriz2.

Suma todas las demás columnas

Si desea sumar todas las demás columnas, simplemente adapte esta fórmula según sea necesario, teniendo en cuenta que la fórmula asigna automáticamente 1 a la primera columna del rango. Para sumar columnas PAR, use:

=SUMPRODUCT(--(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=0),A1:Z1)

Para sumar columnas IMPAR, use:

=SUMPRODUCT(--(MOD(COLUMN(A1:Z1)-COLUMN(A1)+1,2)=1),A1:Z1)

Articulos interesantes...