Informatika gyűjtemény

NézetNyomtat

Labdarúgó EB

Feladat

Egy labdarúgó EB-n 16 csapat indul. Kezdetben négy 4-es csoportba vannak beosztva, ahol mindenki mindenkivel játszik, és a csoport első két helyezettje jut tovább. Ezután a 8 továbbjutó egyenes kiesése rendszerben játszik tovább.
Készítsünk táblázatot, amibe csak a mérkőzések eredményét kell begépelni "3:1" alakban, és kiszámítja a csoportok eredményét, meghatározza a továbbjutókat, és végigköveti a kieséses szakaszt is.

Adatok

Lépések

Eredmény karakterlánc felbontása

Azt szeretnénk, ha a meccsek eredményét egyetlen cellába lehetne begépelni, például "6:3". Ehhez a cella formátumát szövegre kell állítani, hogy ne akarja a táblázatkezelő dátummá konvertálni. Az eredmények feldolgozásakor viszont a "6:3" szöveget fel kell bontani a 6 és 3 számokra.
A lépések a következők:
  1. Megkeressük a szövegben a ":" karaktert. (FIND)
  2. A ":" előtti részt számmá alakítva kapjuk az első csapat góljainak számát. (LEFT, DECIMAL)
  3. A ":" mögötti részt számmá alakítva kapjuk a második csapat góljainak számát. (RIGHT, LEN, DECIMAL)
Ha az A1 cellában van az eredményt leíró karakterlánc, akkor a következő képletekkel dolgozhatunk:
csapat1_góljai = DECIMAL(LEFT(A1;FIND(":";A1)-1);10)
csapat2_góljai = DECIMAL(RIGHT(A1;LEN(A1)-FIND(":";A1));10)

Csapatok pontozása

A csoportmérkőzések után ki kell számítanunk a csapatok pontszámát, majd ki kell választanunk csoportonként a két legjobbat, akik továbbjutnak az egyenes kieséses szakaszba.
A pontszám meghatározása a következő: a győzelem 3 pontot ér, a döntetlen 1 pontot, a vereségért nem jár pont.
Részletek:
  1. A képen látható sárga mezőkbe szabad gépelni, a többi cella értékét függvényekkel állítjuk elő.
  2. E1-es cella:   =B2
  3. Az eredmény-mátrix cellái "szöveg" formátumúak. A későbbiek miatt célszerű a még nem lejátszott meccsek celláját is jelölni, például egy "-" karakterrel.
  4. F2-es cella:   =IF(B7<>"";B7;"-")
  5. Az eredmény-mátrixot soronként értékeljük ki, minden mérkőzés kétszer jelenik meg, de mindig annak a csapatnak a "szemszögéből", akinek a sorába van írva. Tehát mondjuk a felső háromszögbe másoljuk át a végeredményeket, az alsó háromszögben pedig képlettel megfordítjuk a gólok számának sorrendjét.
  6. E4-es cella:   =IF(G2<>"-";
                      CONCATENATE(
                          RIGHT(G2;LEN(G2)-FIND(":";G2));
                          ":";
                          LEFT(G2;FIND(":";G2)-1)
                       );
                    "-")
  7. A már ismert függvénnyel kiszámíthajuk csapatonként (soronként) a rúgott gólok számát egy segédtáblázatban.
  8. A gólok táblázata alapján az is meghatározható (egy másik segédtáblázatban), hogy melyik csapat, melyik meccsen hány pontot szerzett.
  9. G8-as cella:   =IF(G2<>"-";IF(M8>K10;3;IF(M8=K10;1;0));"")
  10. Minden csapatra megadjuk a lejátszott mérkőzések számát (M), a győzelmek (Gy), döntetlenek (D) és vereségek (V) számát, illetve az összes rúgott és kapott gólt. Itt már használhatjuk a segédtáblázatokat.
  11. Kiszámítjuk a csapatok pontszámát, egyszerű összegzéssel.

Pontegyenlőség kezelése

Előfordulhat, hogy két csapat azonos pontszámmal zárja a csoportmérkőzéseket, és ilyen esetben is rendeznünk kell őket.
Egy lehetséges döntési mód: pontegyenlőség esetén a nagyobb gólkülönbség dönt, és ha az is egyenlő, akkor pénzfeldobás. Egyszerűsíti a folytatást, ha mindezt egy pontszámba (pont*) foglaljuk bele, a következő módon?
pont* = 1000*P+10*(Rg-Kg)+pénzfeldobás
A szorzók garantálják, hogy a "magasabb szempontot" ne írja felül az "alacsonyabb". Feltettük, hogy a gólkülönbség 100-nál kisebb, így a pont 1000-es szorzója garantálja, hogy egyetlen ponttöbblet többet ér, mint 99-cel jobb gólkülönbség. A pénzfeldobásokat "előre lejátszhatjuk", ami azzal egyenértékű, hogy a 4 csapatnak négy különböző 1 és 9 közé eső számot generálunk. Ez csak akkor fog számítani ha a pontszám és a gólkülönbség is egyezik.

Továbbjutók meghatározása

Ha már minden csapathoz sikerült úgy értéket rendelni, hogy ezek az értékek biztosan különbözők, és a szabályok szerint jobb csapathoz nagyobb számot rendeltünk, akkor ki kell választani csoportonként a két továbbjutót. Ehhez az INDEX, MATCH, MAX és LARGE függvényeket használhatjuk.
A
 LARGE(tömb;2)
függvény a tömb második legnagyobb értékét adja meg.
A képletek:
B7-es (összevont) cella: =INDEX(A2:A5;MATCH(MAX(H2:H5);H2:H5;0))
B8-as (összevont) cella: =INDEX(A2:A5;MATCH(LARGE(H2:H5;2);H2:H5;0))

A kieséses szakasz

Formázások

Zászlók

A munkalap védelme