Sådan bruges flere IF-sætninger i Microsoft Excel
Billedkredit: monkeybusinessimages/iStock/GettyImages
En IF-sætning i Excel kører en logisk test, der returnerer én værdi, hvis en betingelse er opfyldt, og en anden værdi, hvis den ikke er det. Brug af en enkelt Excel IF-sætning kan kun rumme grundlæggende handlinger, men hvis du indlejrer flere IF-sætninger, kan du udføre komplicerede opgaver. Den eneste ulempe er, at du skal være forsigtig, når du konstruerer formlen for at undgå at lave fejl. Alternative Excel-funktioner kan udføre det samme job med mindre risiko for fejl. Lær det grundlæggende i indlejrede IF-sætninger i Excel og alternativerne for at finde den bedste tilgang til dine behov.
Forståelse af Excel IF-erklæringen
HVIS-funktionen i Excel siger i det væsentlige "hvis dette er sandt, returner x-værdi, men hvis det ikke er, returner y-værdi." For eksempel, hvis du tjekkede for at se, om forskellige afdelinger i din virksomhed var under eller over budgettet, kan du sammenligne deres udgifter med deres budgetter ved hjælp af funktionen og få det til at returnere "Over budget", hvis afdelingen brugte for meget eller "Inden for budgettet", hvis det gjorde ikke. Generelt bruger du sammenligningsoperatorer til at danne din erklæring, såsom:
Dagens video
- = (lig med)
(bedre end)
= (større end eller lig med)
- < (mindre end)
- <= (mindre end eller lig med)
- <> (ikke lig med)
At forstå syntaksen for Excel IF-sætningen er et afgørende skridt i retning af at lære at bruge det korrekt. Formatet for funktionen er HVIS(logisk_test, værdi_hvis_sand, [værdi_hvis_falsk]) hvor de firkantede parenteser indikerer, at dette sidste argument er valgfrit. Disse er nemme at fortolke: De logisk_test betyder det udsagn, du vil teste, værdi_hvis_sand er stedet for, hvad du vil have Excel til at vise, hvis testen er sand, og [værdi_hvis_falsk] er det valgfrie sted for det, du vil have Excel til at vise, hvis testen er falsk.
Dette er nok til, at du kan bruge Excel-formlen til hvis-så-udsagn, som kan påvises ved at bruge eksemplet "Over budget/inden for budget" fra tidligere. Forestil dig, at du har beløbet brugt af forskellige afdelinger i kolonne B og beløbet budgetteret i kolonne C, hvor værdierne starter på anden række. I celle D2 ville du skrive =HVIS(B2>C2, "Over budget", "Inden for budget") for at returnere det resultat, du leder efter (bemærk, at du skal bruge anførselstegn for at få det til at returnere teksten indeni). Den første del siger "hvis værdien i B2 er større end værdien i C2" (hvis udgifterne er større end budgettet), den anden del siger "så returner teksten Over budget og den tredje del siger "hvis ikke, så vend tilbage Inden for budgettet."
Indlejring af flere IF-sætninger
At få mest muligt ud af Excel IF-sætningsværktøjet betyder, at du kan kombinere flere IF-sætninger, når du har en opgave, der passer til det. Du kan inkludere en anden IF-sætning i din oprindelige IF-sætning, og du kan inkludere en anden IF-sætning i den og så videre. Dette er især nyttigt, hvis du vil kategorisere noget i en af flere grupper ved hjælp af en enkelt formel. For eksempel kan du bruge indlejrede IF-udsagn til at konvertere de score, eleverne opnåede på en test, til en karakter.
For at bruge flere IF-sætninger korrekt, tænk over logikken i det, du beder Excel om at gøre. I det væsentlige, efter din betingelse (det første argument i funktionen), kan du tilføje en anden IF-sætning til værdi_hvis_sand eller værdi_hvis_falsk mellemrum, for at fortælle Excel, hvad der skal gøres næste gang. Tænk på dette som at få Excel til at kontrollere cellen mod et andet kriterium, hvis den pågældende celle ikke gør det opfylde det første kriterium (eller faktisk, hvis det opfylder det første), og du kan fortsætte denne proces i lang tid tid. Med andre ord, du forvandler "hvis dette, så det" til "hvis det her og dette, så det" eller "hvis ikke dette, men det her, så det."
Et eksempel på indlejret IF-funktion
Forestil dig, at du har givet eleverne en test, hvor en score på 85 procent eller højere er et A, mellem 70 og 85 procent er et B, mellem 55 og 70 procent er et C, mellem 40 procent og 55 procent er et D og alt lavere er et Svigte. Resultaterne er i kolonne B, fra række 2 til række 11. Du kan bruge en omhyggeligt konstrueret Excel IF-funktion med flere betingelser til at kategorisere elevernes score.
Den første del er let (for en score i B2, i dette eksempel): =HVIS(B2>=85, "A") fortæller Excel at returnere et A, hvis eleven scorede 85 eller højere. Nesting giver dig mulighed for at tilføje andre karakterer ved at bruge det tredje argument (hvad skal man gøre, hvis betingelsen er falsk) for at tilføje ekstra betingelser: =HVIS(B2>=85, "A", HVIS(B2>=70, "B")), som fortæller Excel at returnere et A for scorer på 85 eller højere, men hvis ikke, returnere et B, hvis scoren er over 70. Fortsæt på denne måde for at fuldføre formlen ved at bruge det tredje argument for en ny IF-sætning hver gang: =HVIS(B2>=85, "A", HVIS(B2>=70, "B",HVIS(B2>=55, "C", HVIS(B2>=40, "D", "Fejl")) ))
Dette ser kompliceret ud, så at nedbryde det burde cementere ideen. De første to argumenter siger "hvis scoren i B2 er 85 eller mere, så får eleven et A," og det tredje siger, "ellers skal du kontrollere følgende betingelse." Det anden IF fører til denne erklæring, "(for elever, der scorer mindre end 85), hvis scoren i B2 er 70 eller højere, får eleven et B, og hvis ikke, tjek følgende betingelse." Den tredje IF siger, "(for elever, der scorer mindre end 70), hvis scoren i B2 er 55 eller højere, får den studerende et C, og hvis ikke, tjek følgende betingelse" og den fjerde siger "(for elever, der scorer mindre end 55) hvis scoren i B2 er højere end 40, får eleven et D, hvis ikke, eleven fejler."
Fejlkoder for IF-erklæringer
Forudsat at du indtaster formlen for din IF-sætning korrekt, vil den returnere en af de muligheder, du har givet til Excel. Men hvis du laver en fejl, kan formlen muligvis returnere en 0 eller #NAVN? i cellen, der indeholder din formel.
EN 0 fejl betyder, at enten værdi_hvis_sand eller værdi_hvis_falsk argumentet er tomt. Løs dette problem ved at sikre, at der indtastes en værdi i begge argumenter eller i det mindste i værdi_hvis_sand argument. Det værdi_hvis_falsk argument kan fjernes fuldstændigt, og det vil returnere FALSK, hvis du ikke sætter et andet komma efter værdi_hvis_sand Mark.
EN #NAVN? fejl fortæller dig, at du sandsynligvis har stavet forkert eller skrevet forkert i formlen. Dette kan være lidt sværere at rette, fordi det kan være en hvilken som helst del af formlen, men det bedste råd er at dobbelttjekke alt eller skrive formlen ud igen.
Almindelige problemer med indlejrede IF-erklæringer
Den forrige eksempel indlejrede IF-funktionsformel blev ret lang, hvilket er en af de største ulemper ved at bruge flere IF-sætninger i Excel. De kan blive komplicerede, og det er nemt at lave en fejl, fordi du skal følge logikken nøje for at sikre, at alt fungerer, som du har tænkt dig. Microsoft påpeger, at en forkert indlejret formel endda kan returnere det rigtige resultat det meste af tiden, men forkerte resultater i sjældne tilfælde. Disse er svære at få øje på.
Ikke at sætte betingelserne i den rigtige rækkefølge er en almindelig fejl. I eksemplet med karakterprøver, hvis du startede med den laveste score =HVIS(B2>=40, "D", …" og fortsatte med at liste de andre i stigende rækkefølge, selv en score på 100 ville returnere en D. Dette skyldes, at den første betingelse kontrolleres først, så hvis du startede med "hvis celle B2 er 40 eller højere, returner en D" ville den klassificere enhver score på 40 eller derover som en D uden at kontrollere noget andet, fordi den opfylder den første tilstand. Dette er et perfekt eksempel på, hvorfor du skal følge logikken i din formel igennem.
Du skal også sørge for at tilføje det rigtige antal parenteser til slutningen af flere IF-sætninger for at lukke formlen korrekt. Excel hjælper med dette ved at farvekoordinere og fremhæve parenteserne, mens du arbejder.
Maksimalt antal indlejrede IF'er
Teknisk kan du indlejre op til 64 IF-funktioner i en enkelt formel, men Microsoft anbefaler ikke at bruge funktionen som denne af ovenstående årsager. Tingene bliver hurtigt komplicerede, og hvis du forsøger at indlejre mere end 10 IF-sætninger, er der sandsynligvis allerede et bedre værktøj til jobbet inkluderet i Excel.
IFS-funktionen i Excel
Det mest bekvemme alternativ til IF-funktionen er IFS-funktionen, som er en version af funktion, der udfører den samme opgave som indlejring i en enkelt funktion og kan håndtere op til 127 betingelser. IFS-funktionen har en enklere syntaks: =IFS(logisk_test1, værdi_hvis_sand1, [logisk_test2, værdi_hvis_sand2], [logisk_test3, værdi_hvis_sand3]...) og så videre. I bund og grund fungerer dette som indlejrede IF-sætninger, bortset fra at efterfølgende IF-sætninger optager pladsen efter "værdien hvis sand" uden at skulle hente funktionen frem igen.
Formlen i prøvekaraktereksemplet kan skrives meget enklere med IFS-funktionen. I stedet for:
=HVIS(B2>=85, "A", HVIS(B2>=70, "B",HVIS(B2>=55, "C", HVIS(B2>=40, "D", "Fejl")) ))
bare skriv
=IFS(B2>=85, "A", B2>=70, "B", B2>=55, "C", B2>=40, "D", SAND, "Fail")
Det RIGTIGT i stedet før sidst siger "hvis ingen af de andre værdier er opfyldt, så returner den næste værdi."
Denne funktion er kun tilgængelig i Excel 2019 eller Excel til Office 365.
VLOOKUP-funktionen
VLOOKUP-funktionen i Excel er ofte et enklere alternativ til flere IF-sætninger og er tilgængelig på enhver version af Excel fra 2007 og fremefter. Det er ikke ideelt til alle situationer, fordi det enten returnerer resultater for et nøjagtigt match eller for nærmest nummer, så det kunne ikke bruges til karakterer som det foregående eksempel. Men i mange situationer kan det spare dig for en masse arbejde med at skrive en formel, selvom du skal konstruere en tabel med mulige værdier i én kolonne, såsom produkter, din butik sælger, og hvad du ønsker, at funktionen skal returnere, såsom prisen på produktet, i en anden kolonne, for eksempel.
Syntaksen for VLOOKUP er =VOPSLAG(opslagsværdi, tabelmatrix, kolonneindekstal, [områdeopslag]) og at lære hver af komponenterne viser dig, hvordan du bruger den. Det opslagsværdi argument er den værdi, du vil kontrollere, som skal være en celle i samme kolonne som starten af den tabel, du vil kontrollere den mod, enten over eller under den. Det tabel_array er rækken af celler, der indeholder din tabel med oplysninger, såsom produkter og deres tilsvarende priser, og col_index_num er den kolonne, du ønsker, at Excel skal kigge i for at finde den værdi, der skal returneres, med 1 angiver kolonnen længst til venstre, 2 angiver den næste og så videre. Langt om længe, [range_lookup] er valgfrit, men indtast "SAND", hvis du ønsker, at Excel skal basere svaret på den nærmeste værdi eller "FALSK", hvis du kun ønsker et eksakt match.