
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í.