Excel IFERROR & amp; VLOOKUP - lokval #N/A en ander foute

  • Deel Dit
Michael Brown

In hierdie tutoriaal gaan ons kyk hoe om IFERROR- en VLOOKUP-funksies saam te gebruik om verskillende foute vas te vang en te hanteer. Daarbenewens gaan jy leer hoe om opeenvolgende vlookups in Excel te doen deur verskeie IFERROR-funksies op mekaar te nes.

Excel VLOOKUP en IFERROR - hierdie twee funksies kan redelik moeilik wees om afsonderlik te verstaan, wat nog te sê wanneer hulle gekombineer word. In hierdie artikel sal jy 'n paar maklik-om-te-volg voorbeelde vind wat algemene gebruike aanspreek en die formules se logika duidelik illustreer.

As jy nie veel ondervinding het met IFERROR- en VLOOKUP-funksies nie, kan dit dalk wees 'n goeie idee om eers hul basiese beginsels te hersien deur die bogenoemde skakels te volg.

    IFERROR VLOOKUP formule om #N/A en ander foute te hanteer

    Wanneer Excel Vlookup nie vind nie 'n opsoekwaarde, gooi dit 'n #N/A-fout, soos hierdie:

    Afhangende van jou besigheidsbehoeftes, wil jy dalk die fout verdoesel met jou eie teks, nul , of 'n leë sel.

    Voorbeeld 1. IFERROR met VLOOKUP-formule om foute met jou eie teks te vervang

    As jy die standaardfoutnotasie met jou gepasmaakte teks wil vervang, draai jou VLOOKUP formule in IFERROR, en tik enige teks wat jy wil hê in die 2de argument ( waarde_if_fout ), byvoorbeeld "Nie gevind nie":

    IFERROR(VLOOKUP( ...),"Nie gevind")

    Met die opsoekwaarde in B2 in die Hooftabel en die opsoekreeks A2:B4 in die Opsoektabel neem die formule die volgende vorm aan:

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

    Die skermkiekie hieronder wys ons Excel IFERROR VLOOKUP-formule in aksie:

    Die resultaat lyk baie meer verstaanbaar en baie minder intimiderend, is dit nie?

    Op 'n soortgelyke manier kan jy INDEX MATCH saam met IFERROR gebruik:

    =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 veral nuttig wanneer jy waardes wil trek uit 'n kolom wat aan die linkerkant van die opsoekkolom lê (linker opsoek), en jou eie teks wil terugstuur wanneer niks gevind word nie.

    Voorbeeld 2. IFERROR met VLOOKUP om leeg of 0 terug te gee as niks gevind word nie

    As jy niks wil wys wanneer die opsoekwaarde nie gevind word nie, laat IFERROR 'n leë string ("") vertoon:

    IFERROR(VLOOKUP(),"")

    In ons voorbeeld gaan die formule soos volg:

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

    Soos jy kan sien, dit gee niks terug wanneer die opsoekwaarde nie in die soeklys is nie.

    As jy die fout met die nulwaarde wil vervang, plaas 0 in die laaste a rgument:

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

    Woord van waarskuwing! Excel IFERROR-funksie vang allerhande foute op, nie net #Nvt nie. Is dit goed of sleg? Alles hang af van jou doelwit. As jy alle moontlike foute wil masker, is IFERROR Vlookup die pad om te gaan. Maar dit kan in baie situasies 'n onverstandige tegniek wees.

    As jy byvoorbeeld 'n benoemde reeks vir jou tabeldata geskep het en daardie naam verkeerd gespel het in jouVlookup formule, IFERROR sal 'n #NAAM vang? fout en vervang dit met "Nie gevind nie" of enige ander teks wat jy verskaf. As gevolg hiervan, sal jy dalk nooit weet dat jou formule verkeerde resultate lewer nie, tensy jy self die tikfout raaksien. In so 'n geval sal 'n meer redelike benadering wees om slegs #N/A-foute vas te vang. Gebruik hiervoor IFNA Vlookup-formule in Excel 2013 en hoër, IF ISNA VLOOKUP in alle Excel-weergawes.

    Die kern van die saak is: wees baie versigtig wanneer jy 'n metgesel vir jou VLOOKUP-formule kies :)

    Neste IFERROR binne VLOOKUP om altyd iets te vind

    Stel jou die volgende situasie voor: jy soek 'n spesifieke waarde in 'n lys op en kry dit nie. Watter keuses het jy? Kry óf 'n NVT-fout óf wys jou eie boodskap. Eintlik is daar 'n derde opsie - as jou primêre vlookup struikel, soek dan vir iets anders wat beslis daar is!

    Om ons voorbeeld verder te neem, kom ons skep 'n soort dashboard vir ons gebruikers wat vir hulle 'n uitbreiding sal wys nommer van 'n spesifieke kantoor. Iets soos hierdie:

    So, hoe trek jy die uitbreiding uit kolom B op grond van die kantoornommer in D2? Met hierdie gewone Vlookup-formule:

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

    En dit sal goed werk solank jou gebruikers 'n geldige nommer in D2 invoer. Maar wat as 'n gebruiker een of ander nommer invoer wat nie bestaan ​​nie? In hierdie geval, laat hulle die sentrale kantoor bel! Hiervoor insluit jy die bogenoemde formule in die waarde -argument van IFERROR, en plaas nog 'n Vlookup in die waarde_if_fout -argument.

    Die volledige formule is 'n bietjie lank, maar dit werk perfek:

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

    As die kantoornommer gevind word, kry die gebruiker die ooreenstemmende uitbreidingsnommer:

    As die kantoornommer nie gevind word nie, die sentrale kantooruitbreiding word vertoon:

    Om die formule 'n bietjie meer kompak te maak, kan jy 'n ander benadering gebruik:

    Kyk eers of die getal in D2 teenwoordig is in die opsoekkolom (let asseblief daarop dat ons kol_indeks_num op 1 gestel het vir die formule om op te soek en waarde van kolom A terug te gee): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    As die gespesifiseerde kantoornommer nie gevind word nie, dan soek ons ​​na die string "sentrale kantoor", wat beslis in die opsoeklys is. Hiervoor draai jy die eerste VLOOKUP in IFERROR en nes hierdie hele kombinasie binne 'n ander VLOOKUP-funksie:

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

    Wel, 'n effens ander formule, dieselfde resultaat:

    Maar wat is die rede om "sentrale kantoor" op te soek, mag jy my vra. Waarom nie die uitbreidingsnommer direk in IFERROR verskaf nie? Omdat die uitbreiding een of ander tyd in die toekoms kan verander. As dit gebeur, sal jy jou data net een keer in die brontabel moet opdateer, sonder om bekommerd te wees oor die opdatering van elkeen van jou VLOOKUP-formules.

    Hoe om opeenvolgende VLOOKUP's in Excel te doen

    In situasies wanneer jy moetvoer die sogenaamde sekwensiële of geketting Vlookups in Excel uit, afhangende van of 'n vorige soektog geslaag of misluk het, nes twee of meer IFERROR-funksies om jou Vlookups een vir een uit te voer:

    IFERROR(VLOOKUP(), IFERROR(VLOOKUP(), IFERROR(VLOOKUP(),"Nie gevind nie")))

    Die formule werk met die volgende logika:

    As die eerste VLOOKUP niks vind nie, vang die eerste IFERROR 'n fout vas en laat 'n ander VLOOKUP loop. As die tweede VLOOKUP misluk, vang die tweede IFERROR 'n fout op en laat die derde VLOOKUP loop, ensovoorts. As alle Vlookups struikel, gee die laaste IFERROR jou boodskap terug.

    Hierdie geneste IFERROR-formule is veral nuttig wanneer jy oor veelvuldige velle moet Vlookup soos in die onderstaande voorbeeld.

    Kom ons sê, jy het drie lyste van homogene data in drie verskillende werkblaaie (kantoornommers in hierdie voorbeeld), en jy wil 'n uitbreiding vir 'n sekere getal kry.

    Gestel die opsoekwaarde is in sel A2 in die huidige blad, en die opsoekreeks is A2:B5 in 3 verskillende werkkaarte (Noord, Suid en Wes), werk die volgende formule 'n lekkerte:

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

    So, ons "geketting" Vlookups"-formule soek in drie verskillende velle in die volgorde waarin ons hulle in die formule geneste het, en bring die eerste passing wat dit vind:

    Dit is hoe jy IFERROR met VLOOKUP in gebruik Excel. Ek dank u dat u gelees het en hoop om u te sienvolgende week op ons blog!

    Beskikbare aflaaie

    Excel IFERROR VLOOKUP formule voorbeelde

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.