Excel vzorec: Súčet prvých n zhodných hodnôt

Obsah

Všeobecný vzorec

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

Zhrnutie

Ak chcete spočítať prvých n zhodných hodnôt v množine údajov, môžete použiť vzorec založený na funkciách FILTER a SEKVENCIA. V zobrazenom príklade je vzorec v bunke G5, skopírovaný nadol,:

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

kde meno (B5: B16) a skóre (C5: C16) sú pomenované rozsahy.

Vysvetlenie

Funkcia FILTER, nová v aplikácii Excel 365, pomáha zjednodušiť niektoré zložité problémy so vzorcom.

V tomto príklade je cieľom spočítať prvé 3 skóre pre Jakea aj Haileyho na základe poradia, v akom sa nachádzajú v tabuľke. Celkovo je skóre 12 a Jake a Hailey majú po 6 skóre.

Pri práci zvnútra von je prvou úlohou vygenerovať zoznam skóre pre každé meno. To sa deje pomocou funkcie FILTER:

FILTER(score,name=F5)

S "Jake" v bunke F5 je výsledkom pole so všetkými Jakeovými skóre, ako je toto:

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

Toto pole je vrátené funkcii INDEX ako argument poľa:

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

Funkcia SEQUENCE sa používa na vygenerovanie hodnoty pre číslo riadku a vráti pole s 3 číslami,

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

V tomto okamihu môžeme napísať INDEX časť vzorca takto:

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

INDEX vráti hodnoty spojené s prvými 3 riadkami v poli do funkcie SUM:

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

a SUM vráti súčet týchto hodnôt ako konečný výsledok v G5. Keď sa vzorec skopíruje do bunky G6, výsledkom je súčet prvých 3 skóre Hailey.

Súčet posledných n zhodných hodnôt

Ak chcete sčítať posledných n zhodných hodnôt, môžete upraviť vzorec takto:

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

Tento vzorec je podrobnejšie vysvetlený tu.

Zaujímavé články...