Excel IFERROR & amp; VLOOKUP - gildra #N/A og aðrar villur

  • Deildu Þessu
Michael Brown

Í þessari kennslu munum við skoða hvernig á að nota IFERROR og VLOOKUP aðgerðir saman til að fanga og meðhöndla mismunandi villur. Að auki ertu að fara að læra hvernig á að gera raðbundnar vlookups í Excel með því að hreiðra margar IFERROR aðgerðir inn á aðra.

Excel VLOOKUP og IFERROR - þessar tvær aðgerðir geta verið ansi erfitt að skilja sérstaklega, hvað þá þegar þær eru sameinaðar. Í þessari grein finnur þú nokkur dæmi sem auðvelt er að fylgja eftir sem fjalla um algenga notkun og sýna skýrt rökfræði formúlanna.

Ef þú hefur ekki mikla reynslu af IFERROR og VLOOKUP aðgerðum gæti það verið góð hugmynd að endurskoða grunnatriði þeirra fyrst með því að fylgja tenglum hér að ofan.

    IFERROR VLOOKUP formúla til að meðhöndla #N/A og aðrar villur

    Þegar Excel Vlookup finnur ekki uppflettingargildi gefur það #N/A villu, svona:

    Það fer eftir þörfum fyrirtækisins, þú gætir viljað dylja villuna með þínum eigin texta, núll , eða auðan reit.

    Dæmi 1. IFERROR með VLOOKUP formúlu til að skipta út villum fyrir þinn eigin texta

    Ef þú vilt skipta út venjulegu villumerki fyrir sérsniðna texta, VLOOKUP formúla í IFERROR, og sláðu inn hvaða texta sem þú vilt í 2. rifrildi ( gildi_ef_villa ), til dæmis "Ekki fannst":

    IFERROR(VLOOKUP( ...),"Ekki fannst")

    Með uppflettingargildinu í B2 í aðaltöflunni og uppflettisviðinu A2:B4 í leitinnitöflunni tekur formúlan eftirfarandi lögun:

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

    Skjámyndin hér að neðan sýnir Excel IFERROR VLOOKUP formúluna okkar í aðgerð:

    The Niðurstaðan lítur miklu skiljanlegri út og mun minna ógnvekjandi, er það ekki?

    Á svipaðan hátt geturðu notað INDEX MATCH ásamt IFERROR:

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

    The IFERROR INDEX MATCH formúla er sérstaklega gagnleg þegar þú vilt draga gildi úr dálki sem liggur vinstra megin við uppflettisdálkinn (vinstri uppflettingu), og skila þínum eigin texta þegar ekkert finnst.

    Dæmi 2. IFERROR með VLOOKUP til að skila auðu eða 0 ef ekkert finnst

    Ef þú vilt ekki sýna neitt þegar uppflettingargildið finnst ekki, láttu IFERROR sýna tóman streng (""):

    IFERROR(VLOOKUP(),"")

    Í dæminu okkar er formúlan svona:

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

    Eins og þú sérð, það skilar engu þegar uppflettingargildið er ekki á leitarlistanum.

    Ef þú vilt skipta villunni út fyrir núllgildið , settu þá inn 0 í síðasta a rgument:

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

    Varúðarorð! Excel IFERROR fall grípur alls kyns villur, ekki aðeins #N/A. Er það gott eða slæmt? Allt veltur á markmiði þínu. Ef þú vilt fela allar mögulegar villur er IFERROR Vlookup leiðin til að fara. En það getur verið óskynsamleg tækni í mörgum aðstæðum.

    Til dæmis, ef þú hefur búið til nafngreint svið fyrir töflugögnin þín og stafsett það nafn rangt íVlookup formúla, IFERROR mun ná #NAME? villu og skiptu henni út fyrir "Finn ekki" eða annan texta sem þú gefur upp. Afleiðingin er sú að þú veist kannski aldrei að formúlan þín skilar röngum niðurstöðum nema þú sérð sjálfur innsláttarvilluna. Í slíku tilviki væri sanngjarnari aðferð að fanga aðeins #N/A villur. Til þess skaltu nota IFNA Vlookup formúlu í Excel 2013 og nýrri, IF ISNA VLOOKUP í öllum Excel útgáfum.

    Niðurstaðan er: farðu mjög varlega þegar þú velur félaga fyrir VLOOKUP formúluna þína :)

    Hreiður IFERROR innan VLOOKUP til að finna alltaf eitthvað

    Ímyndaðu þér eftirfarandi aðstæður: þú flettir upp ákveðnu gildi í lista og finnur það ekki. Hvaða val hefur þú? Annað hvort færðu N/A villu eða sýndu þín eigin skilaboð. Reyndar er þriðji valkosturinn - ef aðal vlookup þín hrasar, leitaðu þá að einhverju öðru sem er örugglega til staðar!

    Tökum dæmi okkar lengra, búum til einhvers konar mælaborð fyrir notendur okkar sem mun sýna þeim viðbót númer tiltekinnar skrifstofu. Eitthvað eins og þetta:

    Svo, hvernig dregur þú framlenginguna úr dálki B miðað við skrifstofunúmerið í D2? Með þessari venjulegu Vlookup formúlu:

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

    Og það mun virka vel svo lengi sem notendur þínir slá inn gilt númer í D2. En hvað ef notandi setur inn einhverja tölu sem er ekki til? Í þessu tilfelli, láttu þá hringja í aðalskrifstofuna! Fyrir þetta fellir þú ofangreinda formúlu inn í gildi rök fyrir IFERROR, og settu aðra Vlookup í value_if_error röksemdafærsluna.

    Heildarformúlan er svolítið löng, en hún virkar fullkomlega:

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

    Ef skrifstofunúmerið finnst fær notandinn samsvarandi viðbyggingarnúmer:

    Ef skrifstofunúmerið finnst ekki, þá er aðalskrifstofuviðbót birtist:

    Til að gera formúluna aðeins þéttari geturðu notað aðra nálgun:

    Athugaðu fyrst hvort talan í D2 sé til staðar í uppflettisdálknum (vinsamlega takið eftir að við setjum col_index_num á 1 til að formúlan flettir upp og skili gildi úr dálki A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    Ef tilgreint skrifstofunúmer finnst ekki, þá leitum við að strengnum "central office", sem er örugglega í uppflettilistanum. Fyrir þetta pakkar þú fyrstu VLOOKUP inn í IFERROR og hreiður alla þessa samsetningu inn í aðra VLOOKUP aðgerð:

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

    Jæja, aðeins öðruvísi formúla, sama niðurstaða:

    En hver er ástæðan fyrir því að fletta upp "aðalskrifstofu", gætirðu spurt mig. Af hverju ekki að gefa upp viðbyggingarnúmerið beint í IFERROR? Vegna þess að framlengingin gæti breyst einhvern tíma í framtíðinni. Ef þetta gerist þarftu að uppfæra gögnin þín aðeins einu sinni í upprunatöflunni, án þess að hafa áhyggjur af því að uppfæra hverja VLOOKUP formúlu þína.

    Hvernig á að gera raðbundnar uppflettingar í Excel

    Í aðstæðum þegar þú þarft aðframkvæma svokallaða sequential eða chained Vlookups í Excel eftir því hvort fyrri uppfletting heppnaðist eða mistókst, hreiðra tvær eða fleiri IFERROR aðgerðir til að keyra Vlookups þínar eitt í einu:

    IFERROR(VLOOKUP(), IFERROR(VLOOKUP(), IFERROR(LÖFÚT(),"Finnst ekki")))

    The formúlan virkar með eftirfarandi rökfræði:

    Ef fyrsta VLOOKUP finnur ekki neitt, þá fangar fyrsta IFERROR villu og keyrir aðra VLOOKUP. Ef önnur VLOOKUP mistekst, þá nær annar IFERROR villu og keyrir þriðju VLOOKUP, og svo framvegis. Ef allar Vlookups hrasa, skilar síðasta IFERROR skilaboðunum þínum.

    Þessi hreiðra IFERROR formúla er sérstaklega gagnleg þegar þú þarft að Vlookup yfir mörg blöð eins og sýnt er í dæminu hér að neðan.

    Segjum að þú sért með þrjá lista yfir einsleit gögn í þremur mismunandi vinnublöðum (skrifstofunúmer í þessu dæmi) og þú vilt fá framlengingu fyrir ákveðna tölu.

    Gefum okkur að uppflettingargildið sé í reit A2 í núverandi blaði, og uppflettisviðið er A2:B5 í 3 mismunandi vinnublöðum (Norður, Suður og Vestur), virkar eftirfarandi formúla:

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

    Svo, okkar "keðja Vlookups" formúla leitar í þremur mismunandi blöðum í þeirri röð sem við hreiðum þau inn í formúluna og kemur með fyrstu samsvörun sem hún finnur:

    Svona notarðu IFERROR með VLOOKUP í Excel. Ég þakka þér fyrir að lesa og vona að sjá þigá blogginu okkar í næstu viku!

    Fáanlegt niðurhal

    Excel IFERROR VLOOKUP formúludæmi

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.