
Generisk formel
=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))
Sammendrag
For å oppsummere de første n samsvarende verdiene i et datasett, kan du bruke en formel basert på funksjonene FILTER og SEKVENS. I eksemplet vist er formelen i celle G5, kopiert ned,:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))
der navn (B5: B16) og poengsum (C5: C16) er kalt områder.
Forklaring
FILTER-funksjonen, ny i Excel 365, kan hjelpe deg med å forenkle noen vanskelige formelproblemer.
I dette eksemplet er målet å summere de tre første poengene for både Jake og Hailey, basert på rekkefølgen de vises i tabellen. Det er 12 poeng totalt, og Jake og Hailey har 6 poeng hver.
Arbeider fra innsiden og ut, den første oppgaven er å generere en liste over poeng for hvert navn. Dette gjøres med FILTER-funksjonen:
FILTER(score,name=F5)
Med "Jake" i celle F5 er resultatet en matrise med alle Jakes poengsummer slik:
(6;5;7;7;6;8)
Denne matrisen returneres til INDEX-funksjonen som arrayargumentet:
INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))
SEKVENS-funksjonen brukes til å generere verdien for radnummer, og returnerer en matrise med 3 tall,
SEQUENCE(3,1,1,1) // returns (1;2;3)
På dette punktet kan vi skrive INDEX-delen av formelen slik:
INDEX((6;5;7;7;6;8),(1;2;3))
INDEX returnerer verdier tilknyttet de første 3 radene i matrisen til SUM-funksjonen:
=SUM((6;5;7)) // returns 18
og SUM returnerer summen av disse verdiene som det endelige resultatet i G5. Når formelen kopieres ned til celle G6, er resultatet summen Hailey's 3 første poeng.
Sum siste n samsvarende verdier
For å oppsummere de siste n matchende verdiene, kan du tilpasse formelen slik:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))
Denne formelen er forklart mer detaljert her.