Adott egy feladat: egy sportnap szervezése. Adott hozzá néhány kritérium: a jelentkezés szervezeti egységenként történik (szerencsére), webalkalmazások kilőve, .NET kilőve. Adott, hogy nekem kell megcsinálnom. Az is adott, hogy könnyen kezelhetőnek, ugyanakkor gyorsnak kell lennie. Végül adott, hogy nincs sok szabadidőm rá.
Ezek a körülmények, ezekhez kellett alkalmazkodni és így született a megoldás: legyen egy Excel-fájl, amiben az egyes egységek leadják a jelentkezéseiket! (Nyilván egyéni jelentkezések esetén használhatatlan lenne a megoldás.) Nem igazán szép megoldás, de nagyon szűkek voltak a lehetőségek.
A következőkben némi áttekintés olvasható a megvalósításról.
Jelentkezés
A jelentkezés négy elemből áll:
- az egyes személyek nevezése
- csapatok összeállítása
- egyéni sportokba nevezés
- személyek szállásigénye és ételrendelései
Minden sportolónak van egyedi azonosító száma, így az azonosításhoz nincs másra szükség. Egy Nevezés munkalapon szerepel a jelentkező sportolók azonosítója, neve, neme és születési évszáma. Ők azok, akik részt vehetnek a rendezvényen, ehhez nem szükséges sportra jelentkezniük vagy szállást rendelniük, mert a sportnap egyben egy közösségi rendezvény is.
Sportjelentkezések
Az egyéni sportágak egy külön munkalapon kerülnek felsorolásra úgy, hogy maximum annyi sportolót lehessen jelentkeztetni az egyes sportágakra, amekkora limitet az adott szervezeti egység számára központilag meghatároztak. A jelentkeztetés az egyedi azonosító szerint történik, de természetesen a versenyző többi adata is megjelenik. Egy alapszintű vizsgálat is bekerült, például nem nevezett versenyző azonosítója nem vehető fel, a női sportágakra férfiak nem jelentkeztethetők. Ezt az Excel Érvényesítés funkciója oldja meg nem tökéletesen, de megfelelő módon. (Például beillesztésnél nincs érvényességellenőrzés.)
|
A csapatsportokra jelentkezés hasonló, de itt már nem csak a csapat tagjainak számára van kvóta, hanem arra is, hogy egy egység hány csapatot indíthat, így egymás alatt az egyes sportágak, míg egymás mellett az azonos sportágak különböző csapatai találhatók meg. Néhány plusz ellenőrzés is bekerült, például a csapattagok minimális számára vagy a csapat nőtagjainak számára vonatkozóan. A könnyű módosíthatóság miatt ez egy külön Kvóták munkalapon kapott helyet, ezt nagyon egyszerűen egy FKERES függvény keresi ki. Átmenetileg engedélyezettek az ilyen hibák (a feltöltés közben), így csak egy piros tájékoztató feliratot kap a feltöltést végző. Ellenőrzésre kerül az is, hogy egy személy szerepel-e több csapatban.
A könnyű összesítés miatt az egyéni- és a csapatjelentkezések is egy-egy technikai munkalapon kerül összegzésre néhány(száz) jól irányzott INDIREKT függvénnyel. Ezek részint az ellenőrző funkciókat is segítik. Természetesen az technikai munkalapok rejtettek.
A nevezett személyek sportjelentkezéseit összefoglalja egy nevezéslista, ahol könnyen áttekinthető formában lehet információt szerezni arról, ki melyik sportágban nevezett. Mivel túl számításigényesnek bizonyult a képletekkel kitöltött megoldás, ezért inkább egy Frissítés gomb került a munkalapra, amelyet megnyomva egy makró kitölti képletekkel a megfelelő cellákat, majd ezeket kimásolja és beilleszti az értéküket. Így csak akkor kell újraszámolni a táblát, ha erre igény van, nem minden gombnyomásra.
Szállásjelentkezés
A szállásjelentkezés abból a szempontból tér el a többi munkalaptól, hogy itt nem az egyedi azonosító azonosítja a szállást rendelőket, mivel a sportolók családjaiknak is foglalhatnak szálláshelyet. Szerencsére a szervezeti egységek csoportosan fizetik ki a szállás és étkezési költségeket, tehát a részletezés csak számukra fontos. Itt a családtagok nevein kívül minden legördülő menükből választható ki.
A munkalapokon a képletrejtések és a zárolások be vannak állítva és a munkalapok levédettek, hogy a munkafüzet szerkezetét a kitöltők ne tudják megváltoztatni.
Jelentkezések összesítése
Ha a jelentkezés Excel-fájlban történik, kézenfekvőnek tűnt az, hogy az összesítés is így legyen. Felmerült az Access adatbázis is sok egyéb alternatíva mellett, de a végső érv a táblázatkezelő mellett az volt, hogy időnként olyanoknak is bele kell nyúlnia ebbe, aki csak alapszinten ismeri az Office-család tagjait. És mint azt már régebben említettem, van egy olyan aberrációm, hogy szeretem feszegetni az egyes programok korlátait, különösen az Excelét: eddig kevés dologgal találkoztam, amire az Excel ne lenne jó.
A visszaküldött fájlok technikai összesítői és az összesítő fájl úgy vannak kialakítva, hogy csak néhány copy-paste műveletre legyen szükség az adatok összesítéséhez. Természetesen ezt meg lehetne oldani makrókkal, teljesen automatizálva, de a makrók megírása és tesztelése sokkal több időt venne igénybe.
A jelentkezéseken és a jelentkezések összesítésén kívül a lebonyolitásban is szerepet kap az Excel: az egyes sportágak bírói is Excelből generált listákat kapnak, illetve az általuk leadott eredmények releváns része is egy Excel táblába kerül be, amiből a végeredmény előáll. Azaz a nevezéstől az eredményhirdetésig az összes adat egy táblázatkezelő számol mindet. Persze lehet erre a megoldásra mondani, hogy gagyi, mindenesetre működik, tudják használni laikusok is, nem kell hozzá hálózat vagy különleges infrastruktúra és bármi gond van, telefonon át supportálható.
Néhány nagyságrendi szám viszonyításképp: kb. 10 szervezeti egységből több mint 900 sportoló jelentkezett összesen 30 sportágban. A nevezett sportolók szállásjelentkezését és étkezésrendeléseiket szintén ebben az Excel-fájlban adták le.
Természetesen nem összehasonlítható ez a megoldás egy egyedi, erre írt programmal, de mint az a fentiekből és az eddigi tapasztalatokból látszik, meg lehet szervezni egy sportnapot tisztán Excelben. Persze mazochisták előnyben! :)
Utolsó kommentek