
Splošna formula
=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))
Povzetek
Za seštevanje prvih n ujemajočih se vrednosti v naboru podatkov lahko uporabite formulo, ki temelji na funkcijah FILTER in SEQUENCE. V prikazanem primeru je formula v kopirani celici G5:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))
kjer sta ime (B5: B16) in rezultat (C5: C16) imenovani obsegi.
Pojasnilo
Funkcija FILTER, nova v Excelu 365, lahko pomaga pri poenostavitvi nekaterih zapletenih težav s formulo.
V tem primeru je cilj sešteti prve 3 ocene za Jakea in Hailey glede na vrstni red, ki sta navedena v tabeli. Skupno jih je 12, Jake in Hailey pa po 6.
Če delate od znotraj navzven, je prva naloga ustvariti seznam rezultatov za vsako ime. To se naredi s funkcijo FILTER:
FILTER(score,name=F5)
Z "Jake" v celici F5 je rezultat matrika z vsemi Jakovimi rezultati, kot je ta:
(6;5;7;7;6;8)
To polje je vrnjeno funkciji INDEX kot argument matrike:
INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))
Funkcija SEQUENCE se uporablja za generiranje vrednosti za številko vrstice in vrne matriko s 3 številkami,
SEQUENCE(3,1,1,1) // returns (1;2;3)
Na tej točki lahko del formule INDEX napišemo takole:
INDEX((6;5;7;7;6;8),(1;2;3))
INDEX vrne vrednosti, povezane s prvimi 3 vrsticami v matriki, v funkcijo SUM:
=SUM((6;5;7)) // returns 18
in SUM vrne vsoto teh vrednosti kot končni rezultat v G5. Ko formulo kopiramo v celico G6, je rezultat vsota prvih 3 ocen Hailey.
Seštejte zadnjih n ujemajočih se vrednosti
Če želite sešteti zadnjih n ujemajočih se vrednosti, lahko formulo prilagodite tako:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))
Ta formula je tukaj podrobneje razložena.