Excel IFERROR & VLOOKUP - trap #N/A i druge pogreške

  • Podijeli Ovo
Michael Brown

U ovom vodiču ćemo pogledati kako zajedno koristiti funkcije IFERROR i VLOOKUP za hvatanje i rukovanje različitim pogreškama. Osim toga, naučit ćete kako raditi sekvencijalne vlookupove u Excelu ugniježđujući više funkcija IFERROR jednu u drugu.

Excel VLOOKUP i IFERROR - ove dvije funkcije mogu biti prilično teške za razumjeti odvojeno, a kamoli kada su kombinirane. U ovom ćete članku pronaći nekoliko primjera koje je lako slijediti i koji se odnose na uobičajenu upotrebu i jasno ilustriraju logiku formula.

Ako nemate puno iskustva s funkcijama IFERROR i VLOOKUP, možda je dobra ideja je prvo revidirati njihove osnove slijedeći gornje veze.

    IFERROR VLOOKUP formula za obradu #N/A i drugih pogrešaka

    Kada Excel Vlookup ne pronađe vrijednost traženja, izbacuje pogrešku #N/A, ovako:

    Ovisno o vašim poslovnim potrebama, možda ćete htjeti prikriti pogrešku vlastitim tekstom, nula , ili praznu ćeliju.

    Primjer 1. IFERROR s VLOOKUP formulom za zamjenu pogrešaka vlastitim tekstom

    Ako želite zamijeniti standardnu ​​notaciju pogreške svojim prilagođenim tekstom, omotajte VLOOKUP formulu u IFERROR i upišite bilo koji tekst koji želite u 2. argument ( value_if_error ), na primjer "Nije pronađeno":

    IFERROR(VLOOKUP(),"Nije pronađeno")

    S vrijednošću traženja u B2 u glavnoj tablici i rasponom pretraživanja A2:B4 u traženjutablici, formula ima sljedeći oblik:

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

    Snimak zaslona u nastavku prikazuje našu Excel IFERROR VLOOKUP formulu na djelu:

    rezultat izgleda puno razumljivije i daleko manje zastrašujuće, zar ne?

    Na sličan način, možete koristiti INDEX MATCH zajedno s IFERROR:

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

    IFERROR Formula INDEX MATCH posebno je korisna kada želite povući vrijednosti iz stupca koji se nalazi lijevo od stupca pretraživanja (lijevo pretraživanje) i vratiti vlastiti tekst kada ništa nije pronađeno.

    Primjer 2. IFERROR s VLOOKUP za vraćanje prazno ili 0 ako ništa nije pronađeno

    Ako ne želite ništa prikazati kada tražena vrijednost nije pronađena, neka IFERROR prikaže prazan niz (""):

    IFERROR(VLOOKUP(),"")

    U našem primjeru formula je sljedeća:

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

    Kao što vidite, ne vraća ništa kada tražena vrijednost nije na popisu za pretraživanje.

    Ako želite zamijeniti pogrešku nultom vrijednošću , stavite 0 u posljednjem a rgument:

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

    Upozorenje! Excelova funkcija IFERROR hvata sve vrste pogrešaka, ne samo #N/A. Je li to dobro ili loše? Sve ovisi o vašem cilju. Ako želite maskirati sve moguće pogreške, IFERROR Vlookup je pravi put. Ali to može biti nerazborita tehnika u mnogim situacijama.

    Na primjer, ako ste stvorili imenovani raspon za svoje podatke u tablici i pogrešno napisali taj naziv uVlookup formula, IFERROR će uhvatiti #NAME? grešku i zamijenite je s "Nije pronađeno" ili bilo kojim drugim tekstom koji navedete. Kao rezultat toga, možda nikada nećete znati da vaša formula daje pogrešne rezultate osim ako sami ne uočite tipfeler. U takvom slučaju, razumniji bi pristup bio hvatanje samo #N/A pogrešaka. Za ovo koristite IFNA Vlookup formulu u programu Excel 2013 i novijim, IF ISNA VLOOKUP u svim verzijama programa Excel.

    Zaključak je: budite vrlo pažljivi pri odabiru pratioca za svoju VLOOKUP formulu :)

    Ugnijezdite IFERROR unutar VLOOKUP-a da biste uvijek nešto pronašli

    Zamislite sljedeću situaciju: tražite određenu vrijednost na popisu i ne pronađete je. Koje izbore imate? Dobijte pogrešku N/A ili pokažite vlastitu poruku. Zapravo, postoji i treća opcija - ako vaš primarni vlookup ne radi, onda potražite nešto drugo što je sigurno tamo!

    Idemo dalje s našim primjerom, stvorimo neku vrstu nadzorne ploče za naše korisnike koja će im pokazati proširenje broj određenog ureda. Nešto ovako:

    Dakle, kako izvući proširenje iz stupca B na temelju broja ureda u D2? S ovom uobičajenom Vlookup formulom:

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

    I to će dobro funkcionirati sve dok vaši korisnici unesu važeći broj u D2. Ali što ako korisnik unese neki broj koji ne postoji? U tom slučaju neka zovu središnjicu! Za ovo ugradite gornju formulu u value argument IFERROR i stavite još jedan Vlookup u value_if_error argument.

    Kompletna formula je malo dugačka, ali radi savršeno:

    =IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))

    Ako je broj ureda pronađen, korisnik dobiva odgovarajući interni broj:

    Ako broj ureda nije pronađen, lokal centrale prikazuje se:

    Kako biste formulu učinili malo kompaktnijom, možete upotrijebiti drugačiji pristup:

    Prvo provjerite postoji li broj u D2 u stupcu traženja (primijetite da smo postavili col_index_num na 1 za formulu za traženje i vraćanje vrijednosti iz stupca A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    Ako navedeni broj ureda nije pronađen, tada tražimo niz "centralni ured", koji se sigurno nalazi u listi za pretraživanje. Za ovo, omotate prvi VLOOKUP u IFERROR i ugniježdite ovu cijelu kombinaciju unutar druge VLOOKUP funkcije:

    =VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)

    Pa, malo drugačija formula, isti rezultat:

    Ali koji je razlog za traženje "središnji ured", možete me pitati. Zašto ne unesete dodatni broj izravno u IFERROR? Budući da se proširenje može promijeniti u nekom trenutku u budućnosti. Ako se to dogodi, morat ćete ažurirati svoje podatke samo jednom u izvornoj tablici, bez brige o ažuriranju svake od vaših VLOOKUP formula.

    Kako napraviti sekvencijalne VLOOKUP-ove u Excelu

    U situacijama kada trebašizvodite takozvane sekvencijalne ili lančane Vlookupove u Excelu ovisno o tome je li prethodno traženje uspjelo ili nije uspjelo, ugniježdite dvije ili više funkcija IFERROR za pokretanje vaših Vlookupova jedan po jedan:

    IFERROR(VLOOKUP(), IFERROR(VLOOKUP(), IFERROR(VLOOKUP(),"Nije pronađeno"))

    formula radi sa sljedećom logikom:

    Ako prvi VLOOKUP ne pronađe ništa, prvi IFERROR hvata pogrešku i pokreće drugi VLOOKUP. Ako drugi VLOOKUP ne uspije, drugi IFERROR hvata pogrešku i pokreće treći VLOOKUP, i tako dalje. Ako se svi Vlookupovi spotaknu, posljednji IFERROR vraća vašu poruku.

    Ova ugniježđena IFERROR formula posebno je korisna kada morate Vlookupirati preko više listova kao što je prikazano u primjeru ispod.

    Recimo, imate tri popisa homogenih podataka u tri različita radna lista (brojevi ureda u ovom primjeru) i želite dobiti proširenje za određeni broj.

    Pretpostavimo da je vrijednost pretraživanja u ćeliji A2 u trenutnom listu, a raspon traženja je A2:B5 u 3 različita radna lista (Sjever, Jug i Zapad), sljedeća formula radi poslastica:

    =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")))

    Dakle, naš "lančani Vlookups" formula pretražuje tri različita lista redoslijedom kojim smo ih ugniježdili u formulu i donosi prvo podudaranje koje pronađe:

    Ovako koristite IFERROR s VLOOKUP u Excel. Zahvaljujem vam na čitanju i nadam se da se vidimona našem blogu sljedeći tjedan!

    Dostupna preuzimanja

    Excel IFERROR VLOOKUP primjeri formule

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.