„Excel“ formulė: susumuokite n didžiausias reikšmes su kriterijais -

Bendroji formulė

=SUMPRODUCT(LARGE((range=criteria)*(values),(1,2,3,N)))

Santrauka

Apibendrinant n didžiausias diapazono atitikimo kriterijų reikšmes, galite naudoti formulę, pagrįstą funkcija DIDELIS, įterptą į funkciją SUMPRODUCT. Bendroje formulės formoje (aukščiau) diapazonas reiškia langelių diapazoną, kuris yra lyginamas su kriterijais , reikšmės reiškia skaitines vertes, iš kurių gaunamos didžiausios vertės, o N reiškia N-osios vertės idėją.

Pavyzdyje aktyvioje langelyje yra ši formulė:

=SUMPRODUCT(LARGE((color=E5)*(value),(1,2,3)))

Kur spalva yra pavadintas diapazonas B5: B12, o vertė - pavadintas diapazonas C5: C12.

Paaiškinimas

Paprasčiausia forma LARGE pateikia šią struktūrą „N-tą pagal dydį“ diapazono vertę:

=LARGE (range,N)

Taigi, pavyzdžiui:

=LARGE (C5:C12,2)

grąžins 2-ą pagal dydį reikšmę diapazone C5: C12, kuri parodytame pavyzdyje yra 12.

Tačiau jei „LARGE“ kaip antrąjį argumentą pateiksite „masyvo konstantą“ (pvz., Konstantą formoje (1,2,3)), LARGE pateiks rezultatų masyvą, o ne vieną rezultatą. Taigi, formulė:

=LARGE (C5:C12, (1,2,3))

grąžins 1, 2 ir 3 pagal dydį C5: C12 reikšmę tokiu masyvu: (12,12,10)

Taigi, triukas čia yra filtruoti reikšmes pagal spalvą prieš paleidžiant LARGE. Tai darome su fraze:

(color=E5)

Dėl to gaunama TRUE / FALSE reikšmių masyvas. Vykdant daugybos operaciją, šios vertės yra verčiamos į vienetus ir nulius:

=LARGE((1;0;1;0;1;1;0;0)*(12;12;10;9;8;8;7;5),(1,2,3))

Taigi galutinis rezultatas yra tas, kad operacijos metu išgyvena tik vertės, susijusios su „raudona“ spalva:

=SUMPRODUCT(LARGE((12;0;10;0;8;8;0;0),(1,2,3)))

o kitos vertės yra priverstos nuliui.

Pastaba: ši formulė netvarkys vertės diapazono teksto. Žiūrėkite žemiau.

Teksto tvarkymas vertėmis

Jei bet kurioje vertybių diapazone yra teksto, funkcija DIDELĖ išmes #VALUE klaidą ir sustabdys formulės veikimą.

Norėdami tvarkyti tekstą vertės diapazone, galite pridėti IFERROR funkciją taip:

=SUM(IFERROR(LARGE(IF((color=E5),value),(1,2,3)),0))

Čia mes sulaikome LARGE klaidas, kurias sukelia teksto reikšmės, ir pakeičiame nuliu. Naudojant IF viduje DIDELIS, formulę reikia įvesti su klavišais + Shift + Enter, todėl mes pereiname prie SUM, o ne į SUMPRODUCT.

Pastaba: Aš patekau į šią formulę, kurią „Stoveroverflow“ paskelbė nuostabus Barry Houdini.

Įdomios straipsniai...