Excel IF-funktion med flere betingelser

  • Del Dette
Michael Brown

Vejledningen viser, hvordan du opretter flere IF-udsagn i Excel med AND- og OR-logik. Du lærer også, hvordan du kan bruge IF sammen med andre Excel-funktioner.

I første del af vores Excel IF-vejledning så vi på, hvordan du konstruerer en simpel IF-anvisning med én betingelse for tekst, tal, datoer, tomme og ikke-lette felter. For at opnå en effektiv dataanalyse kan du dog ofte have brug for at evaluere flere betingelser ad gangen. De nedenstående formeleksempler viser dig de mest effektive måder at gøre dette på.

    Sådan bruger du IF-funktionen med flere betingelser

    Der er i alt væsentligt to typer af den IF-formel med flere kriterier baseret på AND / OR-logikken I den logiske test af din IF-formel skal du derfor bruge en af disse funktioner:

    • AND-funktion - returnerer TRUE, hvis alle betingelser er opfyldt; ellers er FALSE.
    • OR-funktion - returnerer TRUE, hvis enhver enkelt betingelse er opfyldt; ellers er FALSE.

    For at illustrere det bedre, lad os undersøge nogle eksempler på virkelige formler.

    Excel IF-erklæring med flere betingelser (AND-logik)

    Den generiske formel for Excel IF med to eller flere betingelser er følgende:

    IF(AND( betingelse1 , betingelse2 , ...), value_if_true, value_if_false)

    Oversat til et menneskesprog siger formlen: Hvis betingelse 1 er sand OG betingelse 2 er sand, returneres value_if_true ; ellers returnere value_if_false .

    Lad os antage, at du har en tabel, der viser resultaterne af to prøver i kolonne B og C. For at bestå den afsluttende prøve skal en elev have begge resultater over 50.

    Til den logiske test bruger du følgende AND-anvisning: AND(B2>50, C2>50)

    Hvis begge betingelser er sande, returnerer formlen "Bestået"; hvis en af betingelserne er falsk - "Ikke bestået".

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

    Nemt, ikke sandt? Skærmbilledet nedenfor beviser, at vores Excel IF /AND-formel fungerer korrekt:

    På samme måde kan du bruge Excel IF-funktionen med flere tekstbetingelser .

    For at få f.eks. resultatet "Godt", hvis både B2 og C2 er større end 50, og ellers "Dårligt", er formlen:

    =IF(AND(B2="bestået", C2="bestået"), "Godt!", "Dårligt")

    Vigtig bemærkning: AND-funktionen kontrollerer alle betingelser En sådan adfærd er lidt usædvanlig, da de fleste programmeringssprog ikke tester efterfølgende betingelser, hvis en af de tidligere test har givet FALSE som resultat.

    I praksis kan en tilsyneladende korrekt IF-angivelse resultere i en fejl på grund af denne specificitet. F.eks. ville nedenstående formel returnere #DIV/0! ("dividere med nul"-fejl), hvis celle A2 er lig med 0:

    =IF(AND(A20, (1/A2)>0,5), "God", "Dårlig")

    For at undgå dette bør du bruge en indlejret IF-funktion:

    =IF(A20, IF((1/A2)>0,5, "God", "Dårlig"), "Dårlig")

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

    Excel IF-funktion med flere betingelser (OR-logik)

    At gøre én ting, hvis enhver betingelse er opfyldt, ellers gør noget andet, skal du bruge denne kombination af IF- og OR-funktionerne:

    IF(OR( betingelse1 , betingelse2 , ...), value_if_true, value_if_false)

    Forskellen fra IF/ AND-formlen, der er beskrevet ovenfor, er, at Excel returnerer TRUE, hvis en af de angivne betingelser er sandt.

    Så hvis vi i den foregående formel bruger OR i stedet for AND:

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

    Så vil alle, der har mere end 50 point i begge eksamener, få "Bestået" i kolonne D. Med sådanne betingelser har vores elever en bedre chance for at bestå den endelige eksamen (Yvette er særlig uheldig med kun 1 point :)

    Tip. Hvis du opretter en flere IF-erklæringer med tekst og tester en værdi i en celle med OR-logikken (dvs. en celle kan være "dette" eller "det"), kan du opbygge en mere kompakt formel ved hjælp af en arraykonstant.

    For at markere et salg som "lukket", hvis celle B2 enten er "leveret" eller "betalt", er formlen f.eks:

    =IF(OR(B2={"leveret", "betalt"}), "Lukket", "")

    Du kan finde flere eksempler på formler i Excel IF OR-funktionen.

    IF med flere AND & OR-udsagn

    Hvis din opgave kræver evaluering af flere sæt af flere betingelser, skal du bruge både AND & OR-funktionerne ad gangen.

    I vores eksempeltabel antager vi, at du har følgende kriterier for kontrol af eksamensresultater:

    • Betingelse 1: eksamen1>50 og eksamen2>50
    • Betingelse 2: eksamen1>40 og eksamen2>60

    Hvis en af betingelserne er opfyldt, anses den afsluttende eksamen for bestået.

    Ved første øjekast virker formlen lidt vanskelig, men det er den faktisk ikke! Du skal blot udtrykke hver af de ovennævnte betingelser som en AND-erklæring og indlejre dem i OR-funktionen (da det ikke er nødvendigt at opfylde begge betingelser, er det nok med en af dem):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    Brug derefter OR-funktionen til den logiske test af IF og angiv den ønskede value_if_true og value_if_false Som resultat får du følgende IF-formel med flere AND / OR-betingelser:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Bestået", "Ikke bestået")

    Skærmbilledet nedenfor viser, at vi har gjort formlen rigtigt:

    Du er naturligvis ikke begrænset til kun at bruge to AND/OR-funktioner i dine IF-formler. Du kan bruge så mange af dem, som din forretningslogik kræver, forudsat at:

    • I Excel 2007 og nyere versioner har du højst 255 argumenter, og den samlede længde af IF-formlen må ikke overstige 8.192 tegn.
    • I Excel 2003 og nyere versioner er der højst 30 argumenter, og den samlede længde af din IF-formel må ikke overstige 1.024 tegn.

    IF-erklæring til kontrol af flere logiske test

    Hvis du ønsker at evaluere flere logiske test i en enkelt formel, kan du indlejre flere funktioner i hinanden. Sådanne funktioner kaldes indlejrede IF-funktioner De er især nyttige, når du ønsker at returnere forskellige værdier afhængigt af resultaterne af de logiske test.

    Her er et typisk eksempel: Antag, at du ønsker at kvalificere elevernes resultater som " Godt ", " Tilfredsstillende " og " Dårlig " baseret på følgende point:

    • God: 60 eller derover (>=60)
    • Tilfredsstillende: mellem 40 og 60 (>40 og <60)
    • Dårlig: 40 eller mindre (<=40)

    Før du skriver en formel, skal du overveje rækkefølgen af de funktioner, du vil indlejre. Excel evaluerer de logiske test i den rækkefølge, de vises i formlen. Når en betingelse evalueres til TRUE, testes de efterfølgende betingelser ikke, hvilket betyder, at formlen stopper efter det første TRUE-resultat.

    I vores tilfælde er funktionerne arrangeret fra den største til den mindste:

    =IF(B2>=60, "God", IF(B2>40, "Tilfredsstillende", "Dårlig")))

    Du kan naturligvis indlejre flere funktioner, hvis det er nødvendigt (op til 64 i moderne versioner).

    Du kan finde flere oplysninger under Sådan bruges flere indlejrede IF-meddelelser i Excel.

    Excel IF array-formel med flere betingelser

    En anden måde at få en Excel IF til at teste flere betingelser på er ved at bruge en array-formel.

    Du skal bruge stjernen for at evaluere betingelser med AND-logikken:

    IF( betingelse1 ) * ( betingelse2 ) * ..., value_if_true, value_if_false)

    Hvis du vil teste betingelser med OR-logikken, skal du bruge plustegnet:

    IF( betingelse1 ) + ( betingelse2 ) + ..., value_if_true, value_if_false)

    For at fuldføre en arrayformel korrekt skal du trykke på tasterne Ctrl + Shift + Enter sammen. I Excel 365 og Excel 2021 fungerer dette også som en almindelig formel på grund af understøttelse af dynamiske arrays.

    For at få "Bestået", hvis både B2 og C2 er større end 50, er formlen f.eks:

    =IF((B2>50) * (C2>50), "Bestået", "Ikke bestået")

    I min Excel 365 fungerer en normal formel fint (som du kan se på skærmbillederne ovenfor). I Excel 2019 og lavere skal du huske at gøre det til en array-formel ved at bruge genvejen Ctrl + Shift + Enter.

    For at evaluere flere betingelser med OR-logikken er formlen følgende:

    =IF((B2>50) + (C2>50), "Bestået", "Ikke bestået")

    Brug af IF sammen med andre funktioner

    I dette afsnit forklares det, hvordan du kan bruge IF i kombination med andre Excel-funktioner, og hvilke fordele det giver dig.

    Eksempel 1. Hvis #N/A-fejl i VLOOKUP

    Når VLOOKUP eller en anden opslagsfunktion ikke kan finde noget, returnerer den en #N/A-fejl. For at få dine tabeller til at se pænere ud, kan du returnere nul, tomt eller en bestemt tekst hvis #N/A. Brug denne generiske formel til dette:

    IF(ISNA(VLOOKUP(...))), value_if_na , VLOOKUP(....)))

    For eksempel:

    Hvis #N/A returnerer 0:

    Hvis opslagsværdien i E1 ikke kan findes, returnerer formlen nul.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE ))), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    Hvis #N/A returneres blank:

    Hvis opslagsværdien ikke findes, returnerer formlen intet (en tom streng).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE ))), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Hvis #N/A returnerer en bestemt tekst:

    Hvis opslagsværdien ikke findes, returnerer formlen en specifik tekst.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Ikke fundet", VLOOKUP(E1, A2:B10, 2, FALSE))

    Du kan finde flere eksempler på formler i VLOOKUP med IF-angivelse i Excel.

    Eksempel 2. IF med funktionerne SUM, AVERAGE, MIN og MAX

    Excel indeholder funktionerne SUMIF og SUMIFS til at summere celleværdier baseret på bestemte kriterier.

    I nogle situationer kan din forretningslogik kræve, at du inkluderer funktionen SUM i den logiske test af IF. Hvis du f.eks. vil returnere forskellige tekstmærker afhængigt af summen af værdierne i B2 og C2, er formlen:

    =IF(SUM(B2:C2)>130, "God", IF(SUM(B2:C2)>110, "Tilfredsstillende", "Dårlig")))

    Hvis summen er større end 130, er resultatet "godt"; hvis summen er større end 110 - "tilfredsstillende", hvis summen er 110 eller lavere - "dårligt".

    På samme måde kan du indlejre funktionen AVERAGE i den logiske test af IF og returnere forskellige etiketter baseret på den gennemsnitlige score:

    =IF(AVERAGE(B2:C2)>65, "God", IF(AVERAGE(B2:C2)>55, "Tilfredsstillende", "Dårlig")))

    Hvis du antager, at den samlede score er i kolonne D, kan du identificere den højeste og laveste værdi ved hjælp af MAX- og MIN-funktionerne:

    =IF(D2=MAX($D$2:$D$10), "Bedste resultat", "")

    =IF(D2=MAX($D$2:$D$10), "Bedste resultat", "")

    Hvis du vil have begge etiketter i én kolonne, skal du indsætte ovenstående funktioner i hinanden:

    =IF(D2=MAX($D$2:$D$10), "Bedste resultat", IF(D2=MIN($D$2:$D$10), "Værste resultat", ""))

    På samme måde kan du bruge IF sammen med dine brugerdefinerede funktioner. Du kan f.eks. kombinere den med GetCellColor eller GetCellFontColor for at returnere forskellige resultater baseret på en cellefarve.

    Excel indeholder desuden en række funktioner til at beregne data på baggrund af betingelser. Du kan finde detaljerede eksempler på formler i de følgende vejledninger:

    • COUNTIF - tæller de celler, der opfylder en betingelse
    • COUNTIFS - tæller celler med flere kriterier
    • SUMIF - betinget summering af celler
    • SUMIFS - summér celler med flere kriterier

    Eksempel 3. IF med ISNUMBER, ISTEXT og ISBLANK

    For at identificere tekst, tal og tomme celler har Microsoft Excel særlige funktioner som ISTEXT, ISNUMBER og ISBLANK. Ved at placere dem i de logiske test af tre IF-udsagn, kan du identificere alle de forskellige datatyper på én gang:

    =IF(ISTEXT(A2), "Tekst", IF(ISNUMBER(A2), "Tal", IF(ISBLANK(A2), "Blank", "")))

    Eksempel 4. IF og CONCATENATE

    Hvis du vil have resultatet af IF og noget tekst ud i én celle, skal du bruge CONCATENATE- eller CONCAT-funktionerne (i Excel 2016 - 365) og IF-funktionerne sammen. F.eks:

    =CONCATENATE("Du har præsteret ", IF(B1>100, "fantastisk!", IF(B1>50, "godt", "dårligt"))))

    =CONCAT("Du har præsteret ", IF(B1>100, "fantastisk!", IF(B1>50, "godt", "dårligt"))))

    Hvis du ser på skærmbilledet nedenfor, behøver du næppe nogen forklaring på, hvad formlen gør:

    IF ISERROR / ISNA-formel i Excel

    De moderne versioner af Excel har særlige funktioner til at fange fejl og erstatte dem med en anden beregning eller en foruddefineret værdi - IFERROR (i Excel 2007 og senere) og IFNA (i Excel 2013 og senere). I tidligere Excel-versioner kan du i stedet bruge kombinationerne IF ISERROR og IF ISNA.

    Forskellen er, at IFERROR og ISERROR håndterer alle mulige Excel-fejl, herunder #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! og #NULL!, mens IFNA og ISNA udelukkende er specialiseret i #N/A-fejl.

    Hvis du f.eks. vil erstatte fejlen "dividere med nul" (#DIV/0!) med din brugerdefinerede tekst, kan du bruge følgende formel:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    Og det er alt, hvad jeg har at sige om at bruge IF-funktionen i Excel. Jeg takker for din læsning og håber at se dig på vores blog i næste uge!

    Arbejdsbog til download

    Excel IF flere kriterier - eksempler (.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.