Excel formula: Vsota prvih n ujemajočih se vrednosti -

Kazalo

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.

Zanimive Članki...