[ sasa.je @ 14.06.2010. 14:40 ] @
Prije 2 godine sam uz veliku pomoć ljudi sa ovog sajta napravio jedan Excell fajl pomoću kojeg sam napravio internu listu za pogađanje rezultata na tadašnjem EP u fudbalu. Ove godine sam isto uradio pred SP, ali mi je sad iskrsao jedan novi zahtjev. Pošto nas ima dosta koji smo tipovali rezultate, ukazala se potreba da mi program sam odradi trenutnu tabelu uspješnosti,znači da mi polje J2 poveže sa poljem M51,N2 sa Q51 itd. i da napravi listu na osnovu trenutnog stanja bodova. U prilogu kačim fajl,hvala na pomoći.
[ konislav @ 14.06.2010. 18:45 ] @
Ja sma voljan da pomognem samo ne razumem tvoju tabelu, sta pretstavlja zuta kolona i sta si hteo da dobijes funkcijo koju si napisao u celijama u zutim kolonama.
Ne razumem takodje gde bi hteo da se nalazi tabela uspesnosti ili bi htoe da su samoj tabeli koju si prikacio vrsi rangiranje, nisam razumeo ni kako bi hteo da se povezu celije koje si naveo, tacnije, dali zelis da pored celije J2 stoji podatak iz M51 ili bi hteo da pored celije J2 stoji rang (uspesnost) na osnovu podatka iz M51.
[ sasa.je @ 14.06.2010. 22:11 ] @
OK,bio sam malo nejasan. U J i L kolonu se upišu rezultati odigranih utakmica. U kolonama markiranim žutom bojom svaki igrač dobija 1 bod ako je pogodio pobjednika ili da će biti neriješeno,a dobija 3 boda ako je pogodio tačan rezultat. Ona formula služi da automatski dodijeli bodove,ja samo upišem rezultat poslije utakmice,i svim igračima se automatski upiše odgovarajući broj poena. Ono što meni treba je da se napravi tabela koliko ko ima poena, od najvišeg prema najnižeg. Evo sad ću da zakačim kako izgleda ova tabela poslije nekoliko odigranih utakmica. Meni sad treba nova tabela koja će automatski da poreda ovih 17 igrača zavisno od toga koliko ko ima poena,tj. sad je Dragan prvi,Mlađo i Vule dijele 2. i 3. mjesto itd.Znači,samo da piše : 1. Dragan, 2-3. Vule i Mlađo....
[ konislav @ 16.06.2010. 21:15 ] @
sa malim zakasnjenjem zbog nekih neodloznih obaveza, probao sam da uradim nesto. Pogledaj pa mi kazi dali sam na dobrom putu ili bi trebalo da se nesto sustinski menja. Dodao sam jos nekoliko detalja koje smatram da su bitni zbog preciznijeg utvrdjivanja ucinka kod pogadjanja. Dodao sa izracunavanje ko je kolio puta pogodio, koliko puta je dobio 3 poena i koliko puta je dobio 1 poen. Ako budes hteo moze se i to dodati kod rangiranja.
U aplikaciji koju cu prikaciti imas Macro, startuj ga i izvrsice sortiranje. Kazi mi da li ti treba automatsko izvrsavanje makroa i dali ces vrsiti rangiranje samo po poenima kako si vec bio prikazao ili hoces da dodam i dodatne parametre.
[ sasa.je @ 16.06.2010. 21:57 ] @
Veliko hvala na uloženom trudu i pomoći. Mislim da je to OK,jedino što meni neće da se pokrene Macro, pa neće da mi sortira rang listu. Ono za pogođene trojke i jedinice je takođe fino urađeno,nisam se toga ni sjetio. Ja sam odradio 'Enable Macro',ali nešto neće da složi. Imam sad jedno dodatno pitanje u vezi ovoga. Da je npr. bilo puno više učesnika,da li bi se naša imena u onoj koloni koja si ti ručno upisivao mogla nekako generisati u tu kolonu automatski. I ujedno ako promijenim ime gore,da se promijeni i dole. Napominjem da je ovo samo pitanje iz radoznalosti,meni ono što si napravio rješava ovaj problem,samo još da vidim šta je sa Makroom. Još jednom,veliki pozdrav i hvala.
[ konislav @ 16.06.2010. 22:25 ] @
Ja sam radio u Excel 2007, mozda je tu nekakav problem. Zakacicu sutra isto ovo samo sa Macro-om napisanim u Excel2003 i sa automatskim izvrsavanjem istog, pa ces mi reci da li radi. Probacu da uradim i dodatno upisivanja imena. Na drugom kompjuteru imam excel2003 i u njemu se super snalazim, na kompjuteru na kojem sad radim imam excel2007 i tu se kod makroa i drugih slozenijih stvari malo teze snalazim. Svi pricaju price kako je to sve jedno te isto, ali se ja ne snalazim bas naj bolje. Sacekaj do sutra, napravicemo super tabelu.
[ sasa.je @ 17.06.2010. 13:09 ] @
Pokrenuo sam i ja u firmi na Excel-u 2007,i radi kako treba. Ostaje samo ono moje pitanje,nebitno za ovaj problem jer je riješen. Da li može kako da se ona kolona sa našim imenima poveže sa prvim redom gdje su naša imena,i kad unesem gore izm,jenu imena,da automatski izmjeni i dole. Veliko hvala za riješen moj problem.
[ mirko1949 @ 17.06.2010. 17:31 ] @
Najprostije je da npr u celiju B59 stavis "=N2". Onda ce ti ta celija povuci ime Dragan i tako redom, pa kad izmenis Dragan u npr Milos u B59 ce se pojaviti Milos. To uradi za potrebam broj celija ispod B59 donje tabele.
Pozdrav
[ sasa.je @ 17.06.2010. 18:45 ] @
Hvala Mirko,to je još jedan korak naprijed. Imam još jedno pitanjce. Da ne mislite da tražim hljeba preko pogače,ovo je samo iz radoznalosti. Mogu li se ikako te dvije kolone automatski generisati(kolona imena i kolona osvojenih bodova), to čisto u slučaju ako ima npr. stotinjak takmičara,da se njihova imena, ili na Mirkov način znak povezivanja, ne moraju ručno unositi. Pozdrav i hvala.
[ konislav @ 17.06.2010. 19:40 ] @
Citat:
mirko1949: Najprostije je da npr u celiju B59 stavis "=N2". Onda ce ti ta celija povuci ime Dragan i tako redom, pa kad izmenis Dragan u npr Milos u B59 ce se pojaviti Milos. To uradi za potrebam broj celija ispod B59 donje tabele.
Pozdrav

