Ynhâldsopjefte
Yn dizze tutorial sille wy sjen hoe't jo IFERROR- en VLOOKUP-funksjes tegearre kinne brûke om ferskate flaters te fangen en te behanneljen. Derneist sille jo leare hoe't jo opfolgjende vlookups yn Excel kinne dwaan troch meardere IFERROR-funksjes op 'e oare te nestelen.
Excel VLOOKUP en IFERROR - dizze twa funksjes kinne frij dreech apart te begripen wêze, lit stean as se kombineare binne. Yn dit artikel fine jo in pear maklik te folgjen foarbylden dy't algemien gebrûk oanpakke en de logika fan 'e formules dúdlik yllustrearje.
As jo net folle ûnderfining hawwe mei IFERROR- en VLOOKUP-funksjes, kin it wêze in goed idee om har basisfoarmen earst te feroarjen troch de boppesteande keppelings te folgjen.
IFERROR VLOOKUP-formule om #N/A en oare flaters te behanneljen
As Excel Vlookup net fynt in opsykwearde smyt it in #N/A-flater, sa as dizze:
Ofhinklik fan jo bedriuwsbehoeften, kinne jo de flater ferbergje mei jo eigen tekst, nul , of in lege sel.
Foarbyld 1. IFERROR mei VLOOKUP-formule om flaters te ferfangen troch jo eigen tekst
As jo de standert flaternotaasje ferfange wolle troch jo oanpaste tekst, ferpakke dan jo VLOOKUP-formule yn IFERROR, en typ elke tekst dy't jo wolle yn it 2e argumint ( value_if_error ), bygelyks "Net fûn":
IFERROR(VLOOKUP( ...),"Net fûn")Mei de opsykwearde yn B2 yn 'e haadtabel en it opsykberik A2:B4 yn' e Lookuptabel, nimt de formule de folgjende foarm oan:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "Not found")
De skermôfbylding hjirûnder lit ús Excel IFERROR VLOOKUP-formule yn aksje sjen:
De resultaat liket folle begrypliker en folle minder yntimidearjend, is it net?
Op in fergelykbere manier kinne jo INDEX MATCH brûke tegearre mei IFERROR:
=IFERROR(INDEX('Lookup table'!$B$2:$B$5,MATCH(B2,'Lookup table'!$A$2:$A$5,0)), "Not found")
The IFERROR INDEX MATCH formule is benammen nuttich as jo wearden helje wolle út in kolom dy't links fan 'e opsykkolom leit (links opsykje), en jo eigen tekst weromjaan as neat fûn wurdt.
Foarbyld 2. IFERROR mei VLOOKUP om leech of 0 werom te jaan as neat fûn wurdt
As jo neat sjen wolle as de opsykwearde net fûn is, lit IFERROR dan in lege tekenrige ("") sjen litte:
IFERROR(VLOOKUP( ...),"")Yn ús foarbyld giet de formule as folget:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), "")
Sa't jo sjen kinne, it jout neat as de opsykwearde net yn de syklist stiet.
As jo de flater ferfange wolle troch de nulwearde , set 0 yn lêste a rgument:
=IFERROR(VLOOKUP(B2,'Lookup table'!$A$2:$B$5, 2, FALSE), 0)
Wurd fan foarsichtigens! Excel IFERROR-funksje fangt alle soarten flaters op, net allinnich #N/A. Is it goed of min? Alles hinget ôf fan jo doel. As jo alle mooglike flaters maskerje wolle, is IFERROR Vlookup de manier om te gean. Mar it kin in ûnferstannich technyk wêze yn in protte situaasjes.
As jo bygelyks in neamd berik foar jo tabelgegevens hawwe makke en dy namme ferkeard stavere yn joVlookup-formule, IFERROR sil in #NAME? flater en ferfange it mei "Net fûn" of in oare tekst dy't jo leverje. As resultaat kinne jo noait witte dat jo formule ferkearde resultaten leveret, útsein as jo de typflater sels fine. Yn sa'n gefal soe in mear ridlike oanpak wêze om allinich #N/A flaters te fangen. Brûk hjirfoar IFNA Vlookup-formule yn Excel 2013 en heger, IF ISNA VLOOKUP yn alle Excel-ferzjes.
De ûnderste rigel is: wês tige foarsichtich by it kiezen fan in begelieder foar jo VLOOKUP-formule :)
Nest IFERROR binnen VLOOKUP om altyd wat te finen
Stel jo de folgjende situaasje foar: jo sykje in spesifike wearde op yn in list en fine it net. Hokker karren hawwe jo? Krij in N/A-flater of lit jo eigen berjocht sjen. Eins is d'r in tredde opsje - as jo primêre vlookup stroffelet, sykje dan nei wat oars dat der definityf is!
Nim ús foarbyld fierder, litte wy in soarte fan dashboard meitsje foar ús brûkers dy't har in útwreiding sjen litte sil nûmer fan in spesifyk kantoar. Sa'n ding as dit:
Dus, hoe lûke jo de útwreiding út kolom B basearre op it kantoarnûmer yn D2? Mei dizze reguliere Vlookup-formule:
=VLOOKUP($D$2,$A$2:$B$7,2,FALSE)
En it sil moai wurkje salang't jo brûkers in jildich nûmer yn D2 ynfiere. Mar wat as in brûker wat nûmer ynfiert dat net bestiet? Lit se yn dit gefal it sintrale kantoar belje! Hjirfoar ynfoegje jo de boppesteande formule yn 'e wearde argumint fan IFERROR, en set noch in Vlookup yn it value_if_error argumint.
De folsleine formule is wat lang, mar it wurket perfekt:
=IFERROR(VLOOKUP("office "&$D$2,$A$2:$B$7,2,FALSE),VLOOKUP("central office",$A$2:$B$7,2,FALSE))
As it kantoarnûmer fûn wurdt, krijt de brûker it korrespondearjende tafoegingsnûmer:
As it kantoarnûmer net fûn wurdt, sil de sintrale kantoarútwreiding wurdt werjûn:
Om de formule wat kompakter te meitsjen, kinne jo in oare oanpak brûke:
Kontrolearje earst oft it nûmer yn D2 oanwêzich is yn 'e opsykkolom (let op dat wy col_index_num ynstelle op 1 foar de formule om de wearde op te sykjen en werom te jaan fan kolom A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)
As it opjûne kantoarnûmer net fûn is, dan sykje wy nei de tekenrige "sintraal kantoar", dy't definityf yn 'e opsyklist stiet. Hjirfoar wikkelje jo de earste VLOOKUP yn IFERROR en nêst dizze hiele kombinaasje yn in oare VLOOKUP-funksje:
=VLOOKUP(IFERROR(VLOOKUP(D2,$A$2:$B$7,1,FALSE),"central office"),$A$2:$B$7,2)
No, in wat oare formule, itselde resultaat:
Mar wat is de reden om "sintraal kantoar" op te sykjen, kinne jo my freegje. Wêrom net leverje it tafoegingsnûmer direkt yn IFERROR? Om't de útwreiding op in stuit yn 'e takomst kin feroarje. As dit bart, moatte jo jo gegevens mar ien kear yn 'e boarnetabel bywurkje, sûnder soargen te meitsjen oer it bywurkjen fan elk fan jo VLOOKUP-formules.
Hoe kinne jo opfolgjende VLOOKUP's dwaan yn Excel
Yn situaasjes wannear jo moatteútfiere de saneamde sekwinsjele of keatling Vlookups yn Excel ôfhinklik fan oft in foarôfgeande opsykjen slagge of mislearre, nêst twa of mear IFERROR-funksjes om jo Vlookups ien foar ien út te fieren:
IFERROR(VLOOKUP( …), IFERROR(FLOOKUP( …), IFERROR(FLOOKUP( …),"Net fûn")))De formule wurket mei de folgjende logika:
As de earste VLOOKUP neat fynt, trapet de earste IFERROR in flater en rint in oare VLOOKUP. As de twadde VLOOKUP mislearret, falt de twadde IFERROR in flater en rint de tredde VLOOKUP, ensfh. As alle Vlookups stroffelje, jout de lêste IFERROR jo berjocht werom.
Dizze geneste IFERROR-formule is benammen nuttich as jo moatte Vlookup oer meardere blêden lykas werjûn yn it hjirûnder foarbyld.
Litte wy sizze, jo hawwe trije listen mei homogene gegevens yn trije ferskillende wurkblêden (kantoarnûmers yn dit foarbyld), en jo wolle in tafoeging krije foar in bepaald nûmer.
Oannimme dat de opsykwearde yn sel A2 is yn it hjoeddeistige blêd, en it opsykberik is A2:B5 yn 3 ferskillende wurkblêden (Noard, Súd en West), wurket de folgjende formule in traktaasje:
=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")))
Dus, ús "keatling Vlookups"-formule siket yn trije ferskillende blêden yn 'e folchoarder dy't wy se yn' e formule nestele, en bringt de earste wedstriid dy't it fynt:
Dit is hoe't jo IFERROR brûke mei VLOOKUP yn Excel. Ik tankje jo foar it lêzen en hoopje jo te sjenop ús blog nije wike!
Beskikbere downloads
Excel IFERROR VLOOKUP formulefoarbylden