Articles

Excel:

Az IMA® egyik tagozatának Power Excel szemináriumán az egyik résztvevő megkérdezte, hogy van-e mód arra, hogy a VLOOKUP segítségével egy hosszabb cellába ágyazott számot egyeztessünk. Egy csekknyilvántartásból származó csekkeket próbált összevetni a bankjától származó, kiegyenlített tranzakciók listájával. A nehézség: A csekk száma egy Tranzakciók kódja mezőbe volt beágyazva.

A mező, amelyben keresnie kellett, változó számú karaktert tartalmazott előtagként, amelyet a csekk száma követett, majd még több karakterrel zárult. A legtöbb ember nem tudja, hogy a VLOOKUP támogatja a vadkártyákat. Valójában a Microsoft Excel-csapata úgy véli, hogy a VLOOKUP-okba gyakrabban kerülnek véletlenül vadkártyák, mint hogy az emberek szándékosan használják őket. Mivel a legtöbb ember nem tudja, hogy a VLOOKUP támogatja a jokereket, valószínűbbnek tűnik, hogy az emberek olyan VLOOKUP-ot hajtanak végre, amelyben a keresési érték véletlenül olyan karaktert tartalmaz, amelyet nem jokernek szántak.

Jokerek használata

A szabványos jokerek a csillag (*), amely tetszőleges számú karaktert jelent, és a kérdőjel (?), amely egy karaktert jelent. Mi van akkor, ha valóban csillagot vagy kérdőjelet kell keresni? A csillag kereséséhez használja a ~* karaktert, a kérdőjel kereséséhez pedig a ~? karaktert. Használja a ~~-t a tilde kereséséhez.

Ezeknek a három karaktereknek a használata különösen nehéz, ha több száz VLOOKUP-ja van, és az értékek már tartalmaznak joker karaktereket. Ha az értékeket menet közben, egymásba ágyazott SUBSTITUTE függvények segítségével próbálja átalakítani, az nehézkessé válik. Képzeljük el a =VLOOKUP(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, “~”,”~~”), “*”,”~*”),”?”,”~?”). Valójában jobb lenne, ha a Microsoft felajánlana egy olyan opciót, amely kikapcsolja a wildcard viselkedést egy adott munkalap vagy munkafüzet esetében.

Visszatérve az eredeti problémához. A keresőtábla első oszlopában az “alma” szó bármely szövegben történő megtalálásához az “alma” szót kellene keresni. De mivel az 1. ábra A2 cellája már tartalmazza az “alma” szót, a képlet így kezdődik: =VLOOKUP(“*”&A2&”*”. Ebben az esetben a konkatenációs karaktert (&) arra használja, hogy az A2-ben lévő értéket mindkét oldalon csillaggal csomagolja be. Alternatívaként használhatja a =VLOOKUP(CONCATENATE(“*”,A2, “*”) karaktert is, hogy az “alma” szót csillagokba csomagolja.

A =VLOOKUP(“*”&A2&”*”,$D$2:$E$6,2,FALSE) képlet helyesen találja meg az E5 cellából a 956 $-t.

Legyen különösen óvatos a joker keresés eredményeinek felülvizsgálatakor. Mi lenne, ha az “alma” és a “crabapple” kifejezésre is keresne? A crabapple keresése helyes lenne, de mivel a VLOOKUP az első találatot adja vissza a keresési táblázatban, a *apple* VLOOKUP a crabapple értékét adná vissza, ha az alma előtt található a keresési táblázatban.

Az összes találat megtalálása és összegzése

Amint az Excel-szemináriumon végigvezettem a példát, valaki megkérdezte, hogy mi a helyzet, ha több találat is van, és szeretnénk megtalálni és összegezni az összes találatot.

Mivel az *apple* joker olyan jól működött a VLOOKUP-pal, létrehoztam egy adathalmazt, ahol tesztelhettük, hogy a SUMIFS is engedélyezi-e a jokereket. Az alább látható SUMIFS függvényben a képlet szerint az E oszlopban lévő értékeket össze kell adni, ha a D oszlopban lévő megfelelő érték tartalmazza az *alma* szót. Ez a képlet is működik.

VILÁGKÁRTYÁK KEZELÉSE

Meglepte, hogy a VLOOKUP képes kezelni a vadkártyákat? Készített már olyan VLOOKUP-ot, ahol a keresési érték a normál szöveg részeként csillagot vagy kérdőjelet tartalmazhatott, és nem vadkártyának szánták?

Ha a válasz e kérdések bármelyikére igen, akkor valószínűleg van értelme, hogy a Microsoft a VLOOKUP egy új, továbbfejlesztett változatát kínálja, amely alapértelmezés szerint figyelmen kívül hagyja a vadkártyákat. Lehetne egy extra opcionális argumentum ennek az új függvénynek a végén, amely lehetővé tenné, hogy megmondja az Excelnek, hogy használja a vadkártyákat. Ha ezt az argumentumot kihagyná, akkor az Excel nem használna semmiféle jokert. Könnyedén kereshetné a “142*154” vagy a “Why?” vagy az “e*Trade” értéket anélkül, hogy aggódnia kellene amiatt, hogy egy olyan érték, mint az “Electrical Trade” hamis találatként jelenik meg.

GYORSABB VLOOKUPS ARE COMING

A Microsoft az elmúlt hónapokban a VLOOKUP új, gyorsabb verzióját tesztelte az Office 365 buildek Insider Monthly csatornájában. A funkció gyakran tízszer gyorsabb, mint a régi VLOOKUP, különösen akkor, ha több ezer keresés történik ugyanazon táblával szemben.

Az új logika 2019 végére várhatóan minden Office 365-előfizető számára elérhetővé válik. Ha a VLOOKUP-ok jelenleg kevesebb mint egy másodpercet vesznek igénybe, lehet, hogy nem veszi észre a változást. De ha van egy hatalmas munkalapja, amelynek kiszámítása 40 másodpercet vesz igénybe, számoljon azzal, hogy az újraszámítási idő körülbelül négy másodpercre vagy kevesebbre csökken.