
Vispārēja formula
=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))
Kopsavilkums
Apkopojot pirmās n atbilstošās vērtības datu kopā, varat izmantot formulu, kuras pamatā ir funkcijas FILTRS un SEQUENCE. Parādītajā piemērā šūnas G5 formula, kas nokopēta uz leju, ir:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))
kur nosaukums (B5: B16) un rezultāts (C5: C16) ir nosaukti diapazoni.
Paskaidrojums
Funkcija FILTER, kas ir jauna programmā Excel 365, var palīdzēt vienkāršot dažas sarežģītas formulu problēmas.
Šajā piemērā mērķis ir summēt Džeika un Heilijas pirmos 3 rādītājus, pamatojoties uz secību, kādā tie tiek parādīti tabulā. Kopā ir 12 punkti, un Džeikam un Heilijam ir pa 6 punktiem.
Strādājot no iekšpuses uz āru, pirmais uzdevums ir katram vārdam izveidot rezultātu sarakstu. Tas tiek darīts ar funkciju FILTER:
FILTER(score,name=F5)
Ja šūnā F5 ir “Džeiks”, rezultāts ir masīvs ar visiem šādiem Džeika rādītājiem:
(6;5;7;7;6;8)
Šis masīvs tiek atgriezts funkcijai INDEX kā masīva arguments:
INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))
Funkcija SEQUENCE tiek izmantota rindas numura vērtības ģenerēšanai un atgriež masīvu ar 3 skaitļiem,
SEQUENCE(3,1,1,1) // returns (1;2;3)
Šajā brīdī formulas INDEX daļu mēs varam uzrakstīt šādi:
INDEX((6;5;7;7;6;8),(1;2;3))
INDEX atgriež vērtības, kas saistītas ar masīva pirmajām 3 rindām, funkcijai SUM:
=SUM((6;5;7)) // returns 18
un SUM atgriež šo vērtību summu kā gala rezultātu G5. Kad formula tiek nokopēta šūnā G6, rezultāts ir Heilija pirmo 3 punktu summa.
Sumējiet pēdējās n atbilstošās vērtības
Apkopojot pēdējās n atbilstošās vērtības, varat pielāgot šādu formulu:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))
Šī formula ir sīkāk paskaidrota šeit.