Formuła programu Excel: zsumuj pierwsze n pasujących wartości -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby zsumować pierwsze n pasujących wartości w zestawie danych, można użyć formuły opartej na funkcjach FILTER i SEQUENCE. W przedstawionym przykładzie formuła w komórce G5 skopiowana w dół to:

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

gdzie nazwa (B5: B16) i wynik (C5: C16) to nazwane zakresy.

Wyjaśnienie

Funkcja FILTER, nowa w programie Excel 365, może pomóc w uproszczeniu niektórych trudnych problemów z formułami.

W tym przykładzie celem jest zsumowanie pierwszych 3 wyników Jake'a i Haileya, na podstawie kolejności, w jakiej pojawiają się w tabeli. W sumie jest 12 punktów, a Jake i Hailey mają po 6 punktów.

Pracując od wewnątrz, pierwszym zadaniem jest wygenerowanie listy wyników dla każdego nazwiska. Odbywa się to za pomocą funkcji FILTER:

FILTER(score,name=F5)

Z „Jake” w komórce F5, wynik jest tablicą zawierającą wszystkie wyniki Jake'a w następujący sposób:

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

Ta tablica jest zwracana do funkcji INDEKS jako argument tablicy:

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

Funkcja SEQUENCE służy do generowania wartości numeru wiersza i zwraca tablicę z 3 liczbami,

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

W tym momencie możemy napisać część INDEKS wzoru w następujący sposób:

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

INDEKS zwraca wartości związane z pierwszymi 3 wierszami tablicy do funkcji SUMA:

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

a SUMA zwraca sumę tych wartości jako wynik końcowy w G5. Gdy formuła jest kopiowana do komórki G6, wynikiem jest suma pierwszych 3 wyników Haileya.

Suma ostatnich n pasujących wartości

Aby zsumować ostatnie n pasujących wartości, możesz dostosować formułę w następujący sposób:

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

Ta formuła jest wyjaśniona bardziej szczegółowo tutaj.

Interesujące artykuły...