HVIS-funktionen gør det muligt at foretage en logisk sammenligning mellem en værdi, og hvad du forventer, ved at teste for en betingelse og returnere et resultat, hvis udfaldet er Sandt eller Falskt.
-
=HVIS(Noget er sandt, så gør noget, ellers gør noget andet)
Så en HVIS-sætning kan have to resultater. Det første resultat er, hvis din sammenligning er Sand, det andet hvis din sammenligning er Falsk.
HVIS-sætninger er utroligt robuste og danner grundlaget for mange regnearksmodeller, men de er også den egentlige årsag til mange regnearksproblemer. Ideelt set bør en HVIS-sætning anvendes på minimale betingelser, f.eks. Mand/kvinde, Ja/Nej/Måske, for at nævne nogle få, men nogle gange kan det være nødvendigt at evaluere mere komplekse scenarier, der kræver indlejring* mere end 3 HVIS-funktioner sammen.
* "Indlejring" er at sætte flere funktioner sammen i en formel.
Brug funktionen HVIS, som er en af de logiske funktioner, til at få returneret én værdi, hvis en betingelse er sand, og en anden værdi, hvis den er falsk.
Syntaks
HVIS(logisk_test, værdi_hvis_sand, [værdi_hvis_falsk])
Det kunne f.eks. være:
-
=HVIS(A2>B2;"Overskredet budget";"OK")
-
=HVIS(A2=B2,B4-A4,"")
Argumentnavn |
Beskrivelse |
logisk_test (påkrævet) |
Den betingelse, du vil teste. |
værdi_hvis_sand (påkrævet) |
Den værdi, der skal returneres, hvis resultatet af logisk_test er SAND. |
værdi_hvis_falsk (valgfrit) |
Den værdi, der skal returneres, hvis resultatet af logisk_test er FALSK. |
Bemærkninger
Mens Excel gør det muligt for dig at indlejre op til 64 forskellige HVIS-funktioner, kan det slet ikke anbefales at gøre dette. Hvorfor?
-
Det kræver en hel del omtanke at bygge flere HVIS-sætninger korrekt og sørge for, at deres logik kan regne korrekt gennem hver enkel betingelse helt til slut. Hvis du ikke har indlejret dine formler helt korrekt, fungerer de muligvis i 75 % af tilfældene, men returnerer uventede resultater i 25 % af tilfældene. Det er desværre meget sandsynlig, at du ikke kan finde disse 25 %.
-
Det kan være utroligt svær at vedligeholde flere HVIS-sætninger, især når du vender tilbage på et senere tidspunkt og forsøger at finde ud af, hvad du, eller værre, en anden, har forsøgt af udføre.
Hvis du sidder med en HVIS-sætning, der bare bliver længere og længere, er det på tide at lægge musen og genoverveje din strategi.
Lad os se på, hvordan du opretter en kompleks indlejret HVIS-sætning korrekt ved hjælp af flere HVIS-udtryk, og hvornår det er tid til at erkende, at nu skal der anvendes et andet værktøj i Excel.
Eksempler
Følgende er et eksempel på en relativt almindelig indlejret HVIS-sætning til konvertering af studerendes prøveresultater til deres tilsvarende bogstavkarakter.
-
=HVIS(D2>89,"A",HVIS(D2>79,"B",HVIS(D2>69,"C",HVIS(D2>59,"D","F"))))
Denne komplekse indlejrede HVIS-sætning følger en ligefrem logik:
-
Hvis prøveresultatet (i celle D2) er større end 89, får den studerende et A
-
Hvis prøveresultatet er større end 79, får den studerende et B
-
Hvis prøveresultatet er større end 69, får den studerende et C
-
Hvis prøveresultatet er større end 59, får den studerende et D
-
Ellers får den studerende et F
Dette eksempel er relativt sikkert, fordi det ikke er sandsynligt, at korrelationen mellem prøveresultater og bogstavkarakterer ændres, så det kræver ikke meget vedligeholdelse. Men her er en tanke - hvad nu hvis du har brug for at segmentere karakterer mellem A + A og A- (og så videre)? Nu skal din HVIS-sætning med fire betingelser omskrives for at have 12 betingelser! Sådan ville formlen se ud nu:
-
=HVIS(B2>97,"A+",HVIS(B2>93,"A",HVIS(B2>89,"A-",HVIS(B2>87,"B+",HVIS(B2>83,"B",HVIS(B2>79,"B-", HVIS(B2>77,"C+",HVIS(B2>73,"C",HVIS(B2>69,"C-",HVIS(B2>57,"D+",HVIS(B2>53,"D",HVIS(B2>49,"D-","F"))))))))))))
Det er stadig funktionelt nøjagtigt og fungerer som forventet, men det tager lang tid at skrive og længere tid at teste for at sikre, at den gør det, du ønsker. Et andet iøjnefaldende problem er, at du blev nødt til selv at skrive point og tilsvarende bogstavkarakterer i hånden. Hvad er sandsynligheden for, at du utilsigtet laver en slåfejl? Forestil dig nu, at du gør dette 64 gange med mere komplekse betingelser! Naturligvis er det muligt, men vil du virkelig udsætte dig selv for sådanne anstrengelser og mulige fejl, som er meget svære at få øje på?
Tip!: Alle funktioner i Excel kræver en venstre- og højreparentes (). Excel forsøger at hjælpe dig med at finde ud af, hvad der skal til, ved at farvelægge forskellige dele af formlen, når du redigerer den. Hvis du f.eks. redigerer ovenstående formel, når du flytter markøren forbi hver af de sidste parenteser ")", får dens tilsvarende venstreparentes den samme farve. Dette kan især være nyttigt i komplekse indlejrede formler, når du forsøger at finde ud af, om du har nok matchende parenteser.
Yderligere eksempler
Følgende er et meget almindeligt eksempel på beregning af Salgsprovision, som er baseret på opnåede indtægtsniveauer.
-
=HVIS(C9>15000,20%,HVIS(C9>12500,17.5%,HVIS(C9>10000,15%,HVIS(C9>7500,12.5%,HVIS(C9>5000,10%,0)))))
Denne formel siger, at HVIS (C9 er større end 15.000, så returner 20 %, HVIS (C9 er større end 12.500, så returner 17,5 % osv.
Selvom den ligner det tidligere eksempel på karakterer, er denne formel et godt eksempel på, hvor svært det kan være at bevare store HVIS-sætninger – hvad skal du gøre, hvis din organisation har besluttet at tilføje nye kompensationsniveauer og muligvis endda ændre de eksisterende værdier for dollar eller procent? Du ville have en masse arbejde på dine hænder!
Tip!: Du kan indsætte et linjeskift i formellinjen for at gøre det lettere at læse lange formler. Tryk på ALT+ENTER før teksten, du vil ombryde til en ny linje.
Her er et eksempel på provisionsscenariet med en fejlagtig logik:
Kan du se, hvad der er galt? Sammenlign rækkefølgen af sammenligninger af indtægter med det forrige eksempel. Hvilken vej går den her? Det er rigtigt, det går fra bunden op ($ 5.000 til $ 15.000), ikke den anden vej rundt. Men hvorfor skulle det være sådan en big deal? Det er en stor ting, fordi formlen ikke kan videregive den første evaluering for en værdi over $ 5.000. Lad os antage, at du har $12.500 i omsætning – HVIS-opgørelsen returnerer 10 %, fordi den er større end $ 5.000, og den stopper der. Dette kan være utroligt problematisk, fordi disse typer fejl i mange situationer går ubemærket hen, indtil de har haft en negativ indvirkning. Så velvidende, at der er nogle alvorlige faldgruber med komplekse indlejrede HVIS-sætninger, hvad kan du gøre? I de fleste tilfælde kan du bruge funktionen LOPSLAG i stedet for at opbygge en kompleks formel med funktionen HVIS. Ved hjælp af LOPSLAG skal du først oprette en referencetabel:
-
=VLOOKUP(C2,C5:D17,2,SAND)
Denne formel vil søge efter værdien i C2 i området C5:C17. Hvis værdien findes, returneres den tilsvarende værdi fra den samme række i kolonne D.
-
=VLOOKUP(B9,B2:C6,2,SAND)
På samme måde søger denne formel efter værdien i celle B9 i området B2:B22. Hvis værdien findes, returneres den tilsvarende værdi fra den samme række i kolonne C.
Bemærk!: Begge disse LOPSLAG bruger argumentet SAND i slutningen af formlerne, hvilket betyder, at de skal lede efter et tilnærmet match. Med andre ord svarer det til de præcise værdier i opslagstabellen samt eventuelle værdier, der ligger mellem dem. I dette tilfælde skal opslagstabellerne være sorteret i stigende rækkefølge fra mindst til størst.
LOPSLAG er beskrevet meget mere detaljeret her, men det er helt sikkert meget nemmere end en kompleks indlejret HVIS-sætning på 12 niveauer! Der er også andre fordele:
-
LOPSLAG referencetabeller er helt åbne og nemme for alle at se.
-
Tabelværdier kan nemt opdateres, og du behøver aldrig at røre formlen, hvis dine betingelser ændres.
-
Hvis du ikke vil have folk til at se eller blande sig i referencetabellen, kan du blot anbringe den i et andet regneark.
Vidste du?
Der findes nu en HVISER-funktion, der kan erstatte flere indlejrede HVIS-sætninger med en enkelt funktion. Så i stedet for vores indledende karaktereksempel, som har 4 indlejrede HVIS-funktioner:
-
=HVIS(D2>89,"A",HVIS(D2>79,"B",HVIS(D2>69,"C",HVIS(D2>59,"D","F"))))
Kan det gøres meget enkelt med en enkelt HVISER-funktion:
-
=HVISER(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")
Funktionen HVISER er god, fordi du ikke behøver at bekymre dig om alle HVIS-sætningerne og parenteserne.
Bemærk!: Denne funktion er kun tilgængelig, hvis du har et Microsoft 365-abonnement. Hvis du er en Microsoft 365abonnent, skal du sørge for, at du har den seneste version af Office.Køb eller prøv Microsoft 365
Har du brug for mere hjælp?
Du kan altid spørge en ekspert i Excel Tech Community eller få support i community'er.
Relaterede emner
Video: Avancerede HVIS-funktioner Funktionen HVISER (Microsoft 365, Excel 2016 og nyere) Funktionen TÆL.HVIS tæller værdier baseret på et enkelt kriterium Funktionen TÆL.HVISER tæller værdier baseret på flere kriterier Funktionen SUM.HVIS summerer værdier baseret på et enkelt kriterium Funktionen SUM.HVISER summerer værdier baseret på flere kriterier Funktionen OGFunktionen ELLERFunktionen LOPSLAGOversigt over formler i ExcelSådan undgår du ødelagte formlerRegistrere fejl i formlerLogiske funktionerExcel-funktioner (alfabetisk)Excel-funktioner (efter kategori)