Hivatkozott Excel verzio: Excel 2007 Excel 2010 Excel 2013
Két táblázat összekapcsolását tapasztalatom szerint a legtöbb esetben a VLOOKUP (FKERES) függvénnyel oldják meg. A tipikus helyzet az, hogy egy cikk, termék, számla, személy, stb… adatait szeretnénk kikeresni egy törzs táblázatból.
Egy másik táblázatban rendelkezésre áll a keresendő valami azonosító adata, ezt keressük a törzs táblázatban, és ha megtaláljuk benne, akkor ugyanabból a sorból egy másik tulajdonságát (nevét, egységárát, stb..) kérjük vissza.
Az FKERES (VLOOKUP) működése pontos egyezőségi keresés esetén
Az FKERES (VLOOKUP) problémái
- Csak a keresési tábla első oszlopában tud keresni, és csak tőle jobbra lévő oszlopból tudunk kérni információt
- Érzékeny a keresési táblázat szerkezetének (oszlopsorrendjének) változására
- Ha több oszlopból is kérünk vissza adatot, akkor mindannyiszor kerestetni kell a kulcsot
- Előbbi miatt nagy táblázatoknál lassulást eredményezhet
MATCH+INDEX (HOL.VAN+INDEX) a király!
Az előző megoldás helyett sokkal rugalmasabbnak tűnik egy másik megoldás, ami ugyanarra a feladatra hesználható, és a fenti hiányosságokra megoldást nyújt. Konyhanyelven a következőről van szó:
- Először megkeresem az azonosítót a keresési táblázat vonatkozó oszlopában, és megtudom, hogy hányadik helyen van benne. Erre való a MATCH (HOL.VAN) függvény.
- Majd ez alapján a szükséges oszlopból kiveszem az annyiadik elemet, amit az előbb megkaptam. Ezt pedig az INDEX függvény teszi meg.
Tehát két függvényhívás. Lehetnek két külön oszlopban, de össze is lehet őket fűzni egy képletbe.
További érthetetlen ábrák és magyarázkodás helyett nézzük akció közben!
Fkeres helyett Hol.van+Index
Üdvözletem, mi történik akár Vlookup, akár match esetén, ha a keresett azonosítóból (ING-146) több is van? Gondolom, megkeresi az elsőt és azt az értéket adja vissza. Ez esetben hogyan lehet legegyszerűbben megoldani, hogy ha több ilyen azonosító van, akkor az összeshez tartozó találatot kigyűjtse? Köszönettel
hm… látom, a youtube kommenteknél már kérdezték ezt. követem azt. 🙂