Funktionen HVIS – indlejrede formler og undgåelse af fejl

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å hovedårsagen til mange problemer i regneark. Ideelt set skal en HVIS-sætning gælde for minimale betingelser, f.eks. Han/Hun, 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* af flere end 3 HVIS-funktioner.

* "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, da det er usandsynligt, at korrelationen mellem prøveresultater og bogstavkarakterer ændres, så der kræves ikke meget vedligeholdelse. Men her er en anden idé – hvad nu, hvis du vil opdele karaktererne yderligere f.eks. med A+, A, A-? Nu skal din HVIS-sætning med fire betingelser omskrives til at rumme 12 betingelser! Her kan du se, hvordan din formel vil 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 venstre- og højreparentes (). Excel vil forsøge at hjælpe dig med at finde ud af, hvad der skal stå hvor, ved at farvelægge forskellige dele af din formel, når du redigerer den. Hvis du f.eks. vil redigere den ovenstående formel, og du flytter markøren over hver af højreparenteserne ")", så vil den tilhørende venstreparentes skifte til den samme farve. Dette kan være særligt nyttigt i komplekse indlejrede formler, når du forsøger at finde ud af, om du har et tilstrækkeligt antal 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.

Dette svarer til 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 virksomhed f.eks. beslutter sig for at tilføje nye lønniveauer eller ændrer værdierne for beløb eller procentdel? Du ville få en masse at skulle se til!

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 indtægtssammenligninger med det forrige eksempel. Hvilken retning bevæger logikken her sig i? Det er rigtigt. Den kommer fra bunden og op (5.000 USD til 15.000 USD), ikke omvendt. Men hvorfor skulle det være noget særligt? Det er noget særligt, fordi formlen ikke kan godkende den første evaluering for nogen værdi over 5.000 USD. Lad os sige, at du har 12.500 USD i indtægter – HVIS-sætningen vil returnere 10 %, fordi den er større end 5.000 USD, og der stopper den. Dette kan være utroligt problematisk, fordi disse typer af fejl bliver overset i mange situationer, indtil de har en negativ effekt. Hvad kan du så gøre, når du ved, at der findes nogen alvorlige faldgruber ved brug af komplekse indlejrede HVIS-sætninger? I de fleste tilfælde kan du bruge funktionen LOPSLAG i stedet for at skabe en kompleks formel med HVIS-funktionen. Ved brug af LOPSLAG skal 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 er meget enklere end en kompleks indlejret HVIS-sætning med 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 Office 365-abonnement. Hvis du er Office 365-abonnent, skal du sørge for, at du har den seneste version af Office.

Prøv Office 365 eller den seneste version af Excel

Har du brug for mere hjælp?

Du kan altid spørge en ekspert i Excel Tech Community, få support i Answers community eller foreslå en ny funktion eller forbedring i Excel User Voice.

Relaterede emner

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

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×