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 stabile og danner grundlag for mange regnearksmodeller, men de er også årsag til mange regnearks problemer. Ideelt set bør en hvis-sætning gælde for 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 af * mere end 3, hvis de fungerer 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 ikke er sandsynligt, at korrelationen mellem testresultater og bogstav karakterer ændres, så det kræver ikke meget vedligeholdelse. Men her er en tanke-hvad nu, hvis du har brug for at segmentere karaktererne mellem A +, A og A-(og så videre)? Nu er din fire betingelse Hvis-sætningen skal omskrives for at have 12 betingelser! Sådan ser formlen 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 sker, når du foretager en farvelægning af forskellige dele af formlen, når du redigerer den. Hvis du for eksempel har redigeret formlen ovenfor, og du flytter markøren ud for hver af de afsluttende parenteser ")", vil den tilsvarende startparentes slå samme farve til. Dette kan især være nyttigt i komplekse indlejrede formler, når du forsøger at finde ud af, om du har en tilsvarende parentes.

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.

Mens det er remarkablyt magen til eksemplet med tidligere karakterer, er denne formel et glimrende eksempel på, hvor svært det kan være at opretholde store hvis-udsagn – hvad skal du gøre, hvis din organisation har besluttet at tilføje nye kompensationsniveauer og muligvis endda ændre de eksisterende valuta-eller procentværdier? Du ville have masser af arbejde på din hånd!

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 omsætnings sammenligninger med det forrige eksempel. Hvilken måde er det her? Det er rigtigt, det går fra bunden ($5.000 til $15.000), ikke den anden vej rundt. Men hvorfor bør det være en sådan stor handel? Det er en stor del, fordi formlen ikke kan bestå den første evaluering af en hvilken som helst værdi over $5.000. Lad os sige, at du har $12.500 i omsætning – Hvis-sætningen returnerer 10%, fordi den er større end $5.000, og den stopper der. Det kan være utroligt problematiskt, da det i mange situationer er, at disse typer fejl ikke bliver afmærket, før de har haft en negativ effekt. Så du ved, at der er nogle alvorlige fejl 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 oprette 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 dækket af meget mere detaljer her, men det er meget enklere end et 12-niveau, kompleks indlejret hvis-sætning! 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 365-abonnent, skal du sørge for, at du har den seneste version af Office.

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
HVISER-funktionen (Microsoft 365, Excel 2016 og nyere)
funktionen TÆL vil tælle værdier, der er baseret på et enkelt kriterium
,funktionen TÆL tællerværdier baseret på flere kriterier
VLOOKUP function
, funktionenSum summerer værdier baseret på et enkelt kriterium
,som funktionen SUM summere værdier baseret på flere kriterier
og funktion
eller funktions
Oversigt over formler i Excel
Sådan undgår du, at beskadigede formler
registrerer fejl i formler
logiske funktioner
Excel-funktioner (alfabetisk)
Excel-funktioner (efter kategori)

Bemærk!:  Denne side er oversat ved hjælp af automatisering og kan indeholde grammatiske fejl og unøjagtigheder. Det er vores hensigt, at dette indhold skal være nyttigt for dig. Var disse oplysninger nyttige? Her er artiklen på engelsk, så du kan sammenligne.

Udvid dine Office-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.

×