IF-funktion i Excel: Formeleksempler for tekst, tal, datoer og tomme felter

  • Del Dette
Michael Brown

I denne artikel lærer du, hvordan du opbygger en Excel IF-erklæring for forskellige typer værdier, og hvordan du opretter flere IF-erklæringer.

IF er en af de mest populære og nyttige funktioner i Excel. Generelt bruger du en IF-anvisning til at teste en betingelse og til at returnere en værdi, hvis betingelsen er opfyldt, og en anden værdi, hvis betingelsen ikke er opfyldt.

I denne vejledning lærer vi syntaksen og de almindelige anvendelser af Excel IF-funktionen og ser nærmere på eksempler på formler, som forhåbentlig vil være nyttige for både begyndere og erfarne brugere.

    IF-funktion i Excel

    IF er en af de logiske funktioner, der evaluerer en bestemt betingelse og returnerer en værdi, hvis betingelsen er TRUE, og en anden værdi, hvis betingelsen er FALSE.

    Syntaksen for IF-funktionen er som følger:

    IF(logical_test, [value_if_true], [value_if_false])

    Som du kan se, tager IF i alt 3 argumenter, men kun det første er obligatorisk, de to andre er valgfrie.

    Logisk_test (påkrævet) - den betingelse, der skal testes. Kan evalueres som enten TRUE eller FALSE.

    Value_if_true (valgfri) - den værdi, der skal returneres, når den logiske test evalueres til TRUE, dvs. at betingelsen er opfyldt. Hvis den udelades, vil value_if_false skal være defineret.

    Value_if_false (valgfrit) - den værdi, der skal returneres, når den logiske test evalueres til FALSE, dvs. at betingelsen ikke er opfyldt. Hvis den udelades, vil value_if_true argumentet skal være indstillet.

    Grundlæggende IF-formel i Excel

    For at oprette en simpel Hvis der så i Excel, skal du gøre følgende:

    • Til logisk_test , skriv et udtryk, der returnerer enten TRUE eller FALSE. Til dette formål bruger du normalt en af de logiske operatorer.
    • Til value_if_true , angive, hvad der skal returneres, når den logiske test evaluerer til TRUE.
    • Til value_if_false angive, hvad der skal returneres, når den logiske test evalueres til FALSE. Selv om dette argument er valgfrit, anbefaler vi, at det altid konfigureres for at undgå uventede resultater. Du kan finde en detaljeret forklaring i Excel IF: ting at vide i Excel IF.

    Lad os som eksempel skrive en meget simpel IF-formel, der kontrollerer en værdi i celle A2 og returnerer "Godt", hvis værdien er større end 80, ellers "Dårligt":

    =IF(B2>80, "God", "Dårlig")

    Denne formel går til C2 og kopieres derefter ned gennem C7:

    Hvis du kun ønsker at returnere en værdi, når betingelsen er opfyldt (eller ikke opfyldt), ellers - intet, skal du bruge en tom streng ("") som "undefined"-argument. For eksempel:

    =IF(B2>80, "God", "")

    Denne formel returnerer "Godt", hvis værdien i A2 er større end 80, og ellers en tom celle:

    Excel Hvis derefter-formel: ting at vide

    Selv om de to sidste parametre i IF-funktionen er valgfrie, kan din formel give uventede resultater, hvis du ikke kender den underliggende logik.

    Hvis value_if_true er udeladt

    Hvis det andet argument i din Excel IF-formel udelades (dvs. der er to på hinanden følgende kommaer efter den logiske test), får du nul (0), når betingelsen er opfyldt, hvilket i de fleste tilfælde ikke giver mening. Her er et eksempel på en sådan formel:

    =IF(B2>80, , , "Dårlig")

    Hvis du i stedet vil returnere en tom celle, skal du angive en tom streng ("") som den anden parameter, på denne måde:

    =IF(B2>80, "", "Dårlig")

    Skærmbilledet nedenfor viser forskellen:

    Hvis value_if_false er udeladt

    Hvis man udelader den tredje parameter i IF, får man følgende resultater, når den logiske test giver FALSK.

    Hvis der kun er en lukkende parentes efter value_if_true vil IF-funktionen returnere den logiske værdi FALSE. Det er ret uventet, ikke sandt? Her er et eksempel på en sådan formel:

    =IF(B2>80, "God")

    Hvis du skriver et komma efter value_if_true argumentet vil tvinge Excel til at returnere 0, hvilket heller ikke giver meget mening:

    =IF(B2>80, "God",)

    Den mest fornuftige metode er at bruge en streng med nul længde ("") for at få en tom celle, når betingelsen ikke er opfyldt:

    =IF(B2>80, "God", "")

    Tip. Hvis du vil returnere en logisk værdi, når den angivne betingelse er opfyldt eller ikke opfyldt, skal du angive TRUE for value_if_true og FALSE for value_if_false Hvis resultaterne skal være boolske værdier, som andre Excel-funktioner kan genkende, må du ikke sætte TRUE og FALSE i dobbelte anførselstegn, da det vil forvandle dem til normale tekstværdier.

    Brug af IF-funktionen i Excel - eksempler på formler

    Nu hvor du er bekendt med IF-funktionens syntaks, kan vi se på nogle eksempler på formler og lære at bruge Hvis der så udsagn i virkelige scenarier.

    Excel IF-funktion med tal

    Hvis du vil oprette en IF-erklæring for tal, skal du bruge logiske operatorer som f.eks:

    • Lig med (=)
    • Ikke lig med ()
    • Større end (>)
    • Større end eller lig med (>=)
    • Mindre end (<)
    • Mindre end eller lig med (<=)

    Ovenfor har du allerede set et eksempel på en sådan formel, der kontrollerer, om et tal er større end et givet tal.

    Og her er en formel, der kontrollerer, om en celle indeholder en negativt tal :

    =IF(B2<0, "Ugyldig", "")

    For negative tal (som er mindre end 0) returnerer formlen "Ugyldig"; for nuller og positive tal - en tom celle.

    Excel IF-funktion med tekst

    Almindeligvis skriver du en IF-erklæring for tekstværdier ved hjælp af enten "lig med" eller "ikke lig med"-operatoren.

    Følgende formel kontrollerer f.eks. Leveringsstatus i B2 for at afgøre, om der er behov for en foranstaltning eller ej:

    =IF(B2="leveret", "Nej", "Ja")

    På almindeligt dansk siger formlen: returner "Nej", hvis B2 er lig med "leveret", ellers "Ja".

    En anden måde at opnå det samme resultat på er at bruge operatoren "not equal to" og bytte om på value_if_true og value_if_false værdier:

    =IF(C2 "leveret", "Ja", "Nej")

    Bemærkninger:

    • Når du bruger tekstværdier til IF's parametre, skal du altid huske at omslutte dem med dobbelte anførselstegn .
    • Som de fleste andre Excel-funktioner, IF er som standard ikke skelnes mellem store og små bogstaver I ovenstående eksempel skelnes der ikke mellem "leveret", "Delivered" og "DELIVERED".

    IF-erklæring med hensyn til tekstværdier, der tager hensyn til store og små bogstaver

    Hvis du vil behandle store og små bogstaver som forskellige tegn, skal du bruge IF i kombination med funktionen EXACT, der tager hensyn til store og små bogstaver.

    Hvis du f.eks. kun vil returnere "Nej", når B2 indeholder "DELIVERED" (store bogstaver), skal du bruge denne formel:

    =IF(EXACT(B2, "DELIVERED"), "Nej", "Ja")

    Hvis celle indeholder delvis tekst

    I situationer, hvor du ønsker at basere betingelsen på delvis match i stedet for nøjagtigt match, er en umiddelbar løsning, der falder mig ind, at bruge jokertegn i den logiske test. Denne enkle og indlysende fremgangsmåde virker dog ikke. Mange funktioner accepterer jokertegn, men IF er desværre ikke en af dem.

    En løsning, der fungerer, er at bruge IF i kombination med ISNUMBER og SEARCH (uden hensyn til store og små bogstaver) eller FIND (med hensyn til store og små bogstaver).

    Hvis der f.eks. kræves "Nej" for både "Leveret" og "Ude til levering"-poster, vil følgende formel fungere fint:

    =IF(ISNUMBER(SEARCH("deliv", B2))), "Nej", "Ja")

    For yderligere oplysninger, se venligst:

    • Excel IF-erklæring til delvis tekstmatch
    • Hvis celle indeholder så

    Excel IF-erklæring med datoer

    Ved første øjekast kan det se ud som om, at IF-formler for datoer er beslægtede med IF-angivelser for numeriske værdier og tekstværdier. Desværre er det ikke tilfældet. I modsætning til mange andre funktioner genkender IF datoer i logiske test og fortolker dem som rene tekststrenge. Med andre ord kan du ikke angive en dato i form af "1/1/2020" eller ">1/1/2020". For at få IF-funktionen til at genkende en dato skal du indpakke den iDATEVALUE-funktionen.

    Her kan du f.eks. se, hvordan du kan kontrollere, om en given dato er større end en anden dato:

    =IF(B2>DATEVALUE("7/18/2022"), "Kommer snart", "Afsluttet")

    Denne formel evaluerer datoerne i kolonne B og returnerer "Coming soon", hvis et spil er planlagt til 18-juli-2022 eller senere, og "Completed" for en tidligere dato.

    Der er naturligvis intet, der forhindrer dig i at indtaste måldatoen i en foruddefineret celle (f.eks. E2) og henvise til denne celle. Husk blot at låse celleadressen med $-tegnet for at gøre den til en absolut reference. F.eks:

    =IF(B2>$E$2, "Kommer snart", "Afsluttet")

    Hvis du vil sammenligne en dato med den nuværende dato , bruge funktionen TODAY(). f.eks:

    =IF(B2>TODAY(), "Kommer snart", "Afsluttet")

    Excel IF-erklæring for tomme og ikke-tomme felter

    Hvis du ønsker at markere dine data på en eller anden måde baseret på, om en bestemt celle(r) er tom(e) eller ikke tom(e), kan du enten:

    • Brug IF-funktionen sammen med ISBLANK, eller
    • Brug de logiske udtryk (lig med blank) eller "" (ikke lig med blank).

    Nedenstående tabel forklarer forskellen mellem disse to fremgangsmåder med eksempler på formler.

    Logisk test Beskrivelse Eksempel på en formel
    Tomme celler =""

    Vurderes til TRUE, hvis en celle er visuelt tom, selv om den indeholder en nul-længde streng .

    Ellers evalueres til FALSE.

    =IF(A1="", 0, 1)

    Returnerer 0, hvis A1 er visuelt tom. Ellers returneres 1.

    Hvis A1 indeholder en tom streng (""), returnerer formlen 0. ISBLANK()

    Vurderes til TRUE, hvis en celle indeholder absolut ingenting - ingen formler, ingen mellemrum, ingen tomme strenge.

    Ellers evalueres til FALSE.

    =IF(ISBLANK(A1), 0, 1)

    Returnerer 0, hvis A1 er helt tom, ellers 1.

    Hvis A1 indeholder en tom streng (""), returnerer formlen 1. Ikke-blankceller "" Vurderes til TRUE, hvis en celle indeholder data. Ellers vurderes den til FALSE.

    Celler med strenge af nul længde betragtes som blank . =IF(A1"", 1, 0)

    Returnerer 1, hvis A1 er ikke-blank; ellers 0.

    Hvis A1 indeholder en tom streng, returnerer formlen 0. ISBLANK()=FALSK Vurderes til TRUE, hvis en celle ikke er tom. Ellers vurderes den til FALSE.

    Celler med strenge af nul længde betragtes som ikke-blank . =IF(ISBLANK(A1)=FALSE, 0, 1)

    Fungerer på samme måde som ovenstående formel, men returnerer 1, hvis A1 indeholder en tom streng.

    Og lad os nu se tomme og ikke-tomme IF-udsagn i aktion. Lad os antage, at du kun har en dato i kolonne B, hvis der allerede er spillet et spil. Hvis du vil mærke de afsluttede spil, skal du bruge en af disse formler:

    =IF(B2="", "", "", "Afsluttet")

    =IF(ISBLANK(B2), "", "Afsluttet")

    =IF($B2"", "Afsluttet", "")

    =IF(ISBLANK($B2)=FALSK, "Afsluttet", "")

    Hvis de testede celler ikke har strenge af nul-længde, vil alle formlerne give nøjagtig de samme resultater:

    Kontroller, om to celler er ens

    Hvis du vil oprette en formel, der kontrollerer, om to celler passer sammen, skal du sammenligne cellerne ved at bruge lighedstegnet (=) i den logiske test af IF:

    =IF(B2=C2, "Samme score", "")

    Hvis du vil kontrollere, om de to celler indeholder den samme tekst, herunder bogstaver med store og små bogstaver, skal du gøre din IF-formel striksefølsom ved hjælp af EXACT-funktionen.

    For eksempel for at sammenligne adgangskoderne i A2 og B2 og returnere "Match" hvis de to strenge er nøjagtig ens, og "Match ikke" ellers, er formlen:

    =IF(EXACT(A2, B2), "Passer", "Passer ikke")

    IF derefter formel for at køre en anden formel

    I alle de foregående eksempler returnerede en Excel IF-anvisning værdier. Men den kan også udføre en bestemt beregning eller udføre en anden formel, når en bestemt betingelse er opfyldt eller ikke opfyldt. Til dette formål skal du indlejre en anden funktion eller et aritmetisk udtryk i value_if_true og/eller value_if_false argumenter.

    Hvis B2 f.eks. er større end 80, multipliceres den med 7 %, ellers med 3 %:

    =IF(B2>80, B2*7%, B2*3%)

    Flere IF-udsagn i Excel

    Der er to måder at skrive flere IF-meddelelser i Excel på:

    • Indlejring af flere IF-funktioner i hinanden
    • Brug af AND- eller OR-funktionen i den logiske test

    Indlejret IF-erklæring

    Med indlejrede IF-funktioner kan du placere flere IF-udsagn i den samme celle, dvs. teste flere betingelser i én formel og returnere forskellige værdier afhængigt af resultaterne af disse test.

    Antag, at dit mål er at tildele forskellige bonusser baseret på pointgivningen:

    • Over 90 år - 10%
    • 90 til 81 - 7%
    • 80 til 70 - 5%
    • Mindre end 70 - 3%

    For at løse opgaven skal du skrive 3 separate IF-funktioner og sætte dem ind i hinanden på følgende måde:

    =IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))))

    For flere eksempler på formler, se venligst:

    • Excel indlejret IF-formel
    • IF-funktion med indlejret funktion: eksempler, bedste praksis og alternativer

    Excel IF-erklæring med flere betingelser

    Hvis du vil evaluere flere betingelser med AND- eller OR-logikken, skal du indlejre den tilsvarende funktion i den logiske test:

    • AND - returnerer TRUE, hvis alle betingelserne er opfyldt.
    • OR - returnerer TRUE, hvis enhver en af betingelserne er opfyldt.

    For at returnere "Bestået", hvis begge scorer i B2 og C2 er højere end 80, er formlen f.eks:

    =IF(AND(B2>80, C2>80), "Bestået", "Ikke bestået")

    For at få "Bestået", hvis en af scoren er højere end 80, er formlen følgende:

    =IF(OR(B2>80, C2>80), "Bestået", "Ikke bestået")

    Du kan finde yderligere oplysninger på følgende websted:

    • IF AND-formel i Excel
    • Excel IF OR-funktion med eksempler på formler

    Hvis fejl i Excel

    Fra Excel 2007 har vi en særlig funktion, IFERROR, til at kontrollere formler for fejl. I Excel 2013 og højere er der også funktionen IFNA til at håndtere #N/A-fejl.

    Der kan dog stadig være omstændigheder, hvor det er en bedre løsning at bruge IF-funktionen sammen med ISERROR eller ISNA. IF ISERROR er grundlæggende set den formel, der skal bruges, når du ønsker at returnere noget, hvis der er fejl, og noget andet, hvis der ikke er fejl. Det kan IFERROR-funktionen ikke gøre, da den altid returnerer resultatet af hovedformlen, hvis der ikke er en fejl.

    Hvis du f.eks. vil sammenligne hver score i kolonne B med de tre bedste scoringer i E2:E4 og returnere "Ja", hvis der er fundet et match, og "Nej" i modsat fald, skal du indtaste denne formel i C2 og derefter kopiere den ned gennem C7:

    =IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Nej", "Ja" )

    Du kan finde flere oplysninger under IF ISERROR-formlen i Excel.

    Forhåbentlig har vores eksempler hjulpet dig med at få styr på Excel IF-grundlaget. Jeg takker dig for din læsning og håber at se dig på vores blog i næste uge!

    Arbejdsbog til øvelser

    Excel IF-erklæring - eksempler på 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.