I den här handledningen kommer vi att titta på hur man använder IFERROR- och VLOOKUP-funktionerna tillsammans för att fånga och hantera olika fel. Dessutom kommer du att lära dig hur du gör sekventiella vlookups i Excel genom att nästla in flera IFERROR-funktioner på varandra.

Excel VLOOKUP och IFERROR – dessa två funktioner kan vara ganska svåra att förstå separat, än mindre när de kombineras. I den här artikeln hittar du några lättförståeliga exempel som tar upp vanliga användningsområden och tydligt illustrerar formlarnas logik.

Om du inte har så mycket erfarenhet av IFERROR- och VLOOKUP-funktionerna kan det vara en bra idé att först repetera deras grunder genom att följa länkarna ovan.

  • IFERROR med VLOOKUP för att hantera fel
    • VLOOKUP och returnera din egen text istället för N/A error
    • VLOOKUP och returnera tom cell eller noll om inget hittas
  • Nest IFERROR. inom VLOOKUP för att alltid hitta något
  • Sequential Vlookups with nested IFERRORs

IFERROR VLOOKUP-formel för att hantera #N/A och andra fel

När Excel Vlookup misslyckas med att hitta ett uppslagsvärde, så visas ett #N/A-fel, så här:

Avhängigt av dina affärsbehov kanske du vill dölja felet med egen text, noll eller en tom cell.

Exempel 1. Iferror Vlookup-formel för att ersätta alla fel med din egen text

Om du vill ersätta standardfelbeteckningen med din egen text, omsluter du din VLOOKUP-formel med IFERROR och skriver vilken text som helst i det andra argumentet (value_if_error), till exempel ”Not found”:

IFERROR(VLOOKUP(…), ”Not found”)

Med uppslagsvärdet i B2 i huvudtabellen och uppslagsintervallet A2:B4 i uppslagstabellen får formeln följande form:

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

Skärmdumpen nedan visar vår Excel-formel IFERROR VLOOKUP i praktiken:

Resultatet ser mycket mer begripligt och mycket mindre skrämmande ut, eller hur?

På ett liknande sätt kan du använda INDEX MATCH tillsammans med IFERROR:

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

Formeln IFERROR INDEX MATCH är särskilt användbar när du vill hämta värden från en kolumn som ligger till vänster om uppslagskolumnen (vänster uppslag) och återge en egen text när inget hittas.

Exempel 2. IFERROR med VLOOKUP för att returnera tomt eller 0 om inget hittas

Om du inte vill visa något när uppslagsvärdet inte hittas kan du låta IFERROR visa en tom sträng (””):

IFERROR(VLOOKUP(…),””)

I vårt exempel ser formeln ut på följande sätt:

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

Som du kan se returnerar den ingenting när uppslagsvärdet inte finns i söklistan.

Om du vill ersätta felet med ett nollvärde sätter du 0 i det sista argumentet:

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

Varning! Excel IFERROR-funktionen fångar upp alla typer av fel, inte bara #N/A. Är det bra eller dåligt? Allt beror på ditt mål. Om du vill maskera alla möjliga fel är IFERROR Vlookup rätt väg att gå. Men det kan vara en oklokt teknik i många situationer.

Om du till exempel har skapat ett namngivet intervall för dina tabelldata och stavat fel på det namnet i din Vlookup-formel kommer IFERROR att fånga upp ett #NAME? fel och ersätta det med ”Not found” eller någon annan text som du anger. Du kanske aldrig vet att formeln ger fel resultat om du inte själv upptäcker stavfelet. I ett sådant fall är det rimligare att endast fånga upp #N/A-fel. För detta använder du IFNA Vlookup-formeln i Excel för Office 365, Excel 209, Excel 2016 och Excel 2013, IF ISNA VLOOKUP i alla Excel-versioner.

Summan av kardemumman är: var mycket försiktig när du väljer en följeslagare för din VLOOKUP-formel 🙂

Nest IFERROR inom VLOOKUP för att alltid hitta något

Föreställ dig följande situation: du letar upp ett specifikt värde i en lista och hittar det inte. Vilka valmöjligheter har du? Antingen får du ett N/A-fel eller så visar du ditt eget meddelande. Det finns faktiskt ett tredje alternativ – om din primära vlookup inte fungerar, sök då efter något annat som definitivt finns där!

Om vi går vidare med vårt exempel kan vi skapa någon form av instrumentpanel för våra användare som visar dem ett anknytningsnummer för ett visst kontor. Något som liknar detta:

Så, hur tar man fram förlängningen från kolumn B baserat på kontorsnumret i D2? Med den här vanliga Vlookup-formeln:

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

Och det kommer att fungera bra så länge användarna anger ett giltigt nummer i D2. Men vad händer om en användare anger ett nummer som inte finns? Låt dem i så fall ringa till centralen! För detta bäddar du in ovanstående formel i argumentet value i IFERROR och lägger in en annan Vlookup i argumentet value_if_error.

Den fullständiga formeln är lite lång, men den fungerar perfekt:

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

Om kontorsnumret hittas får användaren motsvarande anknytningsnummer:

Om kontorsnumret inte hittas visas anknytningen till centralkontoret:

För att göra formeln lite mer kompakt kan du använda ett annat tillvägagångssätt:

Först kontrollerar du om numret i D2 finns i uppslagskolumnen (observera att vi har satt col_index_num till 1 för att formeln ska söka upp och återge värdet från kolumn A): VLOOKUP(D2,$A$2:$B$7,1,FALSE)

Om det angivna kontorsnumret inte hittas, söker vi efter strängen ”central office”, som definitivt finns i uppslagslistan. För detta sveper man in den första VLOOKUP-funktionen i IFERROR och bäddar in hela denna kombination i en annan VLOOKUP-funktion:

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

Ja, en lite annorlunda formel, samma resultat:

Men vad är anledningen till att man ska leta upp ”central office”, kanske du frågar mig. Varför inte ange anknytningsnumret direkt i IFERROR? För att förlängningen kan komma att ändras någon gång i framtiden. Om detta händer behöver du bara uppdatera dina data en gång i källtabellen, utan att behöva oroa dig för att uppdatera var och en av dina VLOOKUP-formler.

Hur man gör sekventiella VLOOKUPs i Excel

I situationer när du behöver utföra så kallade sekventiella eller kedjade Vlookups i Excel beroende på om en tidigare lookup lyckades eller misslyckades, bäddar du in två eller flera IFERROR-funktioner för att köra dina Vlookups en efter en:

IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), ”Not found”))))

Formeln fungerar enligt följande logik:

Om den första VLOOKUPen inte hittar något, fångar den första IFERRORen ett fel och kör en annan VLOOKUP. Om den andra VLOOKUPen misslyckas fångar den andra IFERROR upp ett fel och kör den tredje VLOOKUPen, och så vidare. Om alla Vlookups snubblar återger den sista IFERROR ditt meddelande.

Denna inbäddade IFERROR-formel är särskilt användbar när du måste göra en Vlookup över flera ark, vilket visas i nedanstående exempel.

Säg att du har tre listor med homogena data på tre olika kalkylblad (kontorsnummer i det här exemplet) och att du vill få fram en förlängning för ett visst nummer.

Antagen att uppslagsvärdet finns i cell A2 i det aktuella arket och att uppslagsintervallet är A2:B5 i tre olika arbetsblad (nord, syd och väst), fungerar följande formel utmärkt:

=IFERROR(VLOOKUP(A2,North!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,South!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,West!$A:$B,2,FALSE),"Not found")))

Så söker vår ”kedjade Vlookups”-formel i alla tre arken i den ordning som vi har bäddat in dem i formeln, och tar fram den första matchningen som hittas:

Detta är hur du använder IFERROR med VLOOKUP i Excel. Jag tackar för läsningen och hoppas att vi ses på vår blogg nästa vecka!

Tillgängliga nedladdningar

Excel IFERROR VLOOKUP formel exempel

Du kanske också är intresserad av

  • Excel IFERROR funktion med formel exempel
  • Användning av IF med VLOOKUP i Excel
  • Excel VLOOKUP handledning för nybörjare

.

Lämna ett svar

Din e-postadress kommer inte publiceras.