HVISER funktion i Excel
HVISER-funktionen dukkede op i Excel fra og med 2019-versionen og er dermed også med i Excel 365. Den udbygger HVIS-funktionens ene logiske test, som kan give ét “enten-eller” resultat. For eksempel: Hvis tallet i celle A2 er større end 15, så skriv ”Bestået” ellers skriv ”Ikke bestået”.
Det er muligt at indlejre flere HVIS funktioner i hinanden men der en begrænsning på 64. Og vælger man at indlejre mange HVIS funktioner, så kan man få formler, som er meget lange, komplekse og svære at fejlfinde i.
Her kan HVISER funktionen være løsningen i stedet. En enkelt HVISER funktion kan nemlig lave samme arbejde som 127 indlejrede HVIS funktioner. Dog skal man være opmærksom på, at hvis man i HVISER funktionen indlejrer andre funktioner som SUM eller MIDDEL, så må det samlede antal indlejrede funktioner stadig ikke overstige 64.
HVISER funktionen benytter en syntaks, som minder meget om HVIS funktionen, men HVIS funktionens syntaks er: HVIS… et eller andet – SÅ… gør én ting – ELLERS… gør en anden ting, eller bare HVIS – SÅ – ELLERS
HVISER funktionens syntaks er: HVIS… et eller andet – SÅ… gør én ting… – HVIS… noget andet SÅ… gør en anden ting – HVIS… noget tredje SÅ… gør en tredje ting… og det kan den så gøre op til 127 gange. Man sætter med andre ord en masse logiske tests op – og første gang HVISER funktionen finder en logisk test, som er SAND, så returneres den tilhørende handling og funktionen stopper. En logisk test kan i den sammenhæng sammenlignes med et spørgsmål, som kun kan besvares med enten JA eller NEJ. Det betyder at man sætter en serie af JA/NEJ spørgsmål op i en foruddefineret rækkefølge – og første gang funktionen returnerer JA, bliver dens værdi sat ind.
Se også vores guide til: HVIS funktionen – TÆL.HVISER – SUM.HVISER
Er du interesseret i et Excel kursus hvor HVISER funktionen og andre beslægtede funktioner gennemgås, så skal du se mere på vores Excel Videregående kursus
Brug af Logiske funktioner
Både HVIS og HVISER og varianter af disse to, tilhører en kategori af funktioner i Excel, der kaldes Logiske Funktioner. Logik er et meget abstrakt begreb og vi, som mennesker opfatter logik meget forskelligt. Derfor vil det være meget logisk for nogle at arbejde med logiske funktioner i Excel, mens det for andre vil være meget…. Ja ulogisk.
I forbindelse med logiske funktioner, skal man skulle lave én eller flere logiske tests. I den forbindelse vil man ofte skulle bruge operatorerne ”Større end” og ”Mindre end” og forskellige andre varianter, som lige vises her:
= betyder ”Lig med” – f.eks. om tallet i celle A2 er lig med 15, som skrives A2=15
> betyder ”større end” – f.eks. om tallet i celle A2 er større end 15, som skrives A2>15
< betyder ”mindre end” – f.eks. om tallet i celle A2 er mindre end 15, som skrives A2<15
>= betyder ”Større end, eller lig med” – skrives A2>=15
<= betyder ”Mindre end, eller lig med” – skrives A2<=15 og endelig
<> som betyder ”Forskellig fra”, f.eks. om tallet i celle A2 er forskelligt fra 15, som skrives A2<>15
Sådan bruger du HVISER funktionen
Her laver vi et eksempel på karaktergivning efter 7-skalaen, hvor der er stillet 100 spørgsmål til prøven. Antal rigtige svar, giver karakteren (IKKE retvisende i forhold til Undervisningsministeriets vejledning til karaktergivning):
På baggrund af antallet af rigtige svar i celle A2 skal returneres en karakter fra kolonne E i celle B2. Vi indsætter HVISER funktionen i celle B2. Marker celle B2 og klik på knappen ’Indsæt funktion’ til venstre for formellinjen:
I dialogboksen kan man søge efter funktionen, ved at klikke i feltet øverst og skrive HVISER og klik på ’Udfør’:
HVISER funktionen dukker nu op øverst på listen med funktioner:
Sørg for at funktionen HVISER er markeret med blåt og klik ’OK’. Dialogboksen til HVISER funktionen dukker op og skal udfyldes med argumenterne til funktionen:
I første omgang dukker der kun to felter op – men efterhånden som argumenterne bliver fyldt ud, dukker der flere – op til 127 sæt felter op. Den første logiske test, der skal sættes op er, hvilket krav der er, for at få karakteren 12. Kravet er at der skal være over 95 rigtige besvarelser, altså at Antal rigtige i celle A2 er > 95, så det taster vi ind i feltet ’Logisk_test’:
Dernæst henter vi den karakter, der skal gives HVIS antal rigtige er >95, nemlig karakteren 12. Den findes i celle E2, som så indsættes i feltet ’værdi_hvis_sand’:
Bemærk at det næste felt, ’Logisk_test2’ automatisk dukker op. Den første logiske test tester nu om antal rigtige i Celle A2 er over 95. Er det tilfældet, returneres tallet 12 fra celle E2. Da antal rigtige imidlertid IKKE er over 95, skal vi have indsat den næste logiske test. Klik ned i feltet ’Logisk_test2’ og indsæt den næste logiske test, nemlig om karakteren skal være 10. Det skal den jo, hvis antal rigtige svar er over 80 – altså hvis antal rigtige svar i celle A2 > 80:
Feltet ’Værdi_hvis_sand2 er dukket op og skal udfyldes med den karakter, der skal indsættes hvis antal rigtige svar er over 80 – nemlig karakteren 10, som hentes i celle E3
Feltet ’Logisk_test3’er dukket op, og samtidig er der dukket et rullepanel op, ovre til højre i dialogboksen. Det er nu muligt at rulle ned til de efterfølgende felter, som skal benyttes. Det er dog også muligt at ”hoppe” ned i det næste felt, der skal udfyldes ved at trykke på TAB-tasten (Tabulator tasten) til venstre på tastaturet.
Vi skal lave den næste logiske test – ’Logisk_test3’ og klikker derfor i feltet og udfylder den logiske test, som skal returnere karakteren 7, som opnås med et antal rigtige svar på over 55 – altså hvis antal rigtige svar i celle A2 > 55:
Når den er udfyldt er det nødvendigt enten at rulle ned med rullepanelet til højre – eller at trykke Tab-tasten på tastaturet for at komme videre og udfylde ’Værdi_hvis_sand3’ som udfyldes med celle E4, hvor karakteren 7 står:
Bemærk at der, til højre for feltet ’Logisk_test3’ står ’SAND’. Det er fordi det er dén logiske test, der svarer til det antal rigtige svar, der er brugt i eksemplet – nemlig 65. Det medfører altså karakteren 7, som også vises flere steder i dialogboksen. Ikke desto mindre skal vi lave de sidste logiske tests og værdier hvis sand, da modellen jo skal kunne håndtere ALLE antal rigtige svar, så resten af felterne skal udfyldes, så hele dialogboksen ser således ud:
Bemærk! Excel kan ikke vise hele dialogboksen med alle felterne på én gang – så billedet herover er klippet sammen af flere skærmklip.
Som det ses, ud for alle de logiske test, så der den første logiske test – test3, der har status SAND, der returnerer karakteren. De efterfølgende logiske tests viser også SAND, men det er kun den første, der returnerer karakteren og funktionen ”spilder ikke tid” på at gennemløbe de efterfølgende tests.
I takt med at dialogboksen udfyldes, kan man også se at formlen bliver dannet i formellinjen:
Det er nemlig også muligt at skrive formlen selv, direkte ind i formellinjen, som ofte kan være hurtigere, når først man har lært syntaksen i funktionerne. Når man ser et semikolon (;) i formellinjen, svarer det til at man er gået ned i næste felt i dialogboksen. Vær opmærksom på, at hvis du sidder med en engelsk pc, med UK eller US opsætning, så kan det være kommaer (,) der vises – og som skal bruges hvis du taster formlen selv.
Forklaring på logikken i HVISER funktionen
I ovennævnte eksempel med karaktergivningen kan man sige, at vi sætter en række JA/NEJ spørgsmål op, startende med spørgsmålet: Er antal rigtigt svar større end 95. Hvis svaret er JA, så sættes karakteren 12 ind. Er svaret NEJ, så stilles det næste logiske spørgsmål: Er antal rigtige svar større end 80. Hvis svaret er ja, sættes karakteren 10 ind. Er svaret nej, så stilles det næste logiske spørgsmål osv.
I skemaform, kunne det illustreres således:
Testen starter fra toppen med det første spørgsmål. Kan der svares JA, skrives 12 – svares der NEJ, går den videre ned til næste spørgsmål. Når den kommer til et spørgsmål, hvor der svares JA, skrives karakteren og funktionen stopper.
Til det sidste spørgsmål kan der KUN svares JA, da der ikke kan være besvaret et negativt antal spørgsmål – derfor er der ingen Svar NEJ til den.
Den ”omvendte” logik
I eksemplet med karaktergivning herover, startede vi med at lave den logiske test: Er antal rigtige svar større end 95? – hvis svaret er ja, skal den skrive karakteren 12 – ellers skal den stille næste spørgsmål. Vi er altså starte med at stille spørgsmålene til den højeste karakter først.
Men vi kunne også være starte spørgsmålene til den laveste karakter først: Er det rigtige antal svar mindre end, eller lig med 3? Er svaret JA skal den give karakteren -3 – ellers skal den stille næste spørgsmål, som så ville være: Er det rigtige antal svar mindre, eller lig med 15? – Er svaret JA skal den give karakteren 00 – ellers skal den stille næste spørgsmål osv.
Laver vi skemaet fra før, men hvor vi starter nede fra, vil de se således ud:
Resultaterne ville i dette tilfælde blive præcist de samme. Og det er noget, men skal være opmærksom på, især hvis man udveksler Excel projektmapper med andre, der også laver HVIS/HVISER funktioner. Andre kan anvende en anden logik (omvendt logik) i forhold til én selv, men nå frem til nøjagtigt de samme resultater.
God fornøjelse.
