Excel IFERROR & amp; VLOOKUP - past #N/A in druge napake

  • Deliti To
Michael Brown

V tem učbeniku si bomo ogledali, kako skupaj uporabiti funkciji IFERROR in VLOOKUP za lovljenje in obdelavo različnih napak. Poleg tega se boste naučili, kako v Excelu izvajati zaporedne preglede z vgnezditvijo več funkcij IFERROR ena na drugo.

Excel VLOOKUP in IFERROR - ti dve funkciji je morda precej težko razumeti ločeno, kaj šele, če sta združeni. V tem članku boste našli nekaj enostavnih primerov, ki obravnavajo pogoste uporabe in jasno ponazarjajo logiko formul.

Če nimate veliko izkušenj s funkcijama IFERROR in VLOOKUP, je morda dobro, da najprej poiščete njune osnove na zgornjih povezavah.

    Formula IFERROR VLOOKUP za obravnavo #N/A in drugih napak

    Ko Excelov Vlookup ne najde vrednosti iskanja, vrže napako #N/A, kot je ta:

    Glede na poslovne potrebe boste morda želeli napako prikriti z lastnim besedilom, ničlo ali prazno celico.

    Primer 1. IFERROR s formulo VLOOKUP za zamenjavo napak z lastnim besedilom

    Če želite standardni zapis napake nadomestiti z besedilom po meri, formulo VLOOKUP zavijte v IFERROR in v 2. argument vnesite poljubno besedilo ( value_if_error ), na primer "Ni najden":

    IFERROR (VLOOKUP( ... ), "Ni najden")

    Z vrednostjo iskanja v B2 v tabeli Main in območjem iskanja A2:B4 v tabeli Lookup ima formula naslednjo obliko:

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

    Spodnja slika prikazuje našo Excelovo formulo IFERROR VLOOKUP v akciji:

    Rezultat je videti veliko bolj razumljiv in manj zastrašujoč, kajne?

    Na podoben način lahko INDEX MATCH uporabite skupaj z IFERROR:

    =IFERROR(INDEX('Preglednica za iskanje'!$B$2:$B$5,MATCH(B2,'Preglednica za iskanje'!$A$2:$A$5,0)), "Ni najden")

    Formula IFERROR INDEX MATCH je še posebej uporabna, kadar želite pridobiti vrednosti iz stolpca, ki leži levo od stolpca iskanja (levo iskanje), in vrniti svoje besedilo, kadar ni ničesar najdenega.

    Primer 2. IFERROR z VLOOKUP za vrnitev praznega ali 0, če ni ničesar najdenega

    Če ne želite prikazati ničesar, ko iskalna vrednost ni najdena, naj IFERROR prikaže sporočilo prazen niz (""):

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

    V našem primeru je formula naslednja:

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

    Kot lahko vidite, ne vrne ničesar, če vrednosti iskanja ni na seznamu za iskanje.

    Če želite napako nadomestiti z ničelna vrednost , v zadnji argument vpišite 0:

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

    Pozor! Excelova funkcija IFERROR ujame vse vrste napak, ne le #N/A. Je dobra ali slaba? Vse je odvisno od vašega cilja. Če želite prikriti vse možne napake, je IFERROR Vlookup prava izbira. Vendar je to lahko v številnih primerih nespametna tehnika.

    Če ste na primer ustvarili poimenovano območje za podatke v tabeli in ste v formuli Vlookup napačno zapisali to ime, bo IFERROR ujel napako #NAME? in jo nadomestil z "Not found" ali katerim koli drugim besedilom, ki ga boste navedli. Zato morda nikoli ne boste vedeli, da vaša formula daje napačne rezultate, če sami ne opazite tiskarske napake. V takem primeru bi bil bolj razumen pristop, če bi ujeli samo napake #N/A.Za to uporabite formulo IFNA Vlookup v Excelu 2013 in novejših različicah, IF ISNA VLOOKUP pa v vseh različicah Excela.

    Zaključek je: bodite zelo previdni pri izbiri spremljevalca za formulo VLOOKUP :)

    Gnezdo IFERROR znotraj VLOOKUP, da vedno nekaj najdete

    Predstavljajte si naslednjo situacijo: na seznamu poiščete določeno vrednost in je ne najdete. Kakšne možnosti imate? Ali dobite napako N/A ali prikažete svoje sporočilo. Pravzaprav obstaja še tretja možnost - če se vaš primarni vlookup spotakne, poiščite nekaj drugega, kar je zagotovo tam!

    Če naš primer nadaljujemo, ustvarimo nekakšno nadzorno ploščo za naše uporabnike, ki jim bo prikazala interno številko določene pisarne. Nekaj takega:

    Kako torej iz stolpca B na podlagi številke pisarne v stolpcu D2 izvlečete podaljšek? S to običajno formulo Vlookup:

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

    To bo delovalo dobro, če bodo uporabniki vnesli veljavno številko v polje D2. Kaj pa če uporabnik vnese številko, ki ne obstaja? V tem primeru naj pokliče osrednjo pisarno! V ta namen vnesite zgornjo formulo v vrednost argument IFERROR in vnesite še en Vlookup v value_if_error argument.

    Celotna formula je nekoliko dolga, vendar deluje odlično:

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

    Če je številka urada najdena, uporabnik dobi ustrezno interno številko:

    Če številke pisarne ni mogoče najti, se prikaže interna številka centralne pisarne:

    Če želite formulo narediti nekoliko bolj kompaktno, lahko uporabite drugačen pristop:

    Najprej preverite, ali je številka v D2 prisotna v stolpcu iskanja (opazite, da smo nastavili col_index_num na 1, da formula poišče in vrne vrednost iz stolpca A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    Če navedene številke pisarne ne najdemo, poiščemo niz "centralna pisarna", ki je zagotovo na seznamu za iskanje. V ta namen prvo funkcijo VLOOKUP zavijemo v IFERROR in celotno kombinacijo ugnezdimo v drugo funkcijo VLOOKUP:

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

    Nekoliko drugačna formula, enak rezultat:

    Morda me boste vprašali, kakšen je razlog za iskanje "centralne pisarne". Zakaj ne bi vnesli interne številke neposredno v IFERROR? Ker se lahko interna številka v prihodnosti spremeni. Če se to zgodi, boste morali podatke v izvorni tabeli posodobiti samo enkrat, ne da bi morali skrbeti za posodobitev vsake od formul VLOOKUP.

    Kako narediti zaporedne VLOOKUP-e v Excelu

    V primerih, ko je treba izvesti t. i. zaporedni ali priklenjen na verigo Vlookupi v Excelu glede na to, ali je bil predhodni lookup uspešen ali ne, gnezdite dve ali več funkcij IFERROR, da zaporedoma zaženete svoje Vlookupe:

    IFERROR (VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Ni najden"))))

    Formula deluje po naslednji logiki:

    Če prvi VLOOKUP ne najde ničesar, prvi IFERROR ujame napako in izvede drugi VLOOKUP. Če drugi VLOOKUP ne uspe, drugi IFERROR ujame napako in izvede tretji VLOOKUP in tako naprej. Če se vsi VLOOKUPi spotaknejo, zadnji IFERROR vrne vaše sporočilo.

    Ta vgnezdena formula IFERROR je še posebej uporabna, kadar morate Vlookup prek več listov kot je prikazano v spodnjem primeru.

    Recimo, da imate tri sezname homogenih podatkov v treh različnih delovnih listih (v tem primeru številke pisarn) in želite pridobiti razširitev za določeno številko.

    Ob predpostavki, da je vrednost iskanja v celici A2 v trenutnem listu in da je območje iskanja A2:B5 v treh različnih delovnih listih (severnem, južnem in zahodnem), je naslednja formula odlična:

    =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), "Ni najden")))

    Tako naša formula "verižnega iskanja Vlookups" išče v treh različnih listih v vrstnem redu, kot smo jih vnesli v formulo, in prikaže prvo najdeno ujemanje:

    To je način uporabe IFERROR z VLOOKUP v Excelu. Zahvaljujem se vam za branje in upam, da se naslednji teden vidimo na našem blogu!

    Razpoložljivi prenosi

    Excel IFERROR Primeri formule VLOOKUP

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.