Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Brojanje uzastopnih ponavljanja odredjenog stringa

[es] :: Office :: Excel :: Brojanje uzastopnih ponavljanja odredjenog stringa

[ Pregleda: 3232 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

konislav

Član broj: 52073
Poruke: 520
77.28.136.*



+228 Profil

icon Brojanje uzastopnih ponavljanja odredjenog stringa16.09.2009. u 00:19 - pre 176 meseci
Koja bi kombinacija funkcija mogla da prebrojava celije, ali samo pod uslovom da se oni ponavljaju u nizu od dvai vise ponaljanja.
Pr.
A A A B C C B C B

kako da u ovom nizu da broj uzastopnog ponavljanja za A, za B i za C. Trebalo bi da se dobije vrednost A=3, B=0, C=2.
Probao sam funkcijom COUNIF, ali ne ide.
Prikačeni fajlovi
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2267
194.106.170.*

Sajt: www.gowi.rs


+109 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa16.09.2009. u 07:49 - pre 176 meseci
Ukoliko ti ne smeta korišćenje medjurezultata moguće je sledeće
U redu ispod prve ćelije u nizu (D10 u tvom primeru) upiši formulu:
Code:
=IF(D9=C9;C10+1;1)

pa kopiraj ovu formulu u ceo opseg D10:L10. Ova formula broji elemente u neprekinutom nizu.
Sad pomoću matrične (array) formule odredi maximum za zadatu vrednost. (tzv maxif). Npr za A
Code:
=MAX((D9:L9="A")*(D10:L10))

Doduće za B rezultat će biti 1 (broj ponavljanja) što je meni logičnije ali ako baš treba 0 može se rešiti sa dodatnim IF.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa16.09.2009. u 11:00 - pre 176 meseci
Zanimljivo. Uz malo drugačiju logiku može se izbeći međurezultat.
Dodatno, ako još možemo i da uposlimo SUMPRODUCT(), poštedećemo se i matričnog unosa. :)

Kao prvo, treba izbeći logičko grananje kad god je moguće jer to usložnjava logiku. Ovde npr nije potrebno da za svaku pojavu ispisujemo koja je po redu (pa da posle računamo MAX), dovoljno je ispitati da li je levo do nje isti unos.

Code:
=SUMPRODUCT((D9:L9=F16)*(D9:L9=C9:K9))+1




Za postavljeni model, dobijamo iste rezultate; ali, treba primetiti da drugačija logika dovodi i do drugačijih rezultata kada se model usložnjava.

Npr, f-jom MAX() vraćamo uvek samo najveću oblast sa ponavljanjem. Upotrebom SUMPRODUCT() već brojimo sve slučajeve gde dolazi do ponavljanja ali taj broj će uvek biti manji za 1 (otuda korekcija u formuli). Međutim, problem nastaje ako imamo više oblasti, jer bismo umesto 1 morali da korigujemo sa 'brojem oblasti' a to je već malo teže izračunati. :)

Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
Prikačeni fajlovi
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa16.09.2009. u 11:30 - pre 176 meseci
Ok, odmah ću i da se korigujem, nije baš toliko teško izračunati broj oblasti. :)

Ako smo sa
Code:
=SUMPRODUCT((D9:L9=F16)*(D9:L9=C9:K9))

računali broj ćelija "koje imaju istu vrednost kao ćelija levo", onda sa
Code:
=SUMPRODUCT((D9:L9=F16)*(D9:L9<>C9:K9))

računamo broj ovakvih oblasti. ;)

Sad, potrebno je još samo ove veličine dovesti u saglasje sa potrebama.. Konačna formula će zavisiti od toga da li se i usamljene vrednosti računaju u zbiru ili ne.

Dobro, logično je da se "usamljene vrednosti" ne računaju, inače bismo u zbiru imali ukupan broj ćelija (koje inače dobijamo sa COUNTIF). Ali, to nas već dovodi do rešenja.. :)

Znači, dovoljno bi bilo izračunati broj usamljenih ćelija i ovaj broj oduzeti od ukupnog.
Možda nešto ovako
Code:
=SUMPRODUCT((D9:L9=F16)*(D9:L9<>C9:K9)*(D9:L9<>E9:M9))

(broj usamljenih ćelija)


[Ovu poruku je menjao 3okc dana 16.09.2009. u 12:46 GMT+1]
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

konislav

Član broj: 52073
Poruke: 520
77.28.135.*



