Fórmula de Excel: Suma los primeros n valores coincidentes -

Tabla de contenido

Fórmula genérica

=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))

Resumen

Para sumar los primeros n valores coincidentes en un conjunto de datos, puede usar una fórmula basada en las funciones FILTRO y SECUENCIA. En el ejemplo que se muestra, la fórmula en la celda G5, copiada, es:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))

donde nombre (B5: B16) y puntuación (C5: C16) son rangos con nombre.

Explicación

La función FILTRO, nueva en Excel 365, puede ayudar a simplificar algunos problemas de fórmulas complicadas.

En este ejemplo, el objetivo es sumar los primeros 3 puntajes de Jake y Hailey, según el orden en que aparecen en la tabla. Hay 12 puntajes en total, y Jake y Hailey tienen 6 puntajes cada uno.

Trabajando desde adentro hacia afuera, la primera tarea es generar una lista de puntajes para cada nombre. Esto se hace con la función FILTRO:

FILTER(score,name=F5)

Con "Jake" en la celda F5, el resultado es una matriz con todas las puntuaciones de Jake como esta:

(6;5;7;7;6;8)

Esta matriz se devuelve a la función INDICE como el argumento de la matriz:

INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))

La función SEQUENCE se usa para generar el valor para el número de fila y devuelve una matriz con 3 números,

SEQUENCE(3,1,1,1) // returns (1;2;3)

En este punto, podemos escribir la parte INDICE de la fórmula de esta manera:

INDEX((6;5;7;7;6;8),(1;2;3))

INDICE devuelve valores asociados con las primeras 3 filas de la matriz a la función SUM:

=SUM((6;5;7)) // returns 18

y SUM devuelve la suma de estos valores como resultado final en G5. Cuando la fórmula se copia en la celda G6, el resultado es la suma de las primeras 3 puntuaciones de Hailey.

Sumar los últimos n valores coincidentes

Para sumar los últimos n valores coincidentes, puede adaptar la fórmula de esta manera:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))

Esta fórmula se explica con más detalle aquí.

Articulos interesantes...