Sadržaj
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