HVIS (engelsk: IF) tester én betingelse og giver ét af to svar. Skal flere betingelser være opfyldt på én gang, lægger du dem i OG (AND). Er det nok, at én af dem er opfyldt, bruger du ELLER (OR):

E2 =HVIS(OG(B2>=50;C2="ja");"Godkendt";"Ikke godkendt")
Godkendt kræver mindst 50 point og "ja" i kolonnen Afleveret.

Afhænger svaret af flere niveauer, fx guld, sølv og bronze efter point, er HVISER (IFS) lettere at læse end flere HVIS inden i hinanden. Begge dele kræver, at betingelserne står i den rigtige rækkefølge.

I Excel på dansk skilles argumenterne med semikolon. Kommer formlen fra en engelsk guide, så se formler fra engelske guides.

HVIS, OG og ELLER på en holdliste

Listen er opdigtet. Point står i kolonne B, og om opgaven er afleveret, står i C. Emmas point er kommet ind som tekst, og Frederik mangler point:

Arket Grundlag i eksempelfilen. Kolonne D til F er formlerne nedenfor, skrevet i række 2 og kopieret ned.
Række ABCDEF
1 Navn Point Afleveret HVIS HVIS med OG HVIS med ELLER
2 Anna72jaBeståetGodkendtOK
3 Bo48jaIkke beståetIkke godkendtTjek
4 Cecilie50nejBeståetIkke godkendtTjek
5 Dennis91JABeståetGodkendtOK
6 Emma40jaBeståetGodkendtOK
7 FrederikjaIkke beståetIkke godkendtTjek
Arket Grundlag i eksempelfilen. Kolonne D til F er formlerne nedenfor, skrevet i række 2 og kopieret ned.
D2 =HVIS(B2>=50;"Bestået";"Ikke bestået")
F2 =HVIS(ELLER(B2<50;C2="nej");"Tjek";"OK")
Tjek, når pointene er under 50, eller opgaven ikke er afleveret.

>= tager grænsen med, så Cecilie er bestået med præcis 50 point. Dennis skrev “JA” med store bogstaver og blev alligevel godkendt, for HVIS skelner ikke mellem store og små bogstaver.

Emma står som bestået med 40 point. Det er forkert, og grunden er, at hendes point er tekst: =ER.TAL(B6) gav FALSK. Frederik har ingen point og står som ikke bestået, fordi en tom celle tæller som 0.

Flere niveauer: indlejret HVIS eller HVISER

Med indlejret HVIS står den næste test i det sidste argument. Med HVISER skriver du betingelse og svar parvis:

B2 =HVIS(A2>=90;"Guld";HVIS(A2>=80;"Sølv";HVIS(A2>=50;"Bronze";"Ingen")))
D2 =HVISER(A2>=90;"Guld";A2>=80;"Sølv";A2>=50;"Bronze";SAND;"Ingen")
Samme regel med HVISER. SAND til sidst er svaret, når ingen af de andre betingelser passer.

Vi prøvede begge, og så de samme to formler med fejl, på seks pointtal:

Point Indlejret HVIS Samme, forkert rækkefølge HVISER HVISER uden SAND
95 Guld Bronze Guld Guld
85 Sølv Bronze Sølv Sølv
72 Bronze Bronze Bronze Bronze
50 Bronze Bronze Bronze Bronze
49 Ingen Ingen Ingen #I/T
30 Ingen Ingen Ingen #I/T

Kolonnen med forkert rækkefølge er =HVIS(A2>=50;"Bronze";HVIS(A2>=80;"Sølv";HVIS(A2>=90;"Guld";"Ingen"))). Excel tester fra venstre og stopper ved den første betingelse, der passer. 95 er også mindst 50, så 95 og 85 fik bronze, uden nogen fejl. Skriv derfor den højeste grænse først, når du tester med >=.

Uden det sidste par, SAND;"Ingen", gav HVISER fejlen #I/T for 49 og 30, fordi ingen betingelse passede. Microsofts danske side om HVISER kalder fejlen #N/A. I Excel på dansk hedder den #I/T.

Har du mange trin, eller skal grænserne kunne ændres uden at rette formlen, så læg dem i en lille tabel og slå op i den. Det står i guiden om intervalopslag med rabattrin og karakterer.

Fælder, der giver det forkerte svar uden fejl

Tal gemt som tekst består altid

Arket Fælder har teksten 40 i G6. =G6>=50 gav SAND, selvom 40 er mindre end 50. Excel sammenligner ikke teksten med tallet som et tal. =VÆRDI(G6)>=50 gav FALSK, som det skal.

Den bedste løsning er at lave kolonnen om til rigtige tal, så alle formler regner rigtigt. Se tal gemt som tekst.

En tom celle tæller som 0

Den tomme celle L4 gav SAND både for =L4="" og =L4=0, og =HVIS(L4>=50;"Bestået";"Ikke bestået") gav “Ikke bestået”. Skal en manglende værdi stå som manglende, så test for den først:

H2 =HVIS(B2="";"Mangler";HVIS(B2>=50;"Bestået";"Ikke bestået"))
Gav Mangler for Frederik. For Emma gav den stadig Bestået, fordi hendes celle ikke er tom, men indeholder teksten 40.

Tom tekst er ikke en tom celle

Mange formler slutter med "", så cellen ser tom ud. Men "" er tekst. I cellen F2 med =HVIS(L4>0;L4;""), som gav tom tekst:

Formel Resultat
=F2+1 #VÆRDI!
=SUM(F2;1) 1
=ER.TOM(F2) FALSK
=F2="" SAND

Regner du videre på celler, der kan indeholde "", så brug SUM frem for plus, og test med ="" i stedet for ER.TOM. Mere om fejlen i Excel-fejl på dansk.

HVIS forstår ikke jokertegn

=HVIS(A2="Kaffe*";"Kaffe";"Andet") gav “Andet” for både Kaffe og Kaffefilter. HVIS leder efter teksten “Kaffe*” med stjerne. Brug i stedet TÆL.HVIS, som forstår *, eller SØG:

C2 =HVIS(TÆL.HVIS(A2;"Kaffe*")>0;"Kaffe";"Andet")
D2 =HVIS(ER.TAL(SØG("kaffe";A2));"Kaffe";"Andet")
Gav Kaffe for Kaffe og Kaffefilter og Andet for Grøn te. SØG skelner ikke mellem store og små bogstaver.

TÆL.HVIS med "Kaffe*" matcher tekst, der begynder med Kaffe. SØG finder ordet hvor som helst i teksten.

SKIFT, når du sammenligner med faste værdier

Skal én celle oversættes til en anden tekst, fx en landekode til et land, er SKIFT (SWITCH) kortere end flere HVIS. Du skriver værdien én gang og derefter par af værdi og svar:

B9 =SKIFT(A9;"DK";"Danmark";"SE";"Sverige";"NO";"Norge";"Andet")
Gav Danmark, Sverige og Norge for DK, SE og NO, og Andet for DE.

Det sidste argument uden en værdi foran er standardsvaret. Uden det gav SKIFT fejlen #I/T for DE. Microsofts danske side om SKIFT kalder fejlen #N/T, men i Excel på dansk står der #I/T.