[ Srdjan Marinkov @ 10.05.2010. 16:29 ] @
| Da li neko može da mi predloži alternativu za funkciju COUNTIFS u Excelu 2003?
Dakle, potrebno je prebrojati sve vrednosti iz jedne kolone prema nekom uslovu, koji, usput, zadovoljavaju još jedan uslov. U primeru koji sam postavio, u koloni B se nalaze vrednosti "L" i "D", pa je potrebno prebrojati, npr. sve one "D"-ove koji u koloni A imaju vrednost koja je >10 i <10.
U Excelu 2007 se to lako rešava upotrebom funkcije COUNTIFS, dok sam u Excelu 2003 sa svojim skromnim poznavanjem Excela, uspeo da napravim samo ovog "Frankenštajna" od brojača preko funkcija IF, AND i COUNTIF koji sam, takođe, ubacio u primer. Siguran sam da postoji mnogo elegantnije rešenje od ovog koje sam ja napravio, pa se nadam da će mi neko pomoći.
Zahvaljujem unapred... ;) |
[ FOX028 @ 10.05.2010. 17:55 ] @
pogledaj ovo, uradio sam ti funkciju u VBA koja vrsi prebrojavanje po zadatim uslovima
po meni je ovo mnogo bolje i preglednije nego pisanje raznih funkcija u celijama
pozzz
[ Srdjan Marinkov @ 10.05.2010. 18:21 ] @
fala, druže-Fox... ja nemam pojma ništa o programiranju u VB, tako da bih tvoju funkciju koju si mi napravio mogao samo da prihvatim takvu kakva jeste (da je kopiram u neki drugi Excel dokument). Ne znam jedino da li bi to radilo, jer čim izmenim jedan samo broj u ovoj koloni gde se unose brojevi, već tada mi ne pokazuje rezultat. :(
[ FOX028 @ 10.05.2010. 18:45 ] @
kod mene radi bez problema, mozda je nisi dobro iskopirao u drugom dokumentu
ako si iskopirao samo funkciju koja je iskucana u celiji naravno da ti nece raditi, ako je vec zelis iskopirati onda je moras iskopirati iz VBA,
Alt+F11-Module1 i iskopiras ceo kod, a da bi radila moras i u drugom dokumentu na isto mesto je ubaciti i posle u zeljenoj celiji iskucas funkciju
[ 3okc @ 10.05.2010. 19:04 ] @
Postoji način, sa f-jom SUMPRODUCT(). Bilo je već reči i na forumu imaš dosta raznovrsne primene pa istraži za detalje.
U konkretnom slučaju rešenje glasi
Code: =SUMPRODUCT((A2:A21>10)*(B2:B21="D"))
A u opštem slučaju: navodiš logičke iskaze za konkretne uslove čije 'istinite partikule' prebrojavaš. Zagradama odvajaš svaki uslov a algebrske operacije su: množenje umesto AND (Bulovo množenje) i/ili sabiranje umesto OR.
[ Srdjan Marinkov @ 11.05.2010. 08:30 ] @
Pošto nisam neki napredni korisnik Excela, rešenje koje mi je predložio 3okc mi je prihvatljivije i rešiće poroblem.
Hvala još jednom svima... Nadam se da će još nekome koristiti ova tema.
može lock!
[ Srdjan Marinkov @ 20.05.2010. 16:49 ] @
tražio sam od administratora da otključa temu jer imam još jedan problem koji se nekako nadovezuje na ovaj gore, pa da ne otvaram novu temu...
sada mi je potrebna alternativa za funkciju SUMIFS za Excel 2003. Pokušavam da izvršim sumiranje jedne kolone prema trojnom uslovu. Dakle, u tabeli dole se vrši sabiranje iz kolone D prema uslovu, npr. za prvo polje tabele, da je ispunjeno:
I uslov: u koloni A je: K-800
II uslov: u koloni B je: L
III uslov: u koloni C je: -1
pokušao sam sa: =SUMPRODUCT((D1:D165)*(A1:A165=A184)*(B1:B165=C183)*(C1:C165=B184))
ali je očigledno da negde grešim... kako ovo da sredim ili kako preko neke druge funkcije da rešim problem, a da radi i u Excelu 2003?!
[ 3okc @ 20.05.2010. 17:00 ] @
Nije jasno zašto za uslove navodiš konkretne vrednosti a u formuli koristiš reference!?
Promeni formulu tako da odgovara uslovima: Code: =SUMPRODUCT((D1:D165) * (A1:A165 = "K-800") * (B1:B165 = "L") * (C1:C165 = -1))
ili je piši sa apsolutnim referencama: Code: =SUMPRODUCT((D1:D165) * (A1:A165 = $A$184) * (B1:B165 = $C$183) * (C1:C165 = $B$184))
Uostalom, postavi fajl sa primerom koji opisuješ.
[ Srdjan Marinkov @ 20.05.2010. 17:34 ] @
zaboravih da postavim fajl uz poruku... evo dodao sam sada, a inače, kada ubacim konkretne uslove u formulu, opet isto :(
[ 3okc @ 20.05.2010. 17:54 ] @
Imaš dve greške ali se obe svode na to da pokušavaš da vršiš aritm.operacije sa tekstom.
Prvo, u podacima, imaš 'space' gde bi tobož trebala da stoji prazna ćelija. To ćeš rešiti sa jednim ReplaceAll.
Drugo, promeni opsege za SUMPRODUCT da ne zahvata u proračun i naslovni red. To ćeš rešiti tako što prvo obuhvatiš C184:I189 i uradiš ReplaceAll svih '$1:' sa '$2:'
[ Srdjan Marinkov @ 21.05.2010. 09:35 ] @
Citat: 3okc:Prvo, u podacima, imaš 'space' gde bi tobož trebala da stoji prazna ćelija. To ćeš rešiti sa jednim ReplaceAll. možda će nekome biti smešno moje pitanje, ali kako to da odradim? mislim, znam kako se koristi ReplaceAll, radio sam to, nego kako da obeležim šta treba čime da menjam?
[ Ivek33 @ 21.05.2010. 10:28 ] @
Citat: Srdjan Marinkov: možda će nekome biti smešno moje pitanje, ali kako to da odradim? Idi na Tools => Options i uključi Formula na tabu View. Ovim ćeš umjesto rezultata vidjeti sve formule u tablici
Selektiraj područje koje ti je @3okc naznačio i tada idi na Find/Replace
btw: vidi kako to izgleda Prikaz forumla u Excelu
[edit]: koliko vidim @3okc je to već odradio (pogledaj njegov file attach)
[ Srdjan Marinkov @ 21.05.2010. 11:53 ] @
taj deo sa tablicom sam udradio, tu nije ništa sporno... nego onaj prvi deo rešenja problema koji mi je 3okc rekao da odradim (u podacima gde ima 'space' da zamenim praznom ćelijom), to ne znam šta u Replaceall da definišem, šta menjam čime?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|