Indlejret IF i Excel - formel med flere betingelser

  • Del Dette
Michael Brown

Vejledningen forklarer, hvordan man bruger flere IF'er i Excel, og indeholder et par eksempler på nestede If-formler til de mest almindelige opgaver.

Hvis nogen spørger dig, hvilken Excel-funktion du bruger oftest, hvad ville dit svar så være? I de fleste tilfælde er det Excel IF-funktionen. En almindelig If-formel, der tester en enkelt betingelse, er meget ligetil og nem at skrive. Men hvad nu, hvis dine data kræver mere omfattende logiske tests med flere betingelser? I så fald kan du inkludere flere IF-funktioner i én formel, og disse flere Iferklæringer kaldes Excel nested IF Den største fordel ved den indlejrede If-erklæring er, at den giver dig mulighed for at kontrollere mere end én betingelse og returnere forskellige værdier afhængigt af resultaterne af disse kontroller, alt sammen i en enkelt formel.

Microsoft Excel har grænser for, hvor meget niveauer af indlejrede IF'er I Excel 2003 og lavere var det tilladt at bruge op til 7 niveauer. I Excel 2007 og højere kan du indlejre op til 64 IF-funktioner i én formel.

Længere nede i denne vejledning finder du et par Excel-eksempler på nested If samt en detaljeret forklaring af deres syntaks og logik.

    Eksempel 1. Klassisk IF-formel

    Her er et typisk eksempel på Excel If med flere betingelser: Antag, at du har en liste over studerende i kolonne A og deres eksamensresultater i kolonne B, og du vil klassificere resultaterne med følgende betingelser:

    • Fremragende: over 249
    • Godt: mellem 249 og 200, inklusive
    • Tilfredsstillende: mellem 199 og 150, inklusive
    • Dårlig: under 150

    Og lad os nu skrive en nested IF-funktion baseret på ovenstående kriterier. Det anses for en god praksis at begynde med den vigtigste betingelse og holde dine funktioner så enkle som muligt. Vores nested IF-formel i Excel ser således ud:

    =IF(B2>249, "Fremragende", IF(B2>=200, "God", IF(B2>150, "Tilfredsstillende", "Dårlig"))))

    Og det fungerer præcis som det skal:

    Forståelse af Excel's logik med indlejrede IF'er

    Jeg har hørt nogle mennesker sige, at Excel multiple If driver dem til vanvid :) Prøv at se på det fra en anden vinkel:

    Det, formlen faktisk fortæller Excel, er at evaluere logisk_test i den første IF-funktion, og hvis betingelsen er opfyldt, returneres den værdi, der er angivet i value_if_true argument. Hvis betingelsen i den første If-funktion ikke er opfyldt, testes den anden If-erklæring osv.

    IF( kontrollere, om B2>=249, hvis sandt - returnerer "Fremragende", ellers

    IF( kontrollere, om B2>=200, hvis sandt - returnerer "God", ellers

    IF( kontrollere, om B2>150, hvis sandt - returnerer "Tilfredsstillende", hvis falsk -

    return "Poor"))))

    Eksempel 2. Multiple If med aritmetiske beregninger

    Her er en anden typisk opgave: Enhedsprisen varierer afhængigt af den angivne mængde, og dit mål er at skrive en formel, der beregner den samlede pris for et hvilket som helst antal elementer, der er indtastet i en bestemt celle. Med andre ord skal din formel kontrollere flere betingelser og udføre forskellige beregninger afhængigt af, hvilket beløbsområde den angivne mængde falder inden for:

    Enhed Mængde Pris pr. enhed
    1 til 10 $20
    11 til 19 $18
    20 til 49 $16
    50 til 100 $13
    Over 101 $12

    Denne opgave kan også udføres ved at bruge flere IF-funktioner. Logikken er den samme som i ovenstående eksempel, den eneste forskel er, at du multiplicerer den angivne mængde med den værdi, der returneres af de indlejrede IF'er (dvs. den tilsvarende pris pr. enhed).

    Hvis brugeren indtaster mængden i celle B8, er formlen som følger:

    =B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))

    Og resultatet vil se nogenlunde sådan ud:

    Som du kan forstå, viser dette eksempel kun den generelle fremgangsmåde, og du kan nemt tilpasse denne nestede If-funktion til din særlige opgave.

    I stedet for f.eks. at "hard-code" priserne i formlen kan du henvise til de celler, der indeholder disse værdier (cellerne B2 til B6), så dine brugere kan redigere kildedataene uden at skulle opdatere formlen:

    =B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))

    Eller du kan inkludere en ekstra IF-funktion(er), der fastsætter en øvre, nedre eller begge grænser for beløbsområdet. Når mængden ligger uden for området, viser formlen en meddelelse "uden for området". For eksempel:

    =IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))

    De ovenfor beskrevne IF-formler fungerer i alle versioner af Excel. I Excel 365 og Excel 2021 kan du også bruge IFS-funktionen til det samme formål.

    Avancerede Excel-brugere, der er bekendt med array-formler, kan bruge denne formel, der grundlæggende gør det samme som den indlejrede IF-funktion, der er beskrevet ovenfor. Selvom array-formlen er langt vanskeligere at forstå og skrive, har den en ubestridelig fordel - du angiver det område af celler, der indeholder dine betingelser, i stedet for at henvise til hver betingelse for sig. Dette gørformlen er mere fleksibel, og hvis dine brugere ændrer en af de eksisterende betingelser eller tilføjer en ny, skal du kun opdatere en enkelt intervalreference i formlen.

    Excel nested IF - tips og tricks

    Som du lige har set, er der ikke nogen raketvidenskab i at bruge flere IF-formler i Excel. De følgende tips vil hjælpe dig med at forbedre dine IF-formler og undgå almindelige fejltagelser.

    Indlejrede IF-grænser

    I Excel 2007 - Excel 365 kan du indlejre op til 64 IF-funktioner. I ældre versioner af Excel 2003 og lavere kan du bruge op til 7 indlejrede IF-funktioner. At du kan indlejre mange IF'er i en formel betyder dog ikke, at du bør gøre det. Husk på, at hvert ekstra niveau gør din formel sværere at forstå og fejlfinde. Hvis din formel har for mange indlejrede niveauer, kan det betyde, at duønsker at optimere den ved at bruge et af disse alternativer.

    Rækkefølgen af de indlejrede IF-funktioner er vigtig

    Excel-funktionen IF evaluerer de logiske test i den rækkefølge, de vises i formlen, og så snart en af betingelserne er VIRKELIG, bliver de efterfølgende betingelser ikke testet. Med andre ord stopper formlen efter det første VIRKELIGE resultat.

    Lad os se, hvordan det fungerer i praksis: Med B2 lig med 274 evaluerer nedenstående IF-formel den første logiske test (B2>249) og returnerer "Fremragende", fordi denne logiske test er VIGTIG:

    =IF(B2>249, "Fremragende", IF(B2>=200, "God", IF(B2>150, "Tilfredsstillende", "Dårlig"))))

    Lad os nu vende rækkefølgen af IF-funktionerne om:

    =IF(B2>150, "Tilfredsstillende", IF(B2>200, "God", IF(B2>249, "Fremragende", "Dårlig"))))

    Formlen tester den første betingelse, og da 274 er større end 150, er resultatet af denne logiske test også SANDT. Derfor returnerer formlen "Tilfredsstillende" uden at teste andre betingelser.

    Hvis du ændrer rækkefølgen af IF-funktionerne, ændrer du resultatet:

    Evaluer formellens logik

    Hvis du vil se det logiske forløb af din indlejrede IF-formel trin for trin, kan du bruge funktionen Evaluer formel på fanebladet Formel under fanen, i fanen Revision af formler Det understregede udtryk er den del, der er under evaluering, og ved at klikke på Vurder knappen viser dig alle trin i evalueringsprocessen.

    Evalueringen af den første logiske test i den indlejrede IF-formel, der er vist i skærmbilledet nedenfor, vil f.eks. se således ud: B2>249; 274>249; TRUE; Fremragende.

    Afbalancere parenteserne i indlejrede IF-funktioner

    En af de største udfordringer med indlejrede IF'er i Excel er at matche parentesparrene. Hvis parenteserne ikke passer sammen, virker din formel ikke. Heldigvis har Microsoft Excel et par funktioner, der kan hjælpe dig med at afbalancere parenteserne, når du redigerer en formel:

    • Hvis du har mere end ét sæt parenteser, er parentesparrene skraveret i forskellige farver, så den indledende parentes passer til den afsluttende parentes.
    • Når du lukker en parentes, fremhæver Excel kortvarigt det matchende par. Den samme fedteteknik eller "flimrende" effekt fremkommer, når du bevæger dig gennem formlen ved hjælp af piletasterne.

    Du kan finde flere oplysninger under Match parentespar i Excel-formler.

    Behandle tekst og tal forskelligt

    Når du opbygger logiske tests af dine nested IF-formler, skal du huske, at tekst og tal skal behandles forskelligt - indkapsl altid tekstværdier i dobbelte anførselstegn, men sæt aldrig anførselstegn omkring tal:

    Ja: =IF(B2>249, "Fremragende",...)

    Forkert: =IF(B2>"249", "Excellent",…)

    Den logiske test i den anden formel giver FALSK, selv om værdien i B2 er større end 249. Hvorfor? Fordi 249 er et tal, og "249" er en numerisk streng, hvilket er to forskellige ting.

    Tilføj mellemrum eller linjeskift for at gøre de indlejrede IF'er lettere at læse

    Når du opbygger en formel med flere indlejrede IF-niveauer, kan du gøre formlens logik klarere ved at adskille de forskellige IF-funktioner med mellemrum eller linjeskift. Excel er ligeglad med ekstra mellemrum i en formel, så du behøver ikke bekymre dig om, at den er mangelfuld.

    Hvis du vil flytte en bestemt del af formlen til næste linje, skal du blot klikke på det sted, hvor du vil indsætte et linjeskift, og trykke på Alt + Enter . Udvid derefter formellinjen så meget som nødvendigt, og du vil se, at din IF-formel er blevet meget lettere at forstå.

    Alternativer til indlejret IF i Excel

    Hvis du vil omgå grænsen på syv integrerede IF-funktioner i Excel 2003 og ældre versioner og gøre dine formler mere kompakte og hurtige, kan du overveje at bruge følgende alternativer til integrerede Excel IF-funktioner.

    1. Hvis du vil teste flere betingelser og returnere forskellige værdier baseret på resultaterne af disse tests, kan du bruge funktionen CHOOSE i stedet for indlejrede IF'er.
    2. Opbyg en referencetabel og brug VLOOKUP med tilnærmelsesvis match som vist i dette eksempel: VLOOKUP i stedet for indlejret IF i Excel.
    3. Brug IF med de logiske funktioner OR / AND, som vist i disse eksempler.
    4. Brug en array-formel som vist i dette eksempel.
    5. Kombinér flere IF-udsagn ved at bruge CONCATENATE-funktionen eller concatenate-operatoren (&). Du kan finde et eksempel på en formel her.
    6. For erfarne Excel-brugere er det bedste alternativ til at bruge flere IF-funktioner, der er indlejret i hinanden, måske at oprette en brugerdefineret regnearkfunktion ved hjælp af VBA.

    Sådan bruger du en If-formel i Excel med flere betingelser. Tak for din læsning og håber at se dig på vores blog i næste uge.

    Arbejdsbog til download

    Indlejrede If Excel-udsagn (.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.