
Generička formula
=SUMPRODUCT(--(range1=criteria),range2)
Sažetak
Da biste zbrojili ili zbrojili stupce na temelju kriterija u susjednim stupcima, možete upotrijebiti formulu koja se temelji na funkciji SUMPRODUCT. U prikazanom primjeru formula u J5 je:
=SUMPRODUCT(--($B5:$H5=J$4),$C5:$I5)
Obrazloženje
U osnovi, ova formula koristi SUMPRODUCT za množenje, a zatim zbrajanje proizvoda dva polja: polja1 i polja2 . Prvi niz, array1 postavljen je da djeluje kao "filtar" koji dopušta samo vrijednosti koje zadovoljavaju kriterije.
Array1 koristi raspon koji započinje u prvom stupcu koji sadrži vrijednosti koje moraju proći kriterije. Te "vrijednosti kriterija" nalaze se u stupcu s lijeve strane i neposredno uz "vrijednosti podataka".
Kriteriji se primjenjuju kao jednostavan test koji stvara niz TRUE i FALSE vrijednosti:
--($B5:$H5=J$4)
Ovaj bit formule "testira" svaku vrijednost u prvom polju koristeći isporučene kriterije, a zatim koristi dvostruko negativan (-) za prisiljavanje rezultirajućih vrijednosti TRUE i FALSE na 1 i 0. Rezultat izgleda ovako:
(1,0,0,0,1,0,1)
Imajte na umu da 1 odgovaraju stupcima 1,5 i 7 koji udovoljavaju kriterijima "A".
Za niz 2 unutar SUMPRODUCT-a koristimo raspon koji je "pomaknut" za jedan stupac udesno. Ovaj raspon započinje s prvim stupcem koji sadrži vrijednosti koje se zbrajaju i završava zadnjim stupcem koji sadrži vrijednosti za zbroj.
Dakle, u primjeru formule u J5, nakon što su nizovi popunjeni, imamo:
=SUMPRODUCT((1,0,0,0,1,0,1),(1,"B",1,"A",1,"A",1))
Budući da je SUMPRODUCT posebno programiran da ignorira pogreške koje nastaju množenjem tekstualnih vrijednosti, konačni niz izgleda ovako:
(1,0,0,0,1,0,1)
Jedine vrijednosti koje "prežive" množenje su one koje odgovaraju 1s unutar polja1 . Možete razmišljati o logici u array1 "filtriranju" vrijednosti u array2 .