Excel-suli I.: Mire jó az irányítószám?
Talán nem is gondolnád, egyetlen adatot milyen sokféleképpen lehet értelmezni. Tarts velünk, és ismerd meg kedvenc Excel-függvényeinket.
Természetesen használhatjuk az Excelt alapvető szöveges listák kezelésére vagy éppen egyszerűbb összeadásokra is, ám az igazi izgalmak akkor következnek, mikor a táblázatokban megtalálható adathalmazokat elkezdjük hasznosítani, egyre több és több információt kinyerve azokból, kiaknázva minden lehetséges összefüggést. Sorozatunk első részében ezért nem akarunk feltárni egy egész területet, inkább csapongunk a táblázatkezelő képességei között, hogy kedvcsinálóként egy konkrét példán át megmutathassuk az Excel szépségeit; nézzük meg tehát, mi mindent tehetünk egy irányítószámmal.
Az univerzális FKERES
Nem véletlenül választottunk a postai adatot; olyan számsorról van szó, amelyből számtalan információ kiköveztethető az egyes pozícióban lévő karakterek alapján, másrészt gyakori adatról, bármikor összefuthatunk egy-egy címekkel teli adatbázissal. Elsőként nézzük meg, miként tudunk egy négyjegyű számsorhoz települést társítani, tehát hogyan kerül például a 4244 kód mellé Újfehértó automatikusan egy többezres listában. Ehhez egy olyan kiindulási dokumentumra lesz szükségünk, amely tartalmazza az összes irányítószámot, és az azokhoz rendelt településneveket.
Keressünk rá valamelyik internetes keresőben a "Magyarország irányítószámok xls" kifejezésre, majd mentsük le valamelyik szimpatikus Excel-állományt. Nyissuk meg azt, és ellenőrizzük hitelességét. Ha mindent rendben találunk, térjünk vissza eredeti dokumentumunkhoz, navigáljunk az irányítószámok mellett található oszlop első sorába, majd a szalagon keressük meg a [Képletek] csoporton belül a [Függvény beszúrása] lehetőséget, és kattintsunk rá. A megjelenő panelen az FKERES-függvényt válasszuk, amely működése során egy táblázat bal szélső oszlopában keres egy általunk megadott értéket, majd ha megtalálja azt, akkor az adott sor meghatározott oszlopából visszatér egy adattal.
Azaz példánkban a négyjegyű irányítószám találatakor az ahhoz tartozó várost fogja kiírni. Ennek megfelelően a keresési érték az irányítószámot tartalmazó cella legyen (esetünkben A3), a táblánál adjuk meg azokat a rekordokat, amelyeken belül a keresést végre akarjuk hajtani (mivel másik dokumentumban kutattunk, nálunk ez az iranyitoszamok.xlsx fájl ZIP munkafüzetének A1--B3112 cellák közötti területe volt), a kiírandó számnál az eredménynek szánt oszlopok értékét adjuk meg (nálunk 2), a tartományban pedig a pontos egyezés reményében nullára állítsuk a keresést. Képletünk a leírtaknak megfelelően a következőképpen épül fel:
Hibakezelés
Egy lépéssel már közelebb jutottunk a rendezett táblázathoz, ám jó eséllyel nem működik majd tökéletesen a képletünk, hacsak kiindulási irányítószám-listánk nem tartalmazott minden budapesti irányítószámot. Ha rendre a "#HIÁNYZIK" hibaüzenettel traktál minket az Excel, akkor biztosak lehetünk benne, hogy nekünk kell utólag kezelnünk a főváros kerületeit; szerencsénkre ez nem túl bonyolult művelet. Segítségünkre áll a HAHIBA függvény, ami azonnal aktiválja magát, amint egy képlet hibás értékkel tér vissza. Esetében két paramétert kell megadni: az eredeti képletet, majd pontosvesszővel elválasztva a hiba esetén visszaadandó értéket. Előbbi példánkból kiindulva ez a következő lesz:
, ahol az FKERES rész a fentebb már megadott képlettel behelyettesíthető. Természetesen a HAHIBA szintaxisán belül különböző feltételeket is beállíthatunk: a HA függvényt használva több eredményt is kiírathatunk. Utóbbi módszer mélyebb megértéséhez vegyünk egy újabb egyszerű példát, és nézzük meg, miként választhatjuk külön a nyugat- és kelet-magyarországi településeket, valamint a fővárost és annak agglomerációját az irányítószám alapján.
Feltételek és elágazások
Mivel tudjuk, hogy a 3-6 kezdetű számok Kelet-, a 7-9 közöttiek pedig biztosan Nyugat-Magyarországot jelölik, viszonylag egyszerű a dolgunk. Fogjuk a HA függvényt, adjuk meg a feltételt, majd az igaz és a hamis értékeket). Ez alapján a dunántúli városokat a "HA(A3>=7;"Nyugat-Magyarország";"Nem nyugat")" kifejezéssel szűrhetjük ki, ahol értelemszerűen a "nem nyugat" kitételt érdemes tovább finomítanunk egy újabb HA használatával a 3-6 kezdetű irányítószámokat kikapva, majd egy újabb feltétellel az agglomerációt és a fővárost kell különválasztanunk, így végül a
kifejezéshez kell eljutnunk. Aki akarja, a kettes irányítószámmal rendelkező településeket is szétválaszthatja, mi most utóbbit nem részleteznénk bővebben, hiszen egy új FKERES-táblával, HA-elágazással könnyen megoldható a dolog. Foglalkozzunk inkább egy nagyon nem mellékes problémával, amin eddig egyszerűen átugrottunk, nevezetesen hogy képletünkben egy egész cellát vizsgáltunk, pedig csak az irányítószám első számjegyét kellett volna elemeznünk.
Pótoljuk be a hiányosságot a BAL függvényt használva, ami egy szövegből balról haladva kikapja az általunk megadott első x darab karaktert a BAL(cella,x) szintaxis alapján. Sajnos a képlet nem számot, hanem karaktert ad vissza, ezért a számszerűsítésével is foglalkoznunk kell, amit az ÉRTÉK() függvény végez el nekünk, így a fentebb már leírt hosszú feltételrendszerbe a C3 helyére mindenhova az "=ÉRTÉK(BAL(C3;1))" kifejezést helyettesítsük be, hogy a képletünk hibamentesen működhessen.