
Bendroji formulė
=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))
Santrauka
Norėdami susumuoti pirmąsias n duomenų rinkinio n atitikimo reikšmes, galite naudoti formulę, pagrįstą funkcijomis FILTER ir SEQUENCE. Parodytame pavyzdyje G5 langelio formulė, nukopijuota žemiau, yra:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))
kur vardas (B5: B16) ir rezultatas (C5: C16) yra pavadinti diapazonai.
Paaiškinimas
Funkcija FILTRAS, nauja programoje „Excel 365“, gali padėti supaprastinti kai kurias sudėtingas formulės problemas.
Šiame pavyzdyje siekiama susumuoti pirmuosius 3 Jake'o ir Hailey'o balus, remiantis jų pateikimo lentelėje tvarka. Iš viso yra 12 balų, o Jake'as ir Hailey turi po 6 balus.
Dirbant iš vidaus, pirmoji užduotis yra kiekvieno vardo balų sąrašo sudarymas. Tai daroma naudojant FILTER funkciją:
FILTER(score,name=F5)
Kai „Jake“ yra langelyje F5, rezultatas yra masyvas su visais tokiais Jake balais:
(6;5;7;7;6;8)
Šis masyvas grąžinamas į INDEX funkciją kaip masyvo argumentas:
INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))
Funkcija SEQUENCE naudojama eilutės numerio reikšmei generuoti ir pateikia masyvą su 3 skaičiais,
SEQUENCE(3,1,1,1) // returns (1;2;3)
Šiuo metu formulės INDEX dalį galime parašyti taip:
INDEX((6;5;7;7;6;8),(1;2;3))
INDEX grąžina reikšmes, susietas su pirmomis 3 masyvo eilutėmis, funkcijai SUM:
=SUM((6;5;7)) // returns 18
ir SUM pateikia šių verčių sumą kaip galutinį rezultatą G5. Kai formulė nukopijuojama žemyn į langelį G6, gaunama Hailey pirmųjų 3 balų suma.
Sumuokite paskutines n atitikimo reikšmes
Apibendrinant paskutines n atitikimo reikšmes, galite pritaikyti formulę taip:
=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))
Ši formulė išsamiau paaiškinta čia.