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

  • Podijeli Ovo
Michael Brown

U ovom vodiču ćemo gledati kako zajedno koristiti funkcije IFERROR i VLOOKUP da uhvatimo i obradimo različite greške. Osim toga, naučit ćete kako napraviti sekvencijalne vlookupe u Excelu tako što ćete ugniježditi više funkcija IFERROR jednu u drugu.

Excel VLOOKUP i IFERROR - ove dvije funkcije može biti prilično teško razumjeti odvojeno, a kamoli kada se kombinuju. U ovom članku ćete pronaći nekoliko jednostavnih primjera koji se bave uobičajenom upotrebom i jasno ilustriraju logiku formula.

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

    IFERROR VLOOKUP formula za rukovanje #N/A i drugim greškama

    Kada Excel Vlookup ne uspije pronaći vrijednost pretraživanja, daje grešku #N/A, poput ove:

    U zavisnosti od vaših poslovnih potreba, možda ćete htjeti prikriti grešku vlastitim tekstom, nula , ili prazna ćelija.

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

    Ako želite zamijeniti standardnu ​​notaciju greš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")

    Sa vrijednošću pretraživanja u B2 u glavnoj tabeli i rasponom pretraživanja A2:B4 u traženjutablica, formula poprima sljedeći oblik:

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

    Snimak ekrana ispod prikazuje našu Excel IFERROR VLOOKUP formulu u akciji:

    The rezultat izgleda mnogo razumljiviji i daleko manje zastrašujući, zar ne?

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

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

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

    Primjer 2. IFERROR sa VLOOKUP da vrati prazno ili 0 ako ništa nije pronađeno

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

    IFERROR(VLOOKUP(),"")

    U našem primjeru, formula ide kako slijedi:

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

    Kao što možete vidjeti, ne vraća ništa kada tražena vrijednost nije na listi za pretraživanje.

    Ako želite zamijeniti grešku sa nultom vrijednošću , stavite 0 u posljednjoj a rgument:

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

    Upozorenje! Excel funkcija IFERROR hvata sve vrste grešaka, ne samo #N/A. Da li je to dobro ili loše? Sve zavisi od vašeg cilja. Ako želite da maskirate sve moguće greške, IFERROR Vlookup je pravi način. Ali to može biti nerazumna tehnika u mnogim situacijama.

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

    Suština je: budite vrlo oprezni pri odabiru pratioca za vašu VLOOKUP formulu :)

    Ugnijezdite IFERROR unutar VLOOKUP-a da uvijek pronađete nešto

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

    Uzmimo dalje naš primjer, napravimo neku vrstu nadzorne ploče za naše korisnike koja će im pokazati ekstenziju broj određene kancelarije. Nešto poput ovoga:

    Pa, kako izvući ekstenziju iz kolone B na osnovu broja kancelarije u D2? Sa ovom uobičajenom formulom Vlookupa:

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

    I dobro će raditi sve dok vaši korisnici unesu ispravan broj u D2. Ali šta ako korisnik unese neki broj koji ne postoji? U ovom slučaju neka pozovu centralu! Da biste to učinili, ugradite gornju formulu u value argument IFERROR i stavite još jedan Vlookup u argument value_if_error .

    Kompletna formula je malo duga, 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 se pronađe broj kancelarije, korisnik dobija odgovarajući lokal:

    Ako se broj kancelarije ne pronađe, lokal centrale se prikazuje:

    Da biste formulu učinili malo kompaktnijom, možete koristiti drugačiji pristup:

    Prvo, provjerite da li je broj u D2 prisutan u koloni za traženje (molimo primijetite da smo postavili col_index_num na 1 da bi formula tražila i vratila vrijednost iz stupca A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

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

    =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 "centrala", možete me pitati. Zašto ne unesete broj lokala direktno u IFERROR? Zato što 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 vaše VLOOKUP formule.

    Kako napraviti sekvencijalne VLOOKUP-ove u Excelu

    U situacijama kada trebaš daizvodite takozvane sekvencijalne ili lančane Vlookupe u Excelu u zavisnosti od toga da li je prethodno traženje uspjelo ili neuspješno, ugniježdite dvije ili više funkcija IFERROR da biste pokrenuli svoje Vlookupe jednu po jednu:

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

    The formula radi sa sljedećom logikom:

    Ako prvi VLOOKUP ne pronađe ništa, prvi IFERROR hvata grešku i pokreće drugi VLOOKUP. Ako drugi VLOOKUP ne uspije, drugi IFERROR hvata grešku i pokreće treći VLOOKUP i tako dalje. Ako sve Vlookupe posrnu, posljednja IFERROR vraća vašu poruku.

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

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

    Pod pretpostavkom da je vrijednost pretraživanja u ćeliji A2 u trenutnom listu, a raspon pretraživanja je A2:B5 u 3 različita radna lista (sjever, jug i zapad), sljedeća formula radi kao 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 ugnijezdili u formulu i donosi prvo podudaranje koje pronađe:

    Ovako koristite IFERROR sa VLOOKUP u Excel. Zahvaljujem vam na čitanju i nadam se da ćemo se vidjetina našem blogu sljedeće sedmice!

    Dostupna preuzimanja

    Primjeri formule za Excel IFERROR VLOOKUP

    Michael Brown je posvećen tehnološki entuzijasta sa strašću za pojednostavljenje složenih procesa pomoću softverskih alata. Sa više od decenije iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google Sheets i Docs. Michaelov blog je posvećen dijeljenju svog znanja i stručnosti s drugima, pružajući jednostavne savjete i tutorijale za poboljšanje produktivnosti i efikasnosti. Bilo da ste iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.