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):
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:
| Række | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 1 | Navn | Point | Afleveret | HVIS | HVIS med OG | HVIS med ELLER |
| 2 | Anna | 72 | ja | Bestået | Godkendt | OK |
| 3 | Bo | 48 | ja | Ikke bestået | Ikke godkendt | Tjek |
| 4 | Cecilie | 50 | nej | Bestået | Ikke godkendt | Tjek |
| 5 | Dennis | 91 | JA | Bestået | Godkendt | OK |
| 6 | Emma | 40 | ja | Bestået | Godkendt | OK |
| 7 | Frederik | ja | Ikke bestået | Ikke godkendt | Tjek |
>= 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:
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:
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:
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:
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.