Sådan bruger du IFNA-funktionen i Excel med eksempler

  • Del Dette
Michael Brown

Får du mange #N/A-fejl i dine regneark og er nysgerrig efter at vide, om der er en måde at vise en brugerdefineret tekst på i stedet? IFNA-formlen er den løsning, du har brug for.

Når en Excel-formel ikke kan identificere eller finde noget, udsender den fejlen #N/A. For at fange en sådan fejl og erstatte den med en brugervenlig meddelelse kan du bruge IFNA-funktionen. Med andre ord er #N/A Excels måde at sige på, at den værdi, du leder efter, ikke findes i det refererede datasæt. IFNA er din måde at fange og håndtere denne fejl på.

    IFNA-funktion i Excel

    Excel IFNA-funktionen er beregnet til at opfange og håndtere #N/A-fejl. Hvis en formel evalueres til #N/A, fanger IFNA denne fejl og erstatter den med en brugerdefineret værdi, du angiver; ellers returneres et normalt resultat af formlen.

    IFNA-syntaks

    Syntaksen for IFNA-funktionen er som følger:

    IFNA(værdi, value_if_na)

    Hvor:

    Værdi (påkrævet) - den formel, værdi eller reference, der skal kontrolleres for en #N/A-fejl.

    Værdi_if_na (påkrævet) - den værdi, der skal returneres, hvis der registreres en #N/A-fejl.

    Brugsanvisninger

    • IFNA-funktionen behandler kun #N/A uden at undertrykke andre fejl.
    • Hvis den værdi argument er en array-formel returnerer IFNA et array af resultater, et pr. celle, som vist i dette eksempel.

    IFNA tilgængelighed

    IFNA-funktionen blev indført i Excel 2013 og er tilgængelig i alle efterfølgende versioner, herunder Excel 2016, Excel 2019, Excel 2021 og Microsoft 365.

    I tidligere versioner kan du fange #N/A-fejl ved at bruge IF- og ISNA-funktionerne sammen.

    Sådan bruger du IFNA-funktionen i Excel

    For at bruge IFNA effektivt i Excel skal du følge denne generiske fremgangsmåde:

    1. I det første argument ( værdi ), indsæt en formel, der er påvirket af #N/A-fejlen.
    2. I det andet argument ( value_if_na ), skal du skrive den tekst, du vil returnere i stedet for standardfejlnotationen. Hvis du vil returnere en tom celle, når der ikke er fundet noget, skal du angive en tom streng ('""").

    For at vende tilbage brugerdefineret tekst , er den generiske formel:

    IFNA( formel (), " brugerdefineret tekst ")

    For at returnere en tom celle , er den generiske formel:

    IFNA( formel (), "")

    Lad os se, hvordan det fungerer i et simpelt eksempel. Lad os antage, at du i tabellen nedenfor vil vide, hvordan en given elevs score rangerer blandt andre. Da dataene er sorteret efter Score kolonnen fra højest til lavest, vil rangordenen svare til elevens relative position i tabellen. Og for at få positionen kan du bruge MATCH-funktionen i sin enkleste form:

    =MATCH(E1, A2:A10, 0)

    Da opslagsværdien (Neal) ikke er tilgængelig i opslagsarrayet (A2:A10), opstår der en #N/A-fejl.

    Hvis du støder på denne fejl, vil uerfarne brugere måske tro, at der er noget galt med formlen, og du som skaberen af regnearket vil få en masse spørgsmål. For at undgå dette kan du eksplicit angive, at formlen er korrekt, men at den bare ikke kan finde den værdi, den bliver bedt om at lede efter. Så du indlejrer MATCH-formlen i det første argument i IFNA og i det andet argument skriver du din brugerdefineredetekst, "Ikke fundet" i vores tilfælde:

    =IFNA(MATCH(E1, A2:A10, 0), "Ikke fundet")

    Nu vises din egen tekst i stedet for standardfejlnotationen i en celle for at informere brugerne om, at opslagsværdien ikke findes i datasættet:

    Sådan bruger du IFNA med VLOOKUP

    Oftest forekommer #N/A-fejlen i funktioner, der leder efter noget, f.eks. VLOOKUP, HLOOKUP, LOOKUP og MATCH. Nedenstående eksempler dækker nogle få typiske tilfælde.

    Eksempel 1. Grundlæggende IFNA VLOOKUP-formel

    Hvis du vil fange #N/A-fejl, der opstår, når VLOOKUP ikke kan finde et match, skal du kontrollere resultatet ved hjælp af IFNA og angive den værdi, der skal vises i stedet for fejlen. Det er almindeligt at pakke IFNA-funktionen ind i din eksisterende VLOOKUP-formel ved hjælp af denne syntaks:

    IFNA(VLOOKUP(), " din tekst ")

    Antag, at du i vores eksempeltabel ønsker at hente en score for en bestemt elev (E1), og du bruger denne klassiske VLOOKUP-formel til dette:

    =VLOOKUP(E1, A2:B10, 2, FALSE)

    Problemet er, at Neal ikke tog eksamen, og derfor er hans navn ikke på listen, og VLOOKUP kan naturligvis ikke finde et match.

    For at skjule fejlen pakker vi VLOOKUP ind i IFNA på følgende måde:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Har ikke deltaget i eksamen")

    Nu ser resultatet ikke længere så skræmmende ud for brugeren og er meget mere informativt:

    Eksempel 2. IFNA VLOOKUP til at søge på tværs af flere ark

    IFNA-funktionen er også praktisk til at udføre den såkaldte sekventiel eller lænket Opslag på tværs af flere ark eller forskellige regneark. Idéen er, at du sætter et par forskellige IFNA(VLOOKUP(...)))-formler ind i hinanden på denne måde:

    IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Ikke fundet"))))

    Hvis en primær VLOOKUP ikke finder noget, kører dens IFNA-funktion den næste VLOOKUP, indtil den ønskede værdi er fundet. Hvis alle opslag slår fejl, returnerer formlen den angivne tekst.

    Hvis du nu har de forskellige klassers karakterer opført på forskellige ark (med navnet Klasse A , Klasse B , og Klasse C Dit mål er at få resultatet for en bestemt elev, hvis navn er indtastet i celle B1 i dit aktuelle regneark. For at løse opgaven skal du bruge denne formel:

    =IFNA(VLOOKUP(B1, "Klasse A"!A2:B5, 2, FALSK), IFNA(VLOOKUP(B1, "Klasse B"!A2:B5, 2, FALSK), IFNA(VLOOKUP(B1, "Klasse C"!A2:B5, 2, FALSK), "Ikke fundet"))))

    Formlen søger sekventielt efter det angivne navn i tre forskellige ark i den rækkefølge, som VLOOKUP'er er indlejret i hinanden, og bringer det første fundne match:

    Eksempel 3. IFNA med INDEX MATCH

    På samme måde kan IFNA fange #N/A-fejl, som genereres af andre opslagsfunktioner. Lad os som eksempel bruge den sammen med INDEX MATCH-formlen:

    =IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Ikke fundet")

    Kernen i formlen er den samme som i alle de tidligere eksempler - INDEX MATCH udfører et opslag, og IFNA evaluerer resultatet og får en #N/A-fejl, hvis den refererede værdi ikke findes.

    IFNA returnerer flere resultater

    Hvis den indre funktion (dvs. den formel, der er placeret i værdi argument) returnerer flere værdier, vil IFNA teste hver enkelt af de returnerede værdier individuelt og udgive et array af resultater, f.eks:

    =IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Ikke fundet")

    I Dynamic Array Excel (Microsoft 365 og Excel 2021) spreder en almindelig formel i den øverste celle (E2) automatisk alle resultaterne i de tilstødende celler (i Excel kaldes det et spildområde).

    I versioner før dynamisk (Excel 2019 og lavere) kan du opnå en lignende effekt ved at bruge en formel for et array med flere celler, som afsluttes med genvejen Ctrl + Shift + Enter.

    Hvad er forskellen mellem IFNA og IFERROR?

    Afhængigt af problemets grundårsag kan en Excel-formel udløse forskellige fejl som #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM m.m. IFERROR-funktionen fanger alle disse fejl, mens IFNA kun er begrænset til #N/A. Hvilken af dem er bedst at vælge? Det afhænger af situationen.

    Hvis du ønsker at undertrykke enhver form for fejl Det er især nyttigt i komplekse beregninger, når en formel indeholder flere funktioner, der kan generere forskellige fejl.

    Med opslagsfunktioner , skal du hellere bruge IFNA, da den kun viser et brugerdefineret resultat, når der ikke findes en opslagsværdi, og den skjuler ikke underliggende problemer med selve formlen.

    Lad os illustrere forskellen ved at tage vores grundlæggende IFNA VLOOKUP-formel frem igen og ved et "uheld" stave funktionens navn forkert (VLOKUP i stedet for VLOOKUP).

    =IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Tog ikke eksamen")

    IFNA undertrykker ikke denne fejl, så du kan tydeligt se, at der er noget galt med et af funktionsnavnene:

    Lad os nu se, hvad der sker, hvis du bruger IFERROR:

    =IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Har ikke deltaget i eksamen")

    Hmm... der står, at Olivia ikke tog eksamen, hvilket ikke er sandt! Det skyldes, at IFERROR-funktionen fanger #NAME? fejlen og returnerer den brugerdefinerede tekst i stedet. I denne situation returnerer den ikke blot forkerte oplysninger, men skjuler også problemet med formlen.

    Sådan bruger du IFNA-formlen i Excel. Jeg takker for din læsning og glæder mig til at se dig på vores blog i næste uge!

    Tilgængelige downloads

    Eksempler på Excel IFNA-formler (.xlsx-fil)

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.