Bevezetés az alkalmazott informatikába |
2007/2008. év - 2. félév |
Táblázatkezelés |
Összes kinyitása/becsukása
Feladat: statisztika készítése a Bevezetés az informatikába 1 és 2 tárgyakból az utóbbi tíz évben elért eredményekből.
A táblázat Vizsga 2 oszlopában a pótvizsga (vagy javítóvizsga) eredménye található, a Vizsga 3 oszlopban a második pótvizsga eredménye. Ha egy hallgatónál nem szerepel jegy, akkor nem sikerült megszereznie az aláírást a tárgyból. A statisztika készítésénél minden esetben csak az utoljára megszerzett jegy számít.
A statisztikákat egy új munkafüzet külön lapjain készítse el, hogy az adatok lecserélésével más tárgyak átlagait is könnyen ki lehessen vele számítani.
Ha Internet Explorert használ, akkor a fenti linkre kattintva a fájl a böngésző ablakában jelenik meg. Ilyenkor nincsenek eszköztárak, így a fájl tartalmát meg lehet nézni, de dolgozni nem nagyon lehet. Kattintson a jobb egérgombbal a linkre, majd válassza a Cél mentése másként (Save target as) menüpontot. A mentési hely megadása után letölti a fájlt, majd a megjelenő ablakban a megnyitásra kattintva most már külön ablakban jelenik meg a fájl.
Megoldási stratégiánk a következő: először egyszerűsítsük a feladatot, amennyire lehet, majd ha ennek már sikerült megtalálni a megoldását, akkor ezt általánosítva próbálunk eljutni az eredeti feladat megoldásához.
Előszőr határozzuk meg az összes hallgató számát, akik egy konkrét félévben felvették a tárgyakat. Jó tesztalany mindjárt az első félév (1990/91/1), mert csak egy tárgy lett meghirdetve, és ránézéssel is megszámolható: az erdemény 10 kell legyen. Ezt a korábban tanultak alapján a darabteli (countif) függvénnyel határozhatjuk meg. A feladatkiírás szerint a statisztikákat egy új munkafüzetben kell létrehozni, ezért
Következő lépésben ezt próbáljuk kiterjeszteni az összes félévre. A képletet mozgassa át a B1 cellába, az A1 cellába
írja be az 1990/91/1 szöveget, és módosítsa a képletet, hogy a konstans szöveg helyett erre a szövegre mutasson.
Az eredmény:
=DARABTELI('[FelevesEredmenyek.xls]Féléves eredmények'!$A:$A;A1). Természetesen az eredmény ugyanúgy 10
kell maradjon.
Ha az A2, A3, ... cellákba begépeljük a félévneveket, akkor az előbbi képlet végigmásolásával megkapjuk az összes félév hallgatói létszámát. A baj csak az, hogy 35-ször legépelni a félévneveket elég unalmas. Sajnos az első 2 vagy 4 elem megadása alapján ilyen sorozatot az Excel már nem tölt ki automatikusan, ezért inkább szövegkezelő függvényekkel (ld. Office súgó) összerakjuk elemeiből.
Így a félévet előállító képlet végül így néz ki a C1 cellában:
=A1&"/"&JOBB(A1+1;2)&"/"&B1. Most már végigmásolhatjuk
a D oszlopban a darabteli() függvényt, és megvan a tárgyakat felvett hallgatók száma félévenként.
Az eredeti feladat megoldásához már csak egyet kellene tennünk: a számlálást tárgyanként kellene elvégezni. Ez azért nehéz, mert így két kritériumunk van: egy a Félév, egy pedig a Tárgy oszlopra vonatkozóan, a darabteli() függvény viszont csak egy oszlopra vonatkozó kritériumot enged meg. Ilyenkor a következő trükk használható: a FelevesEredmenyek.xls listájában készítünk egy segédoszlopot, ahol összefűzzük a Félév és a Tárgynév szövegét (esetleg valami elválasztó jellel), majd a Statisztika.xls-ben lévő darabteli függvényt módosítjuk úgy, hogy a tartománya ez az új oszlop legyen, a kritériuma pedig a Tárgynév és a Félév ugyanolyan összefűzése.
A feladat megoldható segédoszlop nélkül is az ab.darab() függvénnyel, ld. Súgó.
Az előzőhöz hasonlóan használja a darabteli() függvényt.
A tárgyat mindenkinek újra fel kell vennie, aki nem szerzett jegyet, vagy a végső vizsgajegye elégtelen, így őket kell összeszámolni félévenként és tárgyanként.
Legegyszerűbb, ha előszőr megszámoljuk, hogy az egyes hallgatók az egyes tárgyakat hányszor vették fel, majd az így kapott lista alapján megszámoljuk, hogy az egyes tárgyaknál hányszor van 1, 2, etc.