+228 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa16.09.2009. u 13:53 - pre 176 meseci
Primenio sam sve gor navedene funkcije, ali nesto ne radi kako trebe. Evo sta se desava ako se primene ove funkcije, ali se na primer promene vrednsti. Jednostavn dolazi do greske, ili ja negde gresim??
Prikačeni fajlovi
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa16.09.2009. u 22:18 - pre 176 meseci
Da, primenio si poslednju f-ju a nisi pročitao "uputstvo za upotrebu". Ništa nisi pogrešio ali to je f-ja koja računa broj "usamljenih vrednosti", dakle, one koje nisu uzastopno ponovljene. Rekao sam da ovaj broj treba oduzeti od ukupnog broja pojava te vrednosti (koji računamo sa COUNTIF()) i imamo broj ponovljenih.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

konislav

Član broj: 52073
Poruke: 520
77.28.141.*



+228 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa17.09.2009. u 04:44 - pre 176 meseci
PRIZNAJEM, nisam lepo procitao uputsvo koje je bilo napisano i izvinjavam se zbog toga. Ali opet imamo mali problem, pretpostavljam da je moguce da je sad nesporazum kod postavljanja pitanja ili kod pogresnog razumevanja pitanja. Vazno je da smo jako blizu resenju.
Na primeru koji saljem vidi se o cemu pricam. Moguce je da dolazi do pogresnog tumacenja uzastopnih ponavljanja ili niz.
Prikačeni fajlovi
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa17.09.2009. u 08:10 - pre 176 meseci
Što se "neporazuma" tiče, budi ljubazan, pročitaj još jednom inicijalni post (koji si, valjda, sam pisao). Ne samo da se jasno traži prebrojavanje ćelija (a ne oblasti) nego si to ilustrovao i primerom, pa tako imaš da je A=3 -- iako su svi grupisani u jednoj oblasti.

Kako onda treba da glasi tema?! Prebrojavanje (ponovljenih) ćelija? Prebrojavanje oblasti (sa ponovljenim stringom)? Ili i jedno i drugo?!?

Ok, recimo da si u međuvremenu došao na ideju da ti treba (i) ovo drugo. U svom drugom postu, gde se ispravljam, naveo sam ti f-ju koja računa broj oblasti. Pa tako imamo da se za uk. broj oblasti proverava jednakost samo sa "jedne strane", za razliku od uk. broja "usamljenih" ili pojedinačnih ćelija, kada proveravamo sa obe strane.

Ako ti treba broj oblasti u kojima se ponavljaju stringovi, prosto, napiši razliku ova dva broja.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

konislav

Član broj: 52073
Poruke: 520
77.28.128.*



+228 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa17.09.2009. u 18:44 - pre 176 meseci
u svakom slucaju hvala na vasim odgovorima.Moguce je da je moje pitanje pogresno postavjeno, moguce je da niste dobro razumeli sta mi treba, ali u svakom slucaju hvala na svim vasim odgovorima.

Da bi probali da se bolje razumemo, dacu pojasnjenje jos jednim pojasnjenjem.

Uzmimo jedan fudbalskih tim. Koji ima sledecu statistiku:
nereseno, pobeda, poraz, pobeda, pobeda, nereseno pobeda,pobeda, poraz, poraz, poraz, poraz

ovaj tim u poslednjih 12 utakmica ima niz od cetiri poraza i dva niza od po dve pobede.

To bi trebalo da bude cilj izracunavanja.

U svakom slucaju hvala jos jednom .
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2267
*.3dnet.rs.

Sajt: www.gowi.rs


+109 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa18.09.2009. u 06:24 - pre 176 meseci
Meni se i dalje čini da je rezultat korišćenjem medjurezultata ispravan? Evo za tvoj poslednji primer dobijem
Nerešeno -1
Pobeda - 2
Poraz - 4
Šta ti očekuješ kao rešenje? Ukoliko nije tako postavi pet-šest primera sa očekivanim rezultatima, pa ćemo valjda ukapirati.

Ako ti ne odgovara korišćenje medjurezultata pretpostavljam da je moguće sastaviti neku složenu formulu kako je 3okc predložio, a ja lično bi napravio korisničku funkciju koja će to da računa, jer mi je to manje vremena oduzima. Funkcija bi trebalo da bude prilično jednostavna.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

konislav

Član broj: 52073
Poruke: 520
77.28.137.*



