Az első posztomat mi mással is kezdhetném, mint a Magyarországon szerintem leginkább elterjedt és leginkább használt Office alkalmazással, az Excellel, amely még a legjáratosabb szakértő tudorok számára is igen komoly lehetőségeket és kihívásokat rejt magában. A mai alkalommal egy valószínűleg többek munkája/feladata során felmerült kérdést és a vonatkozó megoldást fogom lépésenként bemutatni, hátha ezzel valakinek tudok egy kicsit segíteni elmélyedni az excelben és talán kilépni a megszokott keretekből. Fontos tudni, hogy én talán még sosem használtam magyar nyelvű excelt, szóval maradnom kell az angol elnevezéseknél, elnézést érte.
A kérdés tehát így szól (aki akarja, saját maga is megpróbálhatja, lentebb jön a megoldás):
Az egyik leghasznosabb és leggyakoribb Excel-függvény a VLOOKUP, amellyel az én fő problémám az szokott lenni, hogy csak egy irányba, jobbra működik, balra nem. Meg lehet oldani, hogy ne kelljen oszlopokat másolgatni a VLOOKUP-hoz a megfelelő eredmény elérése érdekében - azaz valamilyen úton balra is működtetni a keresést bármilyen másolgatás nélkül?
Példafeladat megoldással:
Ahogy látható, ha azt szeretnénk megtudni, hogy egyes városokban mennyi volt az árbevétel, azt nagyon egyszerűen meg tudjuk tenni VLOOKUP-pal. De ha azt szeretnénk bekeresni a céltáblába, hogy hány bolt van mondjuk Sopronban, akkor azt már bajosan tudnánk ezzel a függvénnyel megtenni. Persze ez most egy egyszerű példa, szóval elég könnyű más megoldásokat is találni, de a balra is működő bekeresés illusztrálására tökéletes.
A megoldáshoz két függvényt kell ismernünk és együtt használnunk, az egyik az INDEX, a másik pedig a MATCH.
Az INDEX tömbökre és egyszerű táblákra is használható, most kizárólag fókuszáljunk utóbbira, azaz az INDEX-nek azon funkciójára, amellyel egy, az általunk megadott tábla meghatározott sorának és oszlopának metszetében szereplő értéket kaphatunk vissza.
Azaz például az INDEX(A1:B4,2,2) az A1:B4 tartomány második oszlopának második sorában található értéket adja ki nekünk. Ez nagyon fontos lesz, hiszen már ebből is látszik, hogy miben fog nekünk segíteni a "baloldali VLOOKUP" elérésében.
Legalább ennyire fontos és hasznos a MATCH függvény is, amely hasonlóan működik, mint az INDEX, csak nem magát az értéket, hanem annak pozícióját adja vissza nekünk egy tartományban (kérhetünk teljes egyezést is a függvény harmadik paramétereként).
Azaz például a MATCH(Sopron,F5:F12,0) meg fogja mondani nekünk, hogy Sopron pontosan hányadik sorban van az F5:F12 tartományban.
És innen már nagyon egyszerű az út egy "baloldali VLOOKUP" létrehozásához, hiszen a két függvényt kell csak egymásba ágyaznunk:
Megoldás a fenti példára: INDEX($D$5:$D$12,MATCH(F5,$F$5:$F$12,0))
Az INDEX első paramétereként megadjuk azt a tartományt, ahol azok az értékek vannak, amelyeket akarunk (jelen esetben a Boltok száma, azaz D5:D12), majd második paramétereként (a többi paraméter nem kötelezően használandó) a MATCH függvényt fogjuk beágyazni, hogy abból nyerjük ki az INDEX-hez szükséges sorszámot - itt ugrunk át a MATCH-be, ahol elsőként megadjuk megadjuk, hogy milyen értékhez keresse a boltok számát (ez nálunk most az első város neve, azaz F5), második paraméterként azt a tartományt, ahol ezek az értékek vannak (nálunk ez most a városok nevét tartalmazó oszlop, azaz F5:F12), majd kérjünk teljes egyezést a 0-val. És ha ENTER-t nyomunk majd lehúzzuk a képletünket, akkor ott is a megoldás, ahogy a képen is látszik.
Ugye, hogy nem is olyan bonyolult? Bármi kérdésetek merülne fel, nyugodtan írjatok egy kommentet/e-mailt.