Excel IFERROR & VLOOKUP - ansa #N/A ja muut virheet

  • Jaa Tämä
Michael Brown

Tässä opetusohjelmassa tarkastelemme, miten IFERROR- ja VLOOKUP-funktioita voidaan käyttää yhdessä erilaisten virheiden pyydystämiseen ja käsittelyyn. Lisäksi opit, miten Excelissä voidaan tehdä peräkkäisiä vlookup-toimintoja yhdistämällä useita IFERROR-funktioita toisiinsa.

Excel VLOOKUP ja IFERROR - näitä kahta funktiota voi olla melko vaikea ymmärtää erikseen, saati sitten, kun ne yhdistetään. Tässä artikkelissa on muutama helposti seurattava esimerkki, joissa käsitellään yleisiä käyttötarkoituksia ja havainnollistetaan selkeästi kaavojen logiikkaa.

Jos sinulla ei ole paljon kokemusta IFERROR- ja VLOOKUP-funktioista, voi olla hyvä idea kerrata ensin niiden perusteet yllä olevien linkkien avulla.

    IFERROR VLOOKUP-kaava #N/A ja muiden virheiden käsittelyyn

    Kun Excel Vlookup ei löydä hakuarvoa, se antaa #N/A-virheen, kuten tämä:

    Yrityksesi tarpeista riippuen voit halutessasi häivyttää virheen omalla tekstilläsi, nollalla tai tyhjällä solulla.

    Esimerkki 1. IFERROR ja VLOOKUP-kaava virheiden korvaamiseksi omalla tekstilläsi.

    Jos haluat korvata vakiovirheiden merkintätavan omalla tekstilläsi, kiedo VLOOKUP-kaava IFERROR-kaavaan ja kirjoita haluamasi teksti toiseen argumenttiin ( value_if_error ), esimerkiksi "Ei löydy":

    IFERROR(VLOOKUP( ... ), "Ei löydy")

    Kun hakuarvo on päätaulukossa B2 ja hakualue A2:B4 hakutaulukossa, kaava on seuraavanlainen:

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

    Alla olevassa kuvakaappauksessa näkyy Excelin IFERROR VLOOKUP-kaava toiminnassa:

    Lopputulos näyttää paljon ymmärrettävämmältä ja vähemmän pelottavalta, eikö vain?

    Samalla tavalla voit käyttää INDEX MATCHia yhdessä IFERRORin kanssa:

    =IFERROR(INDEX('Hakutaulukko'!$B$2:$B$5,MATCH(B2,'Hakutaulukko'!$A$2:$A$5,0)), "Ei löydy")

    IFERROR INDEX MATCH -kaava on erityisen hyödyllinen, kun haluat hakea arvoja sarakkeesta, joka sijaitsee hakusarakkeen vasemmalla puolella (vasen haku), ja palauttaa oman tekstisi, kun mitään ei löydy.

    Esimerkki 2. IFERROR VLOOKUPin kanssa tyhjän tai 0:n palauttamiseksi, jos mitään ei löydy.

    Jos et halua näyttää mitään, kun hakuarvoa ei löydy, voit antaa IFERRORin näyttää ilmoituksen tyhjä merkkijono (""):

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

    Esimerkissämme kaava on seuraava:

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

    Kuten näet, se ei palauta mitään, kun hakuarvo ei ole hakuluettelossa.

    Jos haluat korvata virheen virheellä nolla-arvo , laita viimeiseen argumenttiin 0:

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

    Varoituksen sana! Excelin IFERROR-toiminto havaitsee kaikenlaisia virheitä, ei vain #N/A. Onko se hyvä vai huono? Kaikki riippuu tavoitteestasi. Jos haluat peittää kaikki mahdolliset virheet, IFERROR Vlookup on oikea tapa toimia. Mutta se voi olla epäviisas tekniikka monissa tilanteissa.

    Jos olet esimerkiksi luonut taulukkotietojasi varten nimetyn alueen ja kirjoitat nimen väärin Vlookup-kaavassa, IFERROR havaitsee #NAME? -virheen ja korvaa sen sanalla "Ei löytynyt" tai muulla antamallasi tekstillä. Tämän seurauksena et ehkä koskaan saa tietää, että kaava tuottaa vääriä tuloksia, ellet huomaa kirjoitusvirhettä itse. Tällaisessa tapauksessa järkevämpi lähestymistapa olisi vain #N/A-virheiden tallentaminen.Käytä tähän IFNA Vlookup -kaavaa Excel 2013:ssa ja uudemmissa Excel-versioissa, IF ISNA VLOOKUP -kaavaa kaikissa Excel-versioissa.

    Lopputulos on: ole hyvin varovainen valitessasi VLOOKUP-kaavasi kumppania :)

    Nest IFERROR sisällä VLOOKUP aina löytää jotain

    Kuvittele seuraava tilanne: etsit tiettyä arvoa luettelosta etkä löydä sitä. Mitä vaihtoehtoja sinulla on? Joko saat N/A-virheen tai näytät oman viestisi. Itse asiassa on olemassa kolmaskin vaihtoehto - jos ensisijainen vlookup-arvosi kompastuu, etsi jotain muuta, joka on varmasti olemassa!

    Kun jatkamme esimerkkiä, luodaan käyttäjillemme jonkinlainen kojelauta, joka näyttää heille tietyn toimiston numeron. Jotain tämän kaltaista:

    Miten siis vedät sarakkeesta B numeron D2:n toimistonumeron perusteella? Tällä tavallisella Vlookup-kaavalla:

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

    Ja se toimii hienosti niin kauan kuin käyttäjät syöttävät kelvollisen numeron D2:een. Mutta entä jos käyttäjä syöttää numeron, jota ei ole olemassa? Tässä tapauksessa anna heidän soittaa keskustoimistoon! Tätä varten upotat yllä olevan kaavan tiedostoon arvo argumentti IFERROR, ja laita toinen Vlookup vuonna value_if_error argumentti.

    Täydellinen kaava on hieman pitkä, mutta se toimii täydellisesti:

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

    Jos toimistonumero löytyy, käyttäjä saa vastaavan numeron:

    Jos toimiston numeroa ei löydy, näyttöön tulee keskustoimiston numeronumero:

    Jos haluat tehdä kaavasta hieman tiiviimmän, voit käyttää erilaista lähestymistapaa:

    Tarkista ensin, onko D2:ssa oleva numero olemassa hakusarakkeessa (huomaa, että asetimme arvoksi col_index_num arvoksi 1, jotta kaava etsii ja palauttaa arvon sarakkeesta A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

    Jos määritettyä toimistonumeroa ei löydy, etsitään merkkijonoa "keskustoimisto", joka on varmasti hakuluettelossa. Tätä varten kiedotaan ensimmäinen VLOOKUP IFERRORiin ja sijoitetaan koko yhdistelmä toisen VLOOKUP-funktion sisään:

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

    No, hieman erilainen kaava, sama tulos:

    Mutta mikä on syy etsiä "keskustoimisto", saatat kysyä minulta. Miksi et anna numeroa suoraan IFERRORissa? Koska numero voi muuttua jossain vaiheessa tulevaisuudessa. Jos näin tapahtuu, sinun on päivitettävä tiedot vain kerran lähdetaulukkoon, eikä sinun tarvitse huolehtia jokaisen VLOOKUP-kaavan päivittämisestä.

    Miten tehdä peräkkäisiä VLOOKUPeja Excelissä?

    Tilanteissa, joissa sinun on suoritettava ns. peräkkäiset tai chained Vlookups Excelissä riippuen siitä, onnistuiko tai epäonnistui aiempi haku, pesä kaksi tai useampia IFERROR-funktioita Vlookupien suorittamiseksi yksi kerrallaan:

    IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), IFERROR(VLOOKUP( ... ), "Ei löydy"))))

    Kaava toimii seuraavalla logiikalla:

    Jos ensimmäinen VLOOKUP ei löydä mitään, ensimmäinen IFERROR antaa virheilmoituksen ja suorittaa toisen VLOOKUP:n. Jos toinen VLOOKUP epäonnistuu, toinen IFERROR antaa virheilmoituksen ja suorittaa kolmannen VLOOKUP:n jne. Jos kaikki VLOOKUP:t epäonnistuvat, viimeinen IFERROR palauttaa viestisi.

    Tämä sisäkkäinen IFERROR-kaava on erityisen hyödyllinen silloin, kun sinun on tehtävä Vlookup poikki useita arkkeja kuten alla olevassa esimerkissä näkyy.

    Oletetaan, että sinulla on kolme luetteloa homogeenisista tiedoista kolmella eri työarkilla (tässä esimerkissä toimistonumerot), ja haluat saada tietyn numeron laajennuksen.

    Jos oletetaan, että hakuarvo on nykyisen arkin solussa A2 ja hakualue on A2:B5 kolmessa eri työarkissa (pohjoisessa, etelässä ja lännessä), seuraava kaava toimii hyvin:

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

    "Ketjutettu Vlookups"-kaavamme hakee kolmea eri arkkia siinä järjestyksessä, jossa olemme sijoittaneet ne kaavaan, ja tuo ensimmäisen löytämänsä osuman:

    Näin käytät IFERRORia VLOOKUPin kanssa Excelissä. Kiitän sinua lukemisesta ja toivottavasti tapaamme blogissamme ensi viikolla!

    Saatavilla olevat lataukset

    Excel IFERROR VLOOKUP-kaavan esimerkkejä

    Michael Brown on omistautunut teknologian harrastaja, jolla on intohimo yksinkertaistaa monimutkaisia ​​prosesseja ohjelmistotyökalujen avulla. Yli vuosikymmenen kokemuksella teknologia-alalta hän on hionut taitojaan Microsoft Excelissä ja Outlookissa sekä Google Sheetsissä ja Docsissa. Michaelin blogi on omistettu jakamaan tietojaan ja asiantuntemustaan ​​muiden kanssa, ja se tarjoaa helposti seurattavia vinkkejä ja opetusohjelmia tuottavuuden ja tehokkuuden parantamiseksi. Olitpa kokenut ammattilainen tai aloittelija, Michaelin blogi tarjoaa arvokkaita oivalluksia ja käytännön neuvoja, joiden avulla saat kaiken irti näistä tärkeistä ohjelmistotyökaluista.