+228 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa23.09.2009. u 00:03 - pre 176 meseci
Uzmimo jedan fudbalskih tim. Koji ima sledecu statistiku:
nereseno, pobeda, poraz, pobeda, pobeda, nereseno pobeda,pobeda, poraz, poraz, poraz, poraz


Po meni bi trebalo da dobijem sledeci rezultat

Nereseno 0
Pobeda 2
Poraz 4

Kod neresenog nemozemo da dobijemo vrednost 1, zato sto nema uzastopnog ponavljanja, nereseno se pojavljuje dva puta, ali su odvojeni slucaji, nisu jedno za drugim.

OSTALI PRIMERI:

poraz, pobeda, nereseno, nereseno, nereseno, pobeda, poraz, nereseno, pobeda, poraz, poraz, nereseno

Pobeda 0
Nereseno 3
Poraz 2

poraz, poraz, pobeda, pobeda, poraz, poraz, pobeda, nereseno, poraz, pobeda, nereseno

Pobeda 2
Nereseno 0
Poraz 2
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2267
*.3dnet.co.yu.

Sajt: www.gowi.rs


+109 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa23.09.2009. u 06:26 - pre 176 meseci
U redu. Meni se činilo logičnije da se rezultat interpretira na sledeći način:
1 - Nema uzastopnih ponavljanja (npr. po jedan nerešen rezultat u nizu)
0 - Nema određenog stringa u posmatratnom opsegu (npr. fudbalski tim nije igrao nerešeno)

U svakom slučaju, lako je ispraviti matričnu formulu da daje rezultat prema tvojim zahtevima. Može se dodati IF koji će rezultat MAX funkcije 1 pretvoriti u 0 ili možda još bolje u matričnu formulu dodati uslov da se Max uzima samo od medjurezultata koji su veći od 1
Code:
=MAX(($D$9:$O$9=G16)*($D$10:$O$10>1)*($D$10:$O$10))

Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

konislav

Član broj: 52073
Poruke: 520
77.28.130.*



+228 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa23.09.2009. u 14:37 - pre 176 meseci
To je to sto meni treba, a nikako da se razumemo. HVALA ti sto si mi resio problem. Ja se nebih setio da koristim MAX, a pretpostavljao sam da je resenje jednostavno, samo ajde pa se seti.
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa24.09.2009. u 00:09 - pre 176 meseci
Za računanje najvećeg niza stvarno ne vidim kako bi se moglo bez medjurezultata.. Ne znam ni da li je uopšte moguće, bez obzira koliko bi to komplikovano bilo. :) Volim da pomeram granice a ovo mi se upravo čini kao neka "viša matematika".

Svejedno, evo u jednoj tabeli i ostalih prebrojavanja: sve na jednom mestu.
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
Prikačeni fajlovi
 
Odgovor na temu

3okc
Χoᴘᴦoѡ

Moderator
Član broj: 811
Poruke: 1318

Jabber: 3okc@elitesecurity.org


+116 Profil

icon Re: Brojanje uzastopnih ponavljanja odredjenog stringa20.11.2013. u 19:18 - pre 126 meseci
Naiđoh na rešenje Roberta Mense bez korišćenja pomoćnih ćelija i, ne znam kako, ali sam se setio da smo i ovde nekad nešto 'slično' rešavali.

Za opseg $D$9:$O$9 recimo da se zove rng
i recimo da u G16 imamo "Pobeda"
Code:
=MAX(FREQUENCY(IF(rng=G16;COLUMN(rng));IF(rng<>G16;COLUMN(rng))))


Ili, kao test, prema nizu u prvoj poruci:
Code:
=MAX(FREQUENCY(IF({"A";"A";"A";"B";"C";"C";"B";"C";"B"}="A";ROW($1:$9));
IF({"A";"A";"A";"B";"C";"C";"B";"C";"B"}<>"A";ROW($1:$9))))


[Edit: U prvom primeru se radni opseg pruža horizontalno pa ide COLUMN(rng)]

[Ovu poruku je menjao 3okc dana 20.11.2013. u 20:41 GMT+1]
Have you found helpful examples, solutions or ideas-in-work, please consider the
following:
• Citation of *actual page* you are going to using is welcome.
• Have you saw "Value Added" examples you are going to incorporate to your
profitable blog, daily job or any money making venture: How about online donation?
↗Ana & Vlade Divac Foundation
Hvala!
 
Odgovor na temu

[es] :: Office :: Excel :: Brojanje uzastopnih ponavljanja odredjenog stringa

[ Pregleda: 3232 | Odgovora: 14 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.