Mislim da sortiranje ne radi kad koristis "=N2", mozda ja negde gresim.
Kad bih imao potrbu da dodajem jos novih imena ili da menjam ista, prvo sto bih uradio, promenio bih raspored(polozaj) imena i utakmica. Tako na mestu (u koloni) gde se sad nalaze utakmice postavio bih imena takmicara, a utakmice bih postavio u gornjem redu.Mnogo je prostije da dodas jedan red ispod u odnosu na dodavanje jedne kolone, posebno zbog (zute kolone) i uzimanje podataka iz iste.
[ sasa.je @ 18.06.2010. 08:21 ] @
Vjerovatno si u pravu,bolje bi bilo da sam obrnuo kolone i redove.
[ sasa.je @ 04.09.2012. 10:36 ] @
Prije 2 godine sam postavio ovdje pitanje i kao što se vidi iz stare teme,dobio sam traženi odgovor. Poslije toga,ja sam nešto još malo dodao i drugovi i ja smo to koristili za svjetsko i evropsko prbenstvo u fudbalu. Da sad opet ne bi čekali 2 godine,odlučili smo da se malo igramo i za Ligu šampiona. Ali, mi bismo da promijenimo propozicije. Kao što se vidi u priloženom fajlu, za tačan pogođen rezultat takmičar dobija 3 poena,a ako pogodi pobjednika ili neriješeno,a da nije tačan rezultat onda dobija 1 poen. Uvidjeli smo da tu onda malo više igra sreća, jer neko često ubode trojke,a nije neki pogađač. Sad bismo i da dodamo opciju za 2 poena, a odnosi se na situaciju kad neko pogodi i razliku sa kojom je A tim pobijedio B tim. Npr. ja igram 3-2, Pero igra 2-0, Jovo igra 2-1 a Simo 1-2. Utakmica se završi sa 2-1, ja dobijam 2 poena, Pero 1, Jovo 3 a Simo 0. U slučaju neriješenog je malo komplikovanije napraviti opcije za 3,2,1,0. Mislili smo ako ja igram 3-2, Pero igra 3-3, Jovo igra 1-1 a Simo 0-0,a utakmica se završi sa 1-1, onda aja dobijam 0, Jovo 3, Simo 2 jer je promašio za po jedan gol a Pero 1 jer je promašio za po 2 gola. Nadam se da je izvodljivo i da neko može pomoći. ja sam gledao onu formulu koju je tada riješio i postavio Konislav ali nisam uspio da je doradim.
Unaprijed hvala na pomoći.
[ 3okc @ 04.09.2012. 18:39 ] @
Prva stvar je da nađeš način prepoznavanja (1) rezultata utakmice i (2) rezultata igrača; to je jedna od 3 mogućnosti: pobeda Domaćih (D), Gostiju (G) ili Remi.

