Excel IFERROR & VLOOKUP - csapda #N / A és egyéb hibák

  • Ossza Meg Ezt
Michael Brown

Ebben a bemutatóban azt fogjuk megvizsgálni, hogyan lehet az IFERROR és a VLOOKUP függvényeket együtt használni a különböző hibák csapdázására és kezelésére. Ezen kívül megtanulja, hogyan végezhet egymás utáni vlookupokat az Excelben több IFERROR függvény egymásba ágyazásával.

Excel VLOOKUP és IFERROR - ezt a két függvényt elég nehéz lehet külön-külön is megérteni, nemhogy akkor, amikor kombinálják őket. Ebben a cikkben talál néhány könnyen követhető példát, amelyek a gyakori felhasználási módokra vonatkoznak, és világosan szemléltetik a képletek logikáját.

Ha nincs sok tapasztalata az IFERROR és a VLOOKUP függvényekkel, akkor érdemes először az alapokat átismerni a fenti linkek segítségével.

    IFERROR VLOOKUP formula az #N/A és egyéb hibák kezelésére

    Ha az Excel Vlookup nem talál keresési értéket, akkor egy #N/A hibát dob, például a következőt:

    Üzleti igényeitől függően a hibát saját szöveggel, nullával vagy üres cellával álcázhatja.

    Példa 1. IFERROR VLOOKUP formulával a hibák saját szöveggel való helyettesítésére

    Ha a szabványos hiba jelölést az egyéni szöveggel szeretné helyettesíteni, akkor a VLOOKUP képletet tekerje IFERROR-ba, és írjon be bármilyen szöveget a 2. argumentumba ( value_if_error ), például "Nem található":

    IFERROR(VLOOKUP( ... ), "Nem található")

    Ha a keresési értéket a Fő táblázatban B2-ben, a keresési tartományt pedig a Keresési táblázatban A2:B4-ben adjuk meg, a képlet a következő alakot veszi fel:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")

    Az alábbi képernyőkép az Excel IFERROR VLOOKUP képletét mutatja be működés közben:

    Az eredmény sokkal érthetőbbnek és kevésbé ijesztőnek tűnik, nem igaz?

    Hasonló módon használhatja az INDEX MATCH-t az IFERROR-ral együtt:

    =IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")

    Az IFERROR INDEX MATCH formula különösen akkor hasznos, ha a keresési oszloptól balra lévő oszlopból szeretne értékeket kinyerni (bal oldali keresés), és a saját szövegét adja vissza, ha nem talál semmit.

    Példa 2. IFERROR VLOOKUP-pal, hogy üres vagy 0-t adjon vissza, ha nem talált semmit

    Ha nem akarsz semmit sem mutatni, ha a keresési értéket nem találod, akkor az IFERROR jelenítsen meg egy üres karakterlánc (""):

    IFERROR(VLOOKUP( ... ),"")

    Példánkban a képlet a következőképpen néz ki:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")

    Amint láthatja, semmit sem ad vissza, ha a keresési érték nem szerepel a keresési listában.

    Ha a hibát a következővel szeretné helyettesíteni nulla érték , az utolsó argumentumba 0-t írjon:

    =IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)

    Vigyázat! Az Excel IFERROR függvénye mindenféle hibát elkap, nem csak az #N/A-t. Jó vagy rossz? Minden a céltól függ. Ha minden lehetséges hibát el akar fedni, akkor az IFERROR Vlookup a megfelelő megoldás. De sok helyzetben nem biztos, hogy ez egy bölcs technika.

    Például, ha létrehoztál egy névvel ellátott tartományt a táblázatod adataihoz, és a Vlookup képletedben elírtad a nevet, az IFERROR elkapja a #NAME? hibát, és a "Nem találtuk" vagy bármely más, általad megadott szöveggel helyettesíti azt. Ennek eredményeként soha nem tudhatod meg, hogy a képleted rossz eredményt ad, hacsak nem veszed észre a helyesírási hibát. Ilyen esetben ésszerűbb lenne csak a #N/A hibákat elkapni.Ehhez használja az IFNA Vlookup képletet az Excel 2013 és újabb verziókban, az IF ISNA VLOOKUP-ot minden Excel-verzióban.

    A lényeg: legyél nagyon óvatos, amikor a VLOOKUP képletedhez társat választasz :)

    Fészek IFERROR a VLOOKUP-on belül, hogy mindig találjon valamit

    Képzelje el a következő helyzetet: keres egy adott értéket egy listában, és nem találja. Milyen lehetőségei vannak? Vagy kap egy N/A hibát, vagy megjeleníti a saját üzenetét. Valójában van egy harmadik lehetőség is - ha az elsődleges vlookup botladozik, akkor keressen valami mást, ami biztosan ott van!

    Ha továbbvisszük a példánkat, hozzunk létre valamilyen műszerfalat a felhasználóink számára, amely megmutatja nekik egy adott iroda mellékszámát. Valami ilyesmi:

    Tehát, hogyan húzza ki a melléket a B oszlopból a D2-ben lévő irodaszám alapján? Ezzel a szokásos Vlookup formulával:

    =VLOOKUP($D$2,$A$2:$B$7,2,FALSE)

    És ez szépen fog működni, amíg a felhasználók érvényes számot adnak meg a D2-ben. De mi van akkor, ha egy felhasználó olyan számot ad meg, ami nem létezik? Ebben az esetben hagyjuk, hogy felhívják a központi irodát! Ehhez a fenti képletet ágyazzuk be a(z) érték érvét IFERROR, és tegyen egy másik Vlookup-ot a value_if_error érv.

    A teljes formula egy kicsit hosszú, de tökéletesen működik:

    =IFERROR(VLOOKUP("iroda"&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("központi iroda",$A$2:$B$7,2,FALSE)))

    Ha az irodai szám megvan, a felhasználó megkapja a megfelelő mellékszámot:

    Ha az irodai szám nem található, a központi iroda mellékszáma jelenik meg:

    Ahhoz, hogy a képletet egy kicsit tömörebbé tegye, más megközelítést is alkalmazhat:

    Először is ellenőrizzük, hogy a D2-ben szereplő szám szerepel-e a kereső oszlopban (kérjük, vegye figyelembe, hogy a col_index_num 1-re, hogy a képlet megnézze és visszaadja az A oszlop értékét): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    Ha a megadott irodaszámot nem találjuk, akkor a "központi iroda" karakterláncot keressük, amely biztosan szerepel a keresési listában. Ehhez az első VLOOKUP-ot IFERROR-ral csomagoljuk be, és ezt az egész kombinációt egy másik VLOOKUP függvénybe fészkeljük:

    =VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE), "központi iroda"),$A$2:$B$7,2)

    Nos, egy kicsit más képlet, ugyanaz az eredmény:

    De mi az oka annak, hogy a "központi irodát" keressük, kérdezheted. Miért nem adjuk meg a mellékszámot közvetlenül az IFERROR-ban? Mert a mellékszám a jövőben valamikor megváltozhat. Ha ez megtörténik, akkor csak egyszer kell frissítened az adatokat a forrás táblában, anélkül, hogy minden egyes VLOOKUP képlet frissítésével kellene foglalkoznod.

    Hogyan készítsünk szekvenciális VLOOKUP-okat az Excelben?

    Azokban a helyzetekben, amikor az ún. szekvenciális vagy láncolt Vlookups az Excelben attól függően, hogy egy korábbi keresés sikeres vagy sikertelen volt-e, két vagy több IFERROR függvényt fészkeljen be a Vlookups egyesével történő futtatásához:

    IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Nem található"))))

    A képlet a következő logika szerint működik:

    Ha az első VLOOKUP nem talál semmit, az első IFERROR hibát jelez, és újabb VLOOKUP-ot futtat. Ha a második VLOOKUP nem sikerül, a második IFERROR hibát jelez, és lefuttatja a harmadik VLOOKUP-ot, és így tovább. Ha az összes VLOOKUP megbicsaklik, az utolsó IFERROR visszaadja az üzenetét.

    Ez a beágyazott IFERROR formula különösen akkor hasznos, ha Vlookup-ot kell végeznie az alábbi területeken. több lap ahogy az alábbi példában látható.

    Tegyük fel, hogy három homogén adatlistával rendelkezik három különböző munkalapon (ebben a példában irodai számok), és egy bizonyos számhoz szeretne egy kiterjesztést kapni.

    Feltételezve, hogy a keresési érték az aktuális lap A2 cellájában van, és a keresési tartomány A2:B5 3 különböző munkalapon (északi, déli és nyugati), a következő képlet remekül működik:

    =IFERROR(VLOOKUP(A2,North!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,South!$A$2:$B$5,2,FALSE), IFERROR(VLOOKUP(A2,West!$A$2:$B$5,2,FALSE), "Not found"))))

    Tehát a "láncolt Vlookups" képletünk három különböző lapon keres a képletbe ágyazott sorrendben, és az első találatot hozza:

    Így használja az IFERROR-t a VLOOKUP-pal az Excelben. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!

    Elérhető letöltések

    Excel IFERROR VLOOKUP képlet példák

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.