Funktionen HVIS – indlejrede formler og undgåelse af fejl

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 grundlag for mange regnearksmodeller, men de er også den egentlige årsag til mange problemer i regnearket. Ideelt set bør en HVIS-sætning gælde for minimale betingelser, f.eks. Han/Hun, Ja/Nej/Måske, for blot at nævne nogle få, men nogle gange kan det være nødvendigt at evaluere mere komplekse scenarier, der kræver indlejring* af flere 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.

Komplekst indlejret HVIS-sætning – formlen i E2 er =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"))))))))))))
  • =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:

  1. Hvis prøveresultatet (i celle D2) er større end 89, får den studerende et A

  2. Hvis prøveresultatet er større end 79, får den studerende et B

  3. Hvis prøveresultatet er større end 69, får den studerende et C

  4. Hvis prøveresultatet er større end 59, får den studerende et D

  5. Ellers får den studerende et F

Dette eksempel er relativt sikkert, fordi det er ikke 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 vil segmentere karaktererne 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 din formel 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!: Hver funktion i Excel kræver en start- og slutparentes (). Excel vil prøve at hjælpe dig med at finde ud af, hvad der sker hvor, ved at farvelægge forskellige dele af din formel, 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 ")", ændres den tilsvarende startparentes til 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.

Formlen i celle D9 er HVIS(C9>15000,20%,HVIS(C9>12500,17.5%,HVIS(C9>10000,15%,HVIS(C9>7500,12.5%,HVIS(C9>5000,10%,0)))))
  • =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.

Den ligner meget det tidligere eksempel med karakterer, men denne formel er et godt eksempel på, hvor svært det kan være at vedligeholde store HVIS-sætninger – hvad vil du gøre, hvis din organisation har besluttet at tilføje nye lønniveauer og måske endda ændre værdierne for eksisterende beløb eller procentdele? Du ville få en masse arbejde i hånden!

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:

Formlen i D9 er i uorden som =HVIS(C9>5000,10%,HVIS(C9>7500,12.5%,HVIS(C9>10000,15%,HVIS(C9>12500,17.5%,HVIS(C9>15000,20%,0)))))

Kan du se, hvad der er galt? Sammenlign rækkefølgen af sammenligningerne indtægt med det forrige eksempel. Hvilken måde går dette i gang? Det er rigtigt, det går fra bunden op (DKK 5.000 til $ 15.000), ikke omvendt. Men hvorfor skulle det være så vigtigt? Det betyder meget, fordi formlen ikke kan bestå den første evaluering for en værdi, der er over 5.000 USD. Lad os sige, at du har en indtægt på 12.500 kr. – HVIS-sætningen returnerer 10 %, fordi den er større end DKK 5.000, og den stopper der. Dette kan være ekstremt problematisk, fordi disse fejltyper i mange situationer ikke blivernoticeret, indtil de har haft en negativ indvirkning. Så velvidende, at der er nogle alvorlige faldgruber med komplekse indlejrede HVIS-sætninger, hvad kan du så 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 LOPSLAGskal du først oprette en referencetabel:

Formlen i celle D2 er =VLOOKUP(C2,C5:D17,2,TRUE)
  • =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.

Formlen i celle C9 er =VLOOKUP(B9,B2:C6,2,TRUE)
  • =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 enklere 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 Microsoft 365-abonnent, 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 Answers-forummet

Relaterede emner

Video: Avancerede HVIS-funktioner
Funktionen HVISER (Microsoft 365, Excel 2016 og nyere)
Funktionen TÆL.HVIS vil tælle værdier, der er baseret på et enkelt kriterium
Funktionen TÆL.HVISER vil tælle værdier, der er baseret på flere kriterier
Funktionen SUM.HVIS vil lægge værdier sammen, der er baseret på et enkelt kriterium
Funktionen SUM.HVISER vil lægge værdier sammen, der er baseret på flere kriterier
Funktionen OG
FUNKTIONEN ELLER
LOPSLAG, funktionen
Oversigt over formler i Excel
Sådan undgår du ødelagte formler
Registrer fejl i formler
Logiske funktioner
Excel funktioner (alfabetisk)
Excel funktioner (efter kategori)

Har du brug for mere hjælp?

Udvid dine færdigheder

Gå på opdagelse i kurser >

Få nye funktioner først

DELTAG I MICROSOFT INSIDERS >

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?

Tak for din feedback!

×