Za poređenje dva rezultata najbolje da koristiš funkciju SIGN(D-G). Funkcija daje predznak argumenta, a u ovom slučaju to je razlika u skoru dve ekipe, pa tako, ako je rezultat funkcije
+1 == imaš pobedu D
0 == imaš Remi
-1 == pobedu G

Istu proveru radiš i sa svim rezultatima prognozera; ako se predznaci dve razlike ne poklapaju to je promašaj i kraj igre = nula bodova.
=CHOOSE(2-SIGN(D-G);"Pobeda Domaćih";"Remi";"Pobeda Gostiju")


Za dalje, porede se i parovi vrednosti.. Rezultat je pogođen ako je proizvod skora dve ekipe isti sa proizvodom skora koji je prognoziran -naravno, mora da važi i prethodni uslov o predznaku razlike.
=AND(SIGN(D-G)=SIGN(d1-g1);D*G=d1*g1)


Delimičan pogodak predstavlja pogođenu vrstu rezultata ali tako da postoji razlika u skoru, ne veća od 1 gola. Znači da važi jednakost
=ABS(MAX(D;G)-MAX(d1;g1))=1


Konačna formula za vrednost u bodovima je bilo koja od dve mogućnosti koje obaška ne mogu da važe istovremeno pa se može izraziti u zbiru
=AND(SIGN(D-G)=SIGN(d1-g1);D*G=d1*g1)*3 +
AND(SIGN(D-G)=SIGN(d1-g1);ABS(MAX(D;G)-MAX(d1;g1))=1)*2
[ 3okc @ 04.09.2012. 18:47 ] @
Konačna formula se može pojednostaviti ako izvučemo zajednički faktor
=(SIGN(D-G)=SIGN(d1-g1)) * ((D*G=d1*g1)*3 + (ABS(MAX(D;G)-MAX(d1;g1))=1)*2)
[ sasa.je @ 04.09.2012. 23:37 ] @
Hvala mnogo na trudu. međutim,ovo još uvijek ne radi kako sam zamislio. Pretpostavljam da je kod tebe D,G konačan rezultat, a D!, G1 moji tipovi. Ovo tvoje rješenje kod mene samo tačno računa 3 poena kod utakmica sa pobjednikom. Ako npr. utakmica završi 1-2 a ja tipovao 2-3 i to radi OK, ali ako sam ja tipovao 5-6, ne daje mi 2 poena. I neriješeni rezultati baš nisu OK.
Hvala na trudu pa ako možeš da provjeriš tako da uneseš neke varijante pa da vidiš kako se ponaša.
Veliki pozdrav.
[ sasa.je @ 04.09.2012. 23:44 ] @
Da dodam, postavio sam ovo pitanje i na stranom forumu i dobio sam sledeći odgovor:
You need to breakdown the options:
Assuming your guess is in cell A1 and B1 and the results are in cells C1 and D1

