[ chuPavi @ 17.09.2007. 10:25 ] @
Kako iskoristiti subtotal funkciju da sabira samo pozitivne vrednosti u jednoj koloni ?

Ili bilo kako resenje za sledeci uslov :

A;B
1;2
1;4
1;-5
2;-8
2;4
2;7
3;-3
3;-7
3;1

Subtotal po koloni "A" za sve pozitivne vrednosti kolone "B"

[Ovu poruku je menjao chuPavi dana 17.09.2007. u 13:15 GMT+1]
[ Ivek33 @ 17.09.2007. 12:44 ] @
Citat:
chuPavi: Ili bilo kako resenje za sledeci uslov

ako imaš mjesta u nekoj koloni npr: C u ćeliju C1 upišeš formulu "=IF(B1>=0;A1;0)" bez navodnika, što znači da će ti Excel pogledati u ćeliju B1 i ako je tamo vrijednost veća ili jednaka od 0 uzet će u obzir vrijednost iz A1 a ako nije rezultat će biti 0
Na dnu C kolone u tablici postavi SUM funkciju za C kolonu i imat ćeš zbroj svih pozitivnih vrijednosti iz kolone A

ako te zanima subtotal pogledaj ovdje info-SUBTOTAL
[ 3okc @ 17.09.2007. 20:47 ] @
Citat:
chuPavi: Subtotal po koloni "A" za sve pozitivne vrednosti kolone "B"
Code:
=SUMIF(B:B;">0";A:A)
[ chuPavi @ 18.09.2007. 10:52 ] @
Izgleda da nisam bio dovoljno jasan :)

Hteo sam da iskoristim Subtotal funkciju ( =SUBTOTAL(9,A1:A100) ) da bih dobio nesto kao running sum tj autofilter sum. Te mi obicna SUM tj SUMIF funkcija nije podobna.
Moja, naivna, ideja je bila da iskoristim prednost matricnih formula, za koje ni sam nisam svestan kad i kako rade, i preformulisem {=SUBTOTAL(9,A1:A100>0)} , kako bih dobijao sumu samo pozitivnih vrednosti kolone A.

A kada vec pricamo o Data/Subtotals , dal postoji nacin da sumira po vise kolona("add subtotal to") odredjeni kriterijum("at each change in") ?
[ chuPavi @ 26.09.2007. 15:11 ] @
Znaci, niko nema resenje za sumiranje pozitivnih vrednosti koje su "ostale" autofilterovanjem ?
[ anakin14 @ 26.09.2007. 17:41 ] @
prvo nista te nisam razumeo sta hoces ali pokusacu:

Ti verovatno zelis da pri promeni autofiltera subtotal daje vrednost zbira(ili koje vec druge funkcije) elemenata koji su ostali.
Po meni najveca nelogicnost u excelu je to sto filtriranje je u stvari obicno sakrivanje podataka,tj excel samo smanji row height u svim pljima po filteru koji izaberes.Upravo se zato i ne koristi SUM,COUNT,AVERAGE,MAX itd vec subtotal funkcija koja moze biti u obliku subtotal(1-9,range) i subtotal(101-109,range) i u zavisnosti da li hoces da uzima u obzir sakrivene vrednosti.Tako da ako hoces da ne uzima u obzir sakrivene vrednosti koristi funkciju =subtotal(109,range) i pri svakoj promeni filtriranjem doices sumu samo elemenata koji su ostali.
[ 3okc @ 26.09.2007. 18:50 ] @
Citat:
chuPavi: Znaci, niko nema resenje za sumiranje pozitivnih vrednosti koje su "ostale" autofilterovanjem ?
Usput, pravilno se kaže filtriranje – za sve kojima srpski jezik nije maternji, da nauče od onih kojima jeste.
Citat:
anakin14: ako hoces da ne uzima u obzir sakrivene vrednosti koristi funkciju =subtotal(109,range) i pri svakoj promeni filtriranjem doices sumu samo elemenata koji su ostali.
Tako je, anakin14, čoveku treba SUBTOTAL() koji ne uzima u obzir sakrivene vrednosti ali da pri tom ne uzima u obzir ni negativne, bez obzira da li su vidljive ili ne.

Vidi, ja sam nešto 'čačkao' po Excel-u i mislim da sam uspeo da rešim. Sad, jesi ti samo hteo da znaš je li to moguće ili si mislio da ti neko uradi to za dž' ili možda, kao i mi ovde, živiš u sredini gde se za obavljene usluge plaća određena protivvrednost? :)
[ Jpeca @ 27.09.2007. 13:05 ] @
Jedna (ne bogzna kako mudra ali jednostavna) mogućnost je da dodaš pomoćnu kolonu u listu koja će imati vrednosti istu kao i osnovna kolona za pozitivne vrednosti, a nula za ostale(IF funkcija) i onda napraviš subtotal po toj pomoćnoj koloni.

Takođe nije teško napisati korisničku funkciju koja bi to radila:
Code:

Function sumgt0(rng As Range) As Double
' Funkcija koja sumira celije iz zadatog opsega
' koje su vece od 0, i nisu filtrirane
' P.Jovanovic za elitesecurity.org

 Dim cl As Object
 sumgt0 = 0
 For Each cl In rng
    If cl.Rows.Hidden = False And cl.Value > 0 Then
       sumgt0 = sumgt0 + cl.Value
    End If
 Next cl
End Function
[ chuPavi @ 27.09.2007. 15:20 ] @
"Uuuu, sine, kako je ovo dobro !" :)
Nisam ni sanjao da je resenje ovako jednostavno.
Funkcija koju si mi predlozio je jos bolja varijanta od onog sto sam trazio jer mogu tacno da izaberem redove za koje ne zelim da udju u sumu.
Uz par linija koda lako mogu da zamenim citavu subtotal funkciju.
Ni na kraj pameti mi nije bilo da mogu da proverama stanje celije , hidden or visible, i da tako napravim uslov sa sabiranje.
Jer se ovakve stvari uce iz knjige ili iz iskustva ?
[ Ivek33 @ 27.09.2007. 17:16 ] @
Citat:
chuPavi: Nisam ni sanjao da je resenje ovako jednostavno.


Citat:
Jpeca: dodaš pomoćnu kolonu u listu koja će imati vrednosti istu kao i osnovna kolona za pozitivne vrednosti, a nula za ostale(IF funkcija) i onda napraviš subtotal po toj pomoćnoj koloni.

dečki ja sam ostao malo sada zbunjen. U prvom postu sam pisao skoro isto ovo što je i @jpeca u prvom dijelu zadnjeg posta osim koda, jer kod daje još bolju mogućnost.

No zanima me je li ovaj način isto riješenje ( ne računajući kod ), da bih odbacio svjoe dvoumljenje

[ chuPavi @ 27.09.2007. 18:08 ] @
Ma naravno da daje isto resenje ali je to previse zongliranja za mene bilo jer sam imao vise kolona po kojim sam hteo da uradim subtotal sum, a taj excelov dokument ima 8000 redova i 15 kolona pa se silno nacekam dok odradim insert column na odgovorajucem mestu jer mi je racunar, srecom, kanta.
[ timmy @ 03.10.2007. 11:59 ] @
Slican problem sam imao i sam pre nekog vremena, resio sam ga na dva nacina.

1. Ako nije "pod moranje" koriscenje filtera tada je resenje u funkciji DSUM koja
sluzi za sabiranje skupa celija na osnovu uslova koji je zadata u nekom drugom skupu
celija. Dakle, pored tvoje tabele napravi tabelu sa uslovima: za prvu kolonu kako
bi je inace i filtrirao i za drugu kolonu npr. ">0"

2. Ako "bas mora taj filter" tada je resenje u SUBTOTAL (9=sabiranje) funkciji ali
kroz matricnu formulu:

Code:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A2:A10,ROW(A2:A10)-MIN(ROW(A2:A10)),,1)),--(B2:B10>0),A2:A10)


gde su A2:A10 celije koje zelis da saberes, a uslov je da su vrednosti u B2:B10 pozitivne

Pozdrav
[ chuPavi @ 03.10.2007. 12:40 ] @
Uh, ova funkcija sa sumproduct deluje zaguljeno, ali to je u principu ono sto sam i trazio.
Jedino sto sam je prilagodio svojoj potrebi pa uslov za sabiranje ne trazi u drugoj koloni nego u istoj, gde su i sabirci.
[ drradenko @ 14.11.2009. 11:19 ] @
SUBTOTAL
Već danima se mučim i tražim rešenje ali ne uspevam.
Radi se o tome da mi treba SUBTOTAL samo da zbraja pozitivne brojeve.

U primeru bi trebalo da reziltat u oba slučaja i u ćeliji I2 i u ćeliji I3 bude rezultat 10163, znači bez I95.
DRR
[ drradenko @ 14.11.2009. 17:28 ] @
Moram da naglasim da se ovde radi o subtotalu kolone I za pozitivne vrednosti u toj ISTOJ koloni I.

To nisam našao ni u jednom primeru na forumima.

DRR