Az Excel standard funkciói mellett már jó ideje elég hasznos, ha ismerjük a "Power-programok" lehetőségeit is, ugyanis ezekkel az Excel korlátait könnyedén átléphetjük és teljesen új opciók tárulnak fel - gondoljunk itt a PowerPivotra, a PowerQueryre vagy éppen a PowerBI-ra. A mai posztban egy nagyon egyszerű példán keresztül azt fogjuk megnézni, hogy a PowerQuery mennyire egyszerűvé tesz számunkra korábban INDEX-MATCH kombinációkkal vagy más trükközéssel megoldható Exceles feladatokat.
Adott a következő két tábla:
Hangsúlyozom, roppant leegyszerűsített példát használunk, a célunk szimplán egy VLOOKUP végrehajtása lesz, de PowerQuery segítségével, amelyen keresztül látni fogjuk, hogy ha a PQ-t használjuk, akkor nem igazán számít, hogy balra vannak az eredményértékek a keresett értékünktől, nem számít az sem, hogy több oszlopból kell kulcsot képeznünk és az sem fog már minket zavarni, ha egy kulcshoz több találatunk lehet - a PowerQuery mindent megold. Szóval a mai példában az a célunk, hogy a második számú tábla értékeihez a Városrész kulcs alapján keressük be az első táblánk megfelelő sorait.
Első lépésként álljunk rá az egyik táblánkra, majd a Data fülünk Get & Transform szekciójában (Excel 2013-tól felfelé már Get & Transform néven fut a PowerQuery) kattintsunk a From Table/Range funkcióra:
Ezzel be is töltöttük az adott táblát a Query editorba. Viszont mivel több táblánk van, a Query Editorban a Home ribbonfül alatt a Close & Load funkciócsoportból válasszuk ki a Close & Load To... opciót:
Majd válasszuk ki a következő táblánkat Only Create Connection és "Add this data to the Data Model" opciók kiválasztásával és kattintsunk az OK gombra:
Látható is, hogy jobb oldalt megjelent a Queries & Connections menü, benne a két táblánkkal és soraikkal:
Ha valamelyikre duplán kattintunk, visszajutunk a Query Editorba. Itt álljunk rá arra a táblára, amihez akarunk értékeket bekeresni, majd a Home ribbonfül Combine szekciójából válasszuk ki a Merge Queries funkciót:
És most jön egy fontos lépés, a felugró Merge ablakban, az első részben ugyebár ott lesz az a táblánk, amihez értékeket akarunk keresni, a második részhez pedig válasszuk ki azt a a táblát, amelyik tartalmazza a bekeresendő értékeket - Join típusként (Join Kind) pedig válasszuk ki a Left Outer típust:
Ezt fogjuk látni a Query Editorban - megjelent a két oszlopunk mellett egy harmadik, Table tartalommal:
És ha a Table oszlopnév melletti két kis nyílra kattintunk, azonnal kibővül a táblánk és látni fogjuk, hogy sikerrel behoztuk a két baloldali oszlopunkat (erre szolgált a Left Outer Join típus):
Ezután ha bezártuk a Query Editort, azt láthatjuk, hogy a jobboldali Queries & Connections menüben a második táblánk sorainak száma megnövekedett - hiszen behoztuk hozzá az összes egyedi értéket. Kattintsunk rá jobb gombbal, majd a Context menüből válasszuk ki a Load To menüt:
És ha megadtuk, hogy hova akarjuk betölteni az eredményt, meg is vagyunk a feladattal:
A példa faék egyszerűségű volt, de remélhetőleg látható volt belőle, hogy sokkal gyorsabban, sokkal hatékonyabban tudunk keresni és táblákat egyesíteni PowerQueryvel, mintha szimplán függvényekkel próbáltunk volna hegeszteni.