For Example:
Team X Score 3-1 where the 3 is in cell A1 and the 1 is in cell B1
and the result is 3-1 in cells C1 and D1

The first part, award 3 points: {You got the correct score and winner}
=IF(AND(A1=C1,B1=D1),3,

The second part, award 2 points: {You got the correct winner and the same score difference but not the correct score }
IF(OR(AND(A1>B1,C1>D1,ABS(A1-B1)=ABS(C1-D1)),AND(B1>A1,D1>C1,ABS(A1-B1)=ABS(C1-D1))),2,

The third part, award 1 point: {You got the correct winner}
IF(OR(AND(A1>C1,B1>D1),AND(C1>A1,D1>B1)),1,0

Put it together, the formula becomes:
=IF(AND(A1=C1,B1=D1),3,
IF(OR(AND(A1>B1,C1>D1,ABS(A1-B1)=ABS(C1-D1)),AND(B1>A1,D1>C1,ABS(A1-B1)=ABS(C1-D1))),2,
IF(OR(AND(A1>C1,B1>D1),AND(C1>A1,D1>B1)),1,0))

Međutim, i ovo ne radi dobro, dovoljno je unijeti moj tip 4-2 a konačan rez. 5-0 i on mi umjesto 1 daje 0 poena.
[ 3okc @ 05.09.2012. 03:59 ] @
Citat:
sasa.je: Međutim, i ovo ne radi dobro, dovoljno je unijeti moj tip 4-2 a konačan rez. 5-0 i on mi umjesto 1 daje 0 poena.

Na osnovu čega da dobije poen? Gol razlika je >2.

Slobodno postavi link ka stranom sajtu; možda tamo ne znaju srpski ali odavde ima ko razume engleski.
[ sasa.je @ 05.09.2012. 06:51 ] @
Očigledno da nisam dobro formulisao ideju. Ako igrač pogodi pobjednika ili da će biti remi, dobija minimum 1 poen. Sada ćemo odvojiti riješene utakmice(u kojoj je jedan ekipa pobijedilka) od remija. Kod riješenih utakmica 3 boda dobija za tačno pogođen rez. 2 poena dobija ako pogodi kojom će razlikom tim pobijediti a 1 poen ako ne pogodi ni razliku, evo primjera kako smo to htjeli da izgleda:
Riješena utakmica:
Milan-Čelzi 3-1
-ako sam tipovao 3-1 dobijam 3 poena
-ako sam tipovao 4-2,2-0,5-3,6-4 dobijam 2 poena
-ako sam tipovao 3-0,6-3,8-0,7-2,4-1,1-0,2-1... dobijam 1 poen
-ako nisam tipovao da će Milan pobijediti dobijam 0 poena

Remi:
Milan-Čelzi 2-2
-ako sam tipovao 2-2 dobijam 3 poena
-ako sam tipovao 1-1 ili 3-3 dobijam 2 poena
-ako sam tipovao 0-0,4-4,5-5 dobijam 1 poen
-ako nisam tipovao na remi dobijam 0 poena

Nadam se da sam malo pojasnio našu ideju, pa ako još ima ideja za rješenje, hvala unaprijed.
[ sasa.je @ 05.09.2012. 07:07 ] @
Citat:
3okc:
Citat:
sasa.je: Međutim, i ovo ne radi dobro, dovoljno je unijeti moj tip 4-2 a konačan rez. 5-0 i on mi umjesto 1 daje 0 poena.

Na osnovu čega da dobije poen? Gol razlika je >2.

Slobodno postavi link ka stranom sajtu; možda tamo ne znaju srpski ali odavde ima ko razume engleski.


Postavio sam njegov kompletan odgovor, ali nisam svoje pitanje, da se ne blamiram sa svojim engleskim :)
[ 3okc @ 05.09.2012. 08:46 ] @
Code:

=IF((D=d1)*(G=g1);3;(SIGN(D-G)=SIGN(d1-g1))+((D-G)=(d1-g1))-(D=G)*(d1=g1)*(ABS(D-d1)>1))

D,G zvaničan rezultat
d1,g1 prognoza igrača #1
[ sasa.je @ 05.09.2012. 14:46 ] @
Zoks,
svaka čast. I hvala mnogo, pregledao sam sa nekoliko kombinacija i sve radi baš kako smo zamislili. Ja sam samo iz prethodnih rješenja u ovo tvoje rješenje, dodao onaj brojač. Njegova funkcija je manje-više estetska. Naime, bez njega funkcija računa kao da je upisan konačni rezultat 0-0. Pa onda, kada učesnici unesu tipove i prije početka takmičenja im stoji da imaju neke bodove, tj. 3 poena tamo gdje su tipovali 0-0, 2 poena gdje su tipovali 1-1 i 1 poen gdje su tipovali 2-2, 3-3, 4-4 i sl. Dakle, sada sa ovim malim dodatkom funkcija radi besprekorno i izgleda ovako :

= IF((COUNT(D;G)<2);0;
IF((D=d1)*(G=g1);3;(SIGN(D-G)=SIGN(d1-g1))+((D-G)=(d1-g1))-(D=G)*(d1=g1)*(ABS(D-d1)>1))

Pa tako,ako imate dovoljno drugara, navalite, zanimljivije će biti pratiti LŠ. Možete iskoristiti ovaj moj atačment i samo dodavati učesnike,a na drugom šitu su uneseni timovi,pa se ovo može iskoristiti i za druga takmičenja. Takođe, dole ima i opcija sortiranja učesnika po broju osvojenih bodova.

Zoks, još jednom veliko hvala za uložen trud i rješenje.
[ sasa.je @ 05.09.2012. 22:06 ] @
Evo da dodam još jedno rješenje, sa onog stranog foruma. Zoksovo je dosta kraće i elegantnije.

=IF(AND(A2=C2,B2=D2),3,IF(OR(AND(A2>B2,C2>D2,ABS(A2-B2)=ABS(C2-D2)),OR(AND(B2>A2,D2>C2,ABS(A2-B2)=ABS(C2-D2)),AND(A2=B2,C2=D2,ABS(A2-C2)=1))),2,IF(OR(AND(A2>B2,C2>D2),AND(B2>A2,D2>C2),AND(A2=B2,C2=D2,ABS(A2-C2)<>1)),1,0)))

Okačio sam i fajl koji je čovjek postavio.
[ 3okc @ 05.09.2012. 23:08 ] @
Ok, može i kraće, ako se potpuno izbaci IF
Code:

=(D=d1)*(G=g1) + (SIGN(D-G)=SIGN(d1-g1)) + ((D-G)=(d1-g1)) - (D=G)*(d1=g1)*(ABS(D-d1)>1))

Lepo se vidi da je ukupan broj poena formiran u zbiru 4x1 poena (poslednji se eventualno oduzima)
pogođen/promašen rezultat: poen (ili 0)
pogođen/promašen ishod: poen (ili 0)
pogođena/promašena gol razlika: poen (ili 0)
nerešena, sa gol razlikom>1: -1 poen (ili 0)

Za kontrolu upisa, dovoljno je ako posmatraš jedan od rezultata prognozera, npr poslednji
Code:

=ISNUMBER(g1)*((D=d1)*(G=g1)+(SIGN(D-G)=SIGN(d1-g1))+((D-G)=(d1-g1))-(D=G)*(d1=g1)*(ABS(D-d1)>1)))
[ sasa.je @ 10.09.2012. 10:57 ] @
Nikako da završim unose za sve učesnike pošto sam u nekoj gužvi ali pretpostavljam da oni kojima to eventualno zatreba mogu i sami.Svakako ću da okačim kad završim. Ova zadnja verzija formule je baš,baš skraćena i elegantna,a takođe radi savršeno. Meni je sad nejasno na koji način ovo sve funkcioniše pa ću pokušati da sebi zadam malo jednostavnije zadatke da ovo sebi razjasnim.
Hvala Zoksu na pomoći i rješenju.
[ 3okc @ 10.09.2012. 11:39 ] @
Pretpostavljam da nisi primetio među TOP temama Statistika fudbalskih mečeva, u poslednjem postu sam postavio link ka profi odrađenoj igri - upravo ovo što pokušavaš da napraviš, sve je u Excel tabeli.

Pretpostavljam da se tamo bodovanje razlikuje ali zato imaš i mnogo više opcija. Postoji i forum pa možeš direktno autoru da se obratiš za ev. izmene.
[ sasa.je @ 10.09.2012. 12:36 ] @
Jesam primijetio onu gore temu i pregledao je prije nego sam ovo dodao,ali je ono baš profi. Meni je trebalo samo i baš ovo što si ti napravio. Pozdrav :)
[ sasa.je @ 18.09.2012. 12:58 ] @
Evo konačna verzija ako ko hoće sa drugarima da se igra.
[ sasa.je @ 02.06.2014. 11:36 ] @
Ovo je aktuelno i ove godine :).
Evo kačim urađen fajl i sve utakmice. Tabela funkcioniše besprekorno.
Unio sam i neke teste rezultate da se može provjeriti funkcionalnost.
[ sasa.je @ 10.06.2016. 10:50 ] @
Ovo je opet aktuelno i još uvijek radi :). Sad nam je pala na pamet neka dorada, toj. bodovanje umjesto 1 -2 - 3 da bude 3 - 4 -5. Kako bi to bilo najjednostavnije da se uradi u ovoj Zoksovoj formuli:
=(D=d1)*(G=g1) + (SIGN(D-G)=SIGN(d1-g1)) + ((D-G)=(d1-g1)) - (D=G)*(d1=g1)*(ABS(D-d1)>1))
[ sasa.je @ 10.06.2016. 11:20 ] @
Ukapirao sam :). Samo dodam +2 u formulu. Bilo bi nezgodno kad bi htjeli bodovanje npr 3-5-6 i sl.
[ sasa.je @ 10.06.2016. 14:30 ] @
Ustvari, previdio sam. Ne može prosto +2 jer u tom slučaju i kad je promašen rezultat piše 2 umjesto 0.
[ sasa.je @ 12.09.2016. 21:29 ] @
Pošto je ovo sad opet aktuelno za LŠ, može li se formula preraditi a da bodovanje bude 3,4,5.
[ 3okc @ 12.09.2016. 22:35 ] @
Najprostije da mapiraš dobijene vrednosti tabelom 0 -> 0, 1 -> 3, ... i rešiš sa VLOOKUP.

Code:

=VLOOKUP(Suma123;{0\0;1\3;2\4;3\5};2)


Umesto Suma123 upiši ovo kako sada radi.
[ sasa.je @ 12.09.2016. 23:36 ] @
Ja ne čekajući ugnijezdio tvoju formulu u if petlju, pa ako je rezultat manji od 1 onda piše 0, a ako je veći ili jednak 1, onda rezultatu sabere još 2.
Ovaj tvoj način je naravno elegantniji, hvala :)