Innehållsförteckning
Du får många #N/A-fel i dina kalkylblad och undrar om det finns ett sätt att visa en anpassad text i stället? IFNA-formeln är lösningen du behöver.
När en Excel-formel inte kan identifiera eller hitta något, kastar den felet #N/A. För att fånga upp ett sådant fel och ersätta det med ett användarvänligt meddelande kan du använda IFNA-funktionen. Med andra ord är #N/A Excels sätt att säga att det värde som du letar efter inte finns i den refererade datamängden. IFNA är ditt sätt att fånga upp och hantera det felet.
IFNA-funktionen i Excel
Excel-funktionen IFNA är avsedd för att fånga upp och hantera #N/A-fel. Om en formel utvärderar #N/A fångar IFNA felet och ersätter det med ett anpassat värde som du anger, annars returneras ett normalt resultat av formeln.
IFNA syntax
Syntaxen för IFNA-funktionen är följande:
IFNA(värde, value_if_na)Var:
Värde (obligatoriskt) - formeln, värdet eller referensen som ska kontrolleras för ett #N/A-fel.
Värde_if_na (krävs) - det värde som ska returneras om ett #N/A-fel upptäcks.
Användningsanvisningar
- IFNA-funktionen hanterar endast #N/A utan att undertrycka andra fel.
- Om den värde är ett argument som är en formel för matris , IFNA returnerar en matris med resultat, ett per cell, vilket visas i detta exempel.
IFNA:s tillgänglighet
IFNA-funktionen introducerades i Excel 2013 och finns i alla efterföljande versioner, inklusive Excel 2016, Excel 2019, Excel 2021 och Microsoft 365.
I tidigare versioner kan du fånga upp #N/A-fel genom att använda funktionerna IF och ISNA tillsammans.
Hur man använder IFNA-funktionen i Excel
För att använda IFNA i Excel på ett effektivt sätt följer du det här generiska tillvägagångssättet:
- I det första argumentet ( värde ), lägga in en formel som påverkas av felet #N/A.
- I det andra argumentet ( value_if_na ), skriver du den text du vill returnera i stället för standardfelnotationen. Om du vill returnera en tom cell när inget hittas, anger du en tom sträng ('"").
För att återvända anpassad text , den generiska formeln är:
IFNA( formel (), " anpassad text ")För att returnera en tom cell , den generiska formeln är:
IFNA( formel (), "")Låt oss se hur det fungerar med ett enkelt exempel. Antag att du vill veta hur en viss elevs poäng rankas bland andra i tabellen nedan. Eftersom uppgifterna är sorterade efter Resultat kolumnen från högst till lägst, kommer rangordningen att motsvara elevens relativa position i tabellen. För att få fram positionen kan du använda funktionen MATCH i sin enklaste form:
=MATCH(E1, A2:A10, 0)
Eftersom uppslagsvärdet (Neal) inte finns tillgängligt i uppslagsmatrisen (A2:A10) uppstår ett #N/A-fel.
Om du stöter på det här felet kan oerfarna användare tro att det är något fel på formeln, och du som skapare av arbetsboken kommer att få många frågor. För att undvika detta kan du uttryckligen ange att formeln är korrekt, den kan bara inte hitta det värde som den ombeds att leta efter. Så du lägger in MATCH-formeln i det första argumentet i IFNA och i det andra argumentet skriver du din anpassadetext, "Not found" i vårt fall:
=IFNA(MATCH(E1, A2:A10, 0), "Ej funnen")
Nu visas din egen text i en cell i stället för standardfelnoteringen och informerar användaren om att uppslagsvärdet inte finns i datamängden:
Hur man använder IFNA med VLOOKUP
Oftast uppstår #N/A-felet i funktioner som letar efter något, t.ex. VLOOKUP, HLOOKUP, LOOKUP och MATCH. Nedanstående exempel visar några typiska användningsfall.
Exempel 1. Grundläggande formel för IFNA VLOOKUP
Om du vill fånga upp #N/A-fel som uppstår när VLOOKUP inte kan hitta en matchning, kan du kontrollera resultatet med IFNA och ange det värde som ska visas i stället för felet. Det vanliga är att du lindar IFNA-funktionen runt din befintliga VLOOKUP-formel med hjälp av den här syntaxen:
IFNA(VLOOKUP(), " din text ")Antag att du i vår exempeltabell vill hämta ett resultat för en viss elev (E1). För detta använder du den klassiska VLOOKUP-formeln:
=VLOOKUP(E1, A2:B10, 2, FALSE)
Problemet är att Neal inte tog provet, därför finns hans namn inte med i listan, och VLOOKUP hittar uppenbarligen ingen matchning.
För att dölja felet lindar vi in VLOOKUP i IFNA på följande sätt:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Gjorde inte provet")
Nu ser resultatet inte lika skrämmande ut för användaren och är mycket mer informativt:
Exempel 2. IFNA VLOOKUP för att söka i flera ark.
IFNA-funktionen är också praktisk för att utföra den så kallade sekventiell eller . kedjade Det är meningen att du ska bädda in några olika IFNA(VLOOKUP(...))-formler i varandra på det här sättet:
IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Not found"))))Om en primär VLOOKUP inte hittar något, kör dess IFNA-funktion nästa VLOOKUP tills det önskade värdet hittas. Om alla sökningar misslyckas, returnerar formeln den angivna texten.
Antag att du har poäng för olika klasser listade på olika blad (som heter Klass A , Klass B , och Klass C Ditt mål är att få fram poängen för en viss elev, vars namn är inmatat i cell B1 i det aktuella arbetsbladet. För att lösa uppgiften använder du den här formeln:
=IFNA(VLOOKUP(B1, 'Klass A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Klass B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Klass C'!A2:B5, 2, FALSE), "Not found"))))
Formeln söker efter det angivna namnet i tre olika ark i den ordning som VLOOKUP är inbäddade och tar fram den första matchningen som hittas:
Exempel 3. IFNA med INDEX MATCH
På liknande sätt kan IFNA fånga upp #N/A-fel som genereras av andra uppslagsfunktioner. Som exempel kan vi använda den tillsammans med INDEX MATCH-formeln:
=IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Ej funnen")
Formeln är i stort sett densamma som i alla tidigare exempel - INDEX MATCH gör en sökning och IFNA utvärderar resultatet och får ett #N/A-fel om det refererade värdet inte hittas.
IFNA ska ge flera resultat
Om den inre funktionen (dvs. formeln som är placerad i värde argumentet) returnerar flera värden, testar IFNA varje returnerat värde individuellt och skickar ut en matris av resultat. Till exempel:
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Ej funnen")
I Dynamic Array Excel (Microsoft 365 och Excel 2021) sprider en vanlig formel i den översta cellen (E2) automatiskt alla resultat i de angränsande cellerna (i Excel kallas det för ett spillområde).
I versioner före den dynamiska versionen (Excel 2019 och lägre) kan en liknande effekt uppnås genom att använda en formel för en matris med flera celler, som kompletteras med kortkommandot Ctrl + Shift + Enter.
Vad är skillnaden mellan IFNA och IFERROR?
Beroende på problemets grundorsak kan en Excel-formel utlösa olika fel som #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM m.m. IFERROR-funktionen fångar upp alla dessa fel, medan IFNA är begränsad till #N/A. Vilket är bäst att välja? Det beror på situationen.
Om du vill undertrycka alla typer av fel Den är särskilt användbar vid komplexa beräkningar när formeln innehåller flera funktioner som kan generera olika fel.
Med Uppslagsfunktioner Om du vill använda IFNA är det bättre att använda den, eftersom den endast visar ett anpassat resultat när ett uppslagsvärde inte hittas och inte döljer underliggande problem med själva formeln.
För att illustrera skillnaden tar vi tillbaka vår grundläggande IFNA VLOOKUP-formel och stavar "av misstag" fel på funktionens namn (VLOKUP i stället för VLOOKUP).
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Gjorde inte provet")
IFNA döljer inte detta fel, så du kan tydligt se att något är fel med ett av funktionsnamnen:
Nu ska vi se vad som händer om du använder IFERROR:
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Gjorde inte provet")
Hmm... det står att Olivia inte tog provet, vilket inte är sant! Detta beror på att IFERROR-funktionen fångar upp felet #NAME? och returnerar den anpassade texten i stället. I den här situationen returnerar den inte bara felaktig information utan döljer också problemet med formeln.
Så här använder du IFNA-formeln i Excel. Jag tackar dig för att du läste och ser fram emot att se dig på vår blogg nästa vecka!
Tillgängliga nedladdningar
Exempel på Excel IFNA-formler (.xlsx-fil)