[ Sudarica @ 27.05.2007. 22:49 ] @
Molim pomoć
Kako da izdvojim ćelije sa p i da ih zbrojim. Izgubila sam se totalno. Pokušala sam sve moguće ali nemogu dobiti čisti broj u zadnjoj koloni. Glupa sam.
Imam raspon od A1 do I1 Pokušala sam sa svim kombinacijama Sumif, If ....

1p 12 13p 15 18 14 16p 13d 18p =


Zahvaljujem na pomoći

Srdačan pozdrav
[ Brz_na_tastaturi @ 27.05.2007. 23:39 ] @
Ako je to uopšte izvodljivo verovatno bi formula bila previše komplikovana.
Jedno od rešenja je da koristiš VBA kod,
a drugo da koristiš pomocni radni list, ako su ti podaci u radnom listu "Sheet1" u drugom radnom listu u odgovarajućim ćelijama ubaci formulu
=IF(RIGHT(Sheet1!A1;1) = "p";VALUE(LEFT(Sheet1!A1;LEN(Sheet1!A1)-1));Sheet1!A1)
a tamo gde ti je potreban zbir ubaci formulu koja će da sabira vrednosti iz ćelija sa drugog (pomoćnog) radnog lista.
Ako se osim p pojavljuje još neko slovo formula se komplikuje pa je rešenje preko vba koda optimalnije.
[ timmy @ 28.05.2007. 07:19 ] @
Evo da predlozim i ja svoje resenje bez ikakvog kopiranja vrednosti
u pomocne kolone ili listove. Ova formula sabira sve celije u rasponu
A1:A5 koje u unosu imaju kao poslednji karakter slovo p

Code:

=SUM(INT(IF(RIGHT(A1:A5,1)="p",LEFT(A1:A5,LEN(A1:A5)-1),0)))


Napomena, posto se radi o matricnoj formuli unos zavrsi sa Ctrl+Shift+Enter

Pozdrav
[ Brz_na_tastaturi @ 29.05.2007. 00:20 ] @
Moj previd, učinilo mi se da hoće da sabira sve ćelije a da ove sa 'p' moraju da se vide ...
[ Sudarica @ 29.05.2007. 20:59 ] @
Citat:
timmy: Evo da predlozim i ja svoje resenje bez ikakvog kopiranja vrednosti
u pomocne kolone ili listove. Ova formula sabira sve celije u rasponu
A1:A5 koje u unosu imaju kao poslednji karakter slovo p

Code:

=SUM(INT(IF(RIGHT(A1:A5,1)="p",LEFT(A1:A5,LEN(A1:A5)-1),0)))


Napomena, posto se radi o matricnoj formuli unos zavrsi sa Ctrl+Shift+Enter

Pozdrav


Zahvaljujem timmy, to je to što mi treba i radi dobro. Međutim zanima me zašto mi ne radi na dva "pp". Dobijem rezultat 0. Te formule polja me fasciniraju ali i umaraju. Vjerojatno nisam negdje promjenila nešto.

{=SUM(INT(IF(RIGHT((A1:A5);1)="PP";LEFT(A1:A5;LEN(A1:A5)-1);0)))}

Naučimo i to.

Pozdrav
[ timmy @ 29.05.2007. 21:50 ] @
Funkcija RIGHT ima sintaksu

RIGHT(text,num_char)

text = (naravno) tekst ili celija koja sadrzi tekst
num_char = broj karaktera sa desne strane teksta koji funkcija treba da vrati

tako da, ako trazis 2 slova (npr: pp), formula bi trebala da bude


Code:

{=SUM(INT(IF(RIGHT((A1:A5);2)="PP";LEFT(A1:A5;LEN(A1:A5)-2);0)))}


Ukoliko koristis jedno isto slovo (npr. p) ali ga navodis jednom ili vise puta
moze da se napise formula koja ce raditi univerzalno bez obzira na broj slova (p).

No, mislim da je (generalno) bolja ideja da u jednoj koloni pises brojeve,
u drugoj koloni slova a da sumiranje radis komandom SUMIF.

Dakle, probaj da razdvojis "Grandmothers and frogs" - sto rece...

Pozdrav
[ Sudarica @ 29.05.2007. 22:37 ] @

to je to glupa sam. Mjenjala sam kod RIGHT 2 ali nisam kod LEN

hvala na pomoći

Pozdrav
[ dava @ 06.06.2007. 12:29 ] @
Ako nije problem da se nadovezem na temu jer imam jako slican problem, pa da ne otvaram novu.
Gore navedenu formulu nisam uspio prepraviti/primjeniti na svom problemu.

U rasponu od A1 do M1 (recimo) imam polja sa vrijednosti p2, p4, pd, 8, 3p...

U celiji 1N mi treba zbir brojeva koji se nalaze uz slovo p, znaci u gore navedenom slucaju 9

Iskreno u Excel-u nisam nikad ozbiljnije radio, a vidim da ovdje ljudi rasturaju, pa ako moze pomoc.
[ Jpeca @ 06.06.2007. 20:30 ] @
U principu moguće je napraviti formulu koja bi ovo sabirala. Logika je slična kao i u prethodnom slučaju, ali se formula komplikuje jer treba ispitati
a/ da li je p na početku
a1/ ako jeste da li je ostatak broj, pa ako i to jeste uzeti taj broj za sabiranje
a2/ ako nije da li je p na kraju
ako je p na kraju da li je ono što ostane kad se odseče p broj, pa ako jeste uzeti taj broj za sabiranje
pa izvršiti sabiranje pomoću matrične formule.

Umesto kompleksne formule mislim da je bolje da radiš postepeno, sa međurezultatima. Npr:
U drugom redu izdvoj one vrednosti koje imaju p na početku (bez p)
Code:
 =IF(LEFT(A1;1)="p";RIGHT(A1;1);"")

U trećem redu izdvoj one vrednosti koje imaju p na kraju (bez p)
Code:
=IF(RIGHT(A1;1)="p";LEFT(A1;LEN(A1)-1);"")

U četvrtom i petom redu pretvori ove vredosti u brojeve (šta se može pretvoriti)
Code:
 =IF(ISNUMBER(VALUE(A2));VALUE(A2);0)

Onda ikoristi običnu funkciju SUM da sabereš sve iz četvrtog i petog reda.

Naravno, sad ako si voljan možeš smanjiti broj koraka tako što ćeš da usložnjavaš formule.
[ timmy @ 06.06.2007. 22:25 ] @
Evo resenja i za ovu drugu verziju problema:

1. Zameniti u celiji slovo "p" sa praznim stringom ""
- Ovaj deo resava funkcija SUBSTITUTE
2. Proveriti da li je ostatak broj
- Ovaj deo resava funkcija VALUE (konvertuje u broj, ako moze)
- Zatim, funkcija ISNUMBER proverava da li je prethodno dobijen broj
3. sabrati sve brojeve
- Da ne bi pisali niz formula (pomocna kolona), napravimo jednu, matricnu:

Code:

=SUM(IF(ISNUMBER(VALUE(SUBSTITUTE(A1:M1,"p",""))),VALUE(SUBSTITUTE(A1:M1,"p","")),0))


Nadam se da sam pomogao,

pozdrav
[ dava @ 07.06.2007. 09:20 ] @
@Jpeca tvoje rjesenje mi ne odgovara jer postoji oko stotinjak redova, ali hvala ti na pomoci.

@timmy ni tvoja mi formula ne rjesi problem. Prijavljuje gresku.
[ timmy @ 07.06.2007. 09:45 ] @
A, pa oce to tako ponekad ;)

1. Proveri sta si napisao, najbolje Copy/Paste odavde

2. Formula koju sam napisao je matricna tj. zavrsi unos sa Ctrl+Shift+Enter.

3. Obrati paznju na separatore (ja koristim US regional settings, ako koristis Serbian
onda razdvajas parametre sa ";" umesto sa ",").

Pozdrav
[ Jpeca @ 07.06.2007. 10:18 ] @
Rešenje koje je timmy dao je veoma elegantno - formula nije toliko komplikovana koliko sam ja očekivao (svaka čast timmy!).
Jedino, u skladu sa primerom koji se dao, ukoliko se brojni podaci (kao 8 u primeru) ne uzimaju u sumu treba prethodno ispitati da li je sadržaj ćelije tekst:
Code:
=SUM(IF(ISTEXT(A1:M1),(IF(ISNUMBER(VALUE(SUBSTITUTE(A1:M1,"p",""))),VALUE(SUBSTITUTE(A1:M1,"p","")),0)),0))
[ dava @ 07.06.2007. 10:18 ] @
Citat:
timmy
3. Obrati paznju na separatore (ja koristim US regional settings, ako koristis Serbian
onda razdvajas parametre sa ";" umesto sa ",").
Pozdrav


Ovo nisam znao, i proslo je bez greske, ali sabira i vrijednosti celija u kojima je samo broj, sto ne bi trebalo.

p2, p4, pd, 8, 3p = 17

a trebalo bi 9

znaci da ne uzima u obzir ovu 8

Mozemo se nadovezati na ovu formulu, pa dodati minus, ispitamo gdje su samo numericke vrijednosti, zbir numerickih vr.

Hvala timmy na dosadasnjem trudu.
[ dava @ 07.06.2007. 14:47 ] @
@Jpeca to je rjesenje, (poslali smo poruku u isti cas pa je nisam odmah primjetio).
Hvala vam na pomoci.
Pozdrav