Tartalomjegyzék
Ebben a bemutatóban azt nézzük meg, hogyan használhatjuk az ISERROR-t a VLOOKUP-pal az Excelben, hogy mindenféle hibát produktívan kezelhessünk.
A VLOOKUP az egyik legzavaróbb, számos problémával terhelt Excel-funkció. Bármelyik táblázatban is nézzük, a #N/A hibák gyakoriak, és időnként a #NAME és a #VALUE is megjelenik. A VLOOKUP ISERROR-ral történő használata segíthet az összes lehetséges hiba felderítésében és a helyzetnek leginkább megfelelő módon történő kezelésében.
Miért ad hibát a VLOOKUP?
A VLOOKUP képletek leggyakoribb hibája a következő #N/A akkor fordul elő, ha egy keresési érték nem található. Ez különböző okok miatt történhet:
- A keresési érték nem létezik a keresési tömbben.
- A keresési értéket rosszul írják.
- A keresési értékben vagy a keresési oszlopban szóközök vannak.
- A keresési oszlop nem a táblázat tömbjének legbaloldali oszlopa.
Emellett, belefuthatsz egy #VALUE! hiba, pl. ha a keresési érték 255-nél több karaktert tartalmaz. Ha a függvény nevében helyesírási hiba van, akkor egy #NAME? hiba jelenik meg.
A teljes hivatkozásért lásd a korábbi bejegyzésünket a Miért nem működik az Excel VLOOKUP.
IF ISERROR VLOOKUP formula a hibák egyéni szöveggel való helyettesítéséhez
A VLOOKUP által kiváltható összes lehetséges hiba elrejtése érdekében az IF ISERROR képleten belülre helyezhetjük, így:
IF(ISERROR(VLOOKUP(...)), " text_if_error ", VLOOKUP(....))Példaként vegyük elő azoknak a tantárgyaknak a nevét, amelyekből az A csoport diákjai megbuktak a teszteken:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
Ennek eredményeképpen egy csomó #N/A hibát kap, ami azt a benyomást keltheti, hogy a képlet hibás.
Valójában ezek a hibák csak azt jelzik, hogy néhány keresési érték (A3:A14) nem található meg a keresési listában (D3:D9). Hogy ezt a gondolatot világosan kifejezze, a VLOOKUP képletet az IF ISERROR konstrukcióba ágyazza:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE)))
Ez elkapja a hibákat, és visszaküldi az egyéni szöveges üzenetet:
Tippek és megjegyzések:
- Ennek a formulának az a fő előnye, hogy szépen működik a minden változat az Excel 2000-től az Excel 365-ig. A modern verziókban egyszerűbb és kompaktabb alternatívák állnak rendelkezésre.
- Az ISERROR függvény elkapja abszolút minden hiba , például #N/A, #NAME, #VALUE stb. Ha csak akkor szeretne egyéni üzenetet megjeleníteni, ha egy keresési értéket nem talál (#N/A hiba), használja az IF ISNA VLOOKUP (minden verzióban) vagy IFNA VLOOKUP (Excel 2013 és újabb verziókban).
ISERROR VLOOKUP üres cella visszaküldésére, ha hiba van
Ha hiba esetén üres cellát szeretne kapni, a képletet úgy kell beállítani, hogy az egyéni szöveg helyett egy üres karakterláncot ("") adjon vissza:
IF(ISERROR(VLOOKUP(...)), "", VLOOKUP(...))A mi esetünkben a képlet a következő formát ölti:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Az eredmény pontosan a vártnak megfelelő - egy üres cella, ha a diák neve nem található a keresőtáblában.
Tipp. Hasonló módon a VLOOKUP hibákat is helyettesítheti nullákkal, kötőjelekkel vagy bármilyen más karakterrel. Csak használja a kívánt karaktert az üres karakterlánc helyett.
IF ISERROR VLOOKUP Igen/Nem formula
Bizonyos helyzetekben, lehet, hogy keres valamit, de ahelyett, hogy húzza a mérkőzések csak vissza akar térni Igen (vagy valamilyen más szöveg, ha a keresési értéket megtalálják) és Nem (ha a keresési érték nem található). Ehhez használhatja ezt az általános képletet:
IF(ISERROR(VLOOKUP(...)), " text_if_not_found ", " text_if_found ")Tegyük fel, hogy a mintaadatkészletünkben azt szeretnénk megtudni, hogy mely diákok buktak meg egy tesztet, és melyek nem. Ehhez a már ismert ISERROR VLOOKUP képletet adjuk meg az IF logikai teszthez, és mondjuk meg neki, hogy adja ki a "Nem" értéket, ha nem találja meg az értéket (az ISERROR VLOOKUP TRUE-t ad vissza), "Igen"-t, ha megtalálta (az ISERROR VLOOKUP FALSE-t ad vissza):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Nem", "Igen")
ISERROR VLOOKUP alternatívák
Az IF ISERROR kombináció a legrégebb óta bevált technika a Vlookup hibamentes végrehajtásához az Excelben. Idővel új függvények fejlődtek ki, amelyek egyszerűbb módot biztosítanak ugyanannak a feladatnak az elvégzésére. Az alábbiakban más lehetséges megoldásokat tárgyalunk, és azt, hogy mikor érdemes alkalmazni őket.
IFERROR VLOOKUP
Elérhető az Excel 2007 és magasabb verzióban
A 2007-es verziótól kezdve az Excel rendelkezik egy speciális, IFERROR nevű funkcióval, amely ellenőrzi a képletet hibák szempontjából, és hiba esetén saját szöveget ad vissza (vagy egy alternatív képletet futtat).
IFERROR(VLOOKUP(....), " text_if_error ")A valós képlet a következő:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Nem")
Első pillantásra úgy tűnik, mintha az IF ISERROR VLOOKUP formula rövidebb analógja lenne. Van azonban egy lényeges különbség:
- IFERROR A VLOOKUP feltételezi, hogy mindig a VLOOKUP eredményét akarja, ha az nem hiba.
- IF ISERROR A VLOOKUP segítségével megadhatja, hogy hiba esetén mit adjon vissza, és mit, ha nincs hiba.
További részletekért lásd az IFERROR használata a VLOOKUP programmal az Excelben című részt.
IF ISNA VLOOKUP
Működik az Excel 2000 és újabb Excel programokban
Abban a helyzetben, amikor csak a #N/A-t akarjuk csapdába ejteni anélkül, hogy más hibákat is elkapnánk, az ISNA függvény jól jön. A szintaxis megegyezik az IF ISERROR VLOOKUP szintaxisával:
IF(ISNA(VLOOKUP(...)), " text_if_error ", VLOOKUP(....))Bizonyos körülmények között azonban ez a látszólag azonos formula eltérő eredményeket hozhat:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Nem", VLOOKUP(A3, $D$3:$E$9, 2, FALSE)))
Az alábbi képen az A13-as cella rengeteg hátul lévő szóközt tartalmaz, ami miatt a keresési érték teljes hossza meghaladja a 255 karaktert. Ennek eredményeképpen a képlet #VALUE! hibát vált ki, ami felhívja a figyelmet erre a cellára, és az okok kivizsgálására ösztönöz. Az ISERROR VLOOKUP ebben az esetben "Nem"-et adna vissza, ami csak elfedné a problémát, és teljesen rossz eredményt adna.
Mikor kell használni:
Ez a képlet kiválóan működik olyan helyzetekben, amikor csak akkor szeretnénk megjeleníteni egy szöveget, ha a keresési értéket nem találjuk, és nem akarjuk elfedni a VLOOKUP képlettel kapcsolatos alapvető problémákat, például amikor a függvény neve rosszul van beírva (#NAME?) vagy a keresési munkafüzet teljes elérési útvonala nincs megadva (#VALUE!).
További információért lásd az ISNA funkciót az Excelben, képletpéldákkal.
IFNA VLOOKUP
Elérhető az Excel 2013 és magasabb verzióban
Ez az IF ISNA kombináció modern helyettesítője, amely lehetővé teszi az #N/A hibák egyszerűbb kezelését.
IFNA(VLOOKUP(....), " text_if_error ")Íme az IF ISNA VLOOKUP képletünk rövidített megfelelője:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Nem")
Mikor kell használni:
Ideális megoldás az #N/A hibák csapdázására és kezelésére az Excel modern verzióiban (2013 - 365).
A teljes részleteket lásd az Excel IFNA funkciójában.
XLOOKUP
Támogatott az Excel 2021 és az Excel 365 programokban
A beépített "ha hiba" funkciónak köszönhetően az XLOOKUP függvény a legegyszerűbb módja annak, hogy #N/A hiba nélkül nézzen utána az Excelben. Egyszerűen írja be a felhasználóbarát szöveget az opcionális 4. argumentumba, amelynek neve if_not_found .
Például:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "Nem")
Korlátozás: Csak az #N/A hibákat észleli, más típusokat figyelmen kívül hagy.
További információért tekintse meg az XLOOKUP funkciót az Excelben.
Mint látja, az Excel elég sok különböző lehetőséget biztosít a VLOOKUP hibák kijavítására. Remélhetőleg ez a bemutató rávilágított arra, hogyan lehet ezeket hatékonyan használni. Köszönöm, hogy elolvasták, és remélem, hogy jövő héten találkozunk a blogon!
Elérhető letöltések
ISERROR VLOOKUP példákkal (.xlsx fájl)