[ anakin14 @ 30.08.2007. 14:41 ] @
sumif(a:a,0,b:d)zasto mi sabira samo niz b:b a ne b:d kao sto je navedeno u sum_range-u???
i jos jedno pitanje
kako da sumiram a da imam dva kriterijuma npr a:a,0 i b:b,1 ?
hvala


[Ovu poruku je menjao anakin14 dana 30.08.2007. u 15:54 GMT+1]
[ Jpeca @ 30.08.2007. 15:11 ] @
Opseg u kojem se proverava kriterijum treba biti tačno jednak opsegu koji se sumira.
Ako sam razumeo šta hoćeš
Code:
=sumif(a:a,0, b:b)+sumif(a:a,0, c:c)+sumif(a:a,0, c:c)

Za sumiranje po dva kriterijma možeš koristiti matrične (array) formule vidi http://www.elitesecurity.org/t173680-0#1129102
Code:
{=SUM(IF((A:A=0)*(B:B=1),C:C, 0))}

[ 3okc @ 30.08.2007. 19:36 ] @
Odlična praksa za ovo što pitaš je korišćenje f-je SUMPRODUCT!
Pogledaj i više nego detaljan opis sa mnooogo primera, ovde: http://www.xldynamic.com/source/xld.SUMPRODUCT.html

Zgodno je što SUMPRODUCT radi sa opsezima (ili nizovima, kako hoćeš) tako da nije potreban unos kao matrične formule. Za primer koji si naveo, f-ja bi mogla da izgleda ovako:
Code:
=SUMPRODUCT((PrvaKolona=0)*(DrugaKolona=1))
gde su PrvaKolona DrugaKolona imenovani opsezi. Namerno sam ih pisao ovako umesto čitave kolone, kako si ti naveo, jer SUMPRODUCT to ne dozvoljava, vratiće ti grešku. Razlog za ovo verovatno leži u Integer tipu promenljive jer će ti raditi ako definišeš "kolonu" sa max 65535 redova (ukupno ih je jedan više).

Možeš prilagođavati izraz tako da tebi bude pregledniji; recimo, ovo je još jedna varijanta:
Code:
=SUMPRODUCT(--NOT(PrvaKolona); --(DrugaKolona=1))
Oslanja se na zahtev iz primera gde je prva vrednost 0; tako, NOT(0) daje TRUE koje uzastopnim množenjem sa -1 forsirano konvertujemo u Integer: 1 za TRUE, 0 za FALSE.

Možeš definisati max 30 opsega - kao 30 kriterijuma.
[ anakin14 @ 31.08.2007. 13:18 ] @
mozes li mi samo objasniti sta znace ta dva znaka -- u funkciji??? ovo * sam skuzio da ima ulogu istu kao i AND? Jos me zanima zasta sluzi karakter &?
hvala. zar sumproduct ne bi trebalo da vrati zbir umnozaka elemenata u nizu?
[ 3okc @ 31.08.2007. 13:40 ] @
Dva znaka minus:
Code:
-(-x) == x == --x
Kao što rekoh ranije, ovo radimo da bi se logički iskaz..:
Citat:
3okc:  uzastopnim množenjem sa -1 forsirano konvertujemo u Integer: 1 za TRUE, 0 za FALSE.
Ovo je samo jedan od načina da bi se forsirala konverzija, razne su varijacije; npr isto bismo postigli i množenjem sa 1 (proveri koliko je 1*TRUE ili 1*FALSE). Primeri su ti svi detaljno opisani na gore navedenom sajtu.