|
Funktionen SUMPRODUKT() og lidt tilAf og til har man brug for at udføre beregninger, fx optællinger eller sammenlægninger, der afhænger af et eller flere kriterier. Dette er forholdsvist simpelt, når det gælder beregninger, der afhænger af en enkelt betingelse. Så har Excel nemlig to indbyggede funktioner, der kan løses opgaven, men kan være lidt mere kompliceret, hvis der er mere end et kriterium, der skal være opfyldt.
TÆL.HVIS() Forestil dig følgende regneark.
Opgaven går nu ud på, at tælle antallet af 1-taller i A-kolonnen. Det gøres nemt ved brug af funktionen TÆL.HVIS(). Formlen skal se således ud: =TÆL.HVIS(A1:A3;1) og resultatet vil blive 2.
Funktionen kan også arbejde med tekst som kriterium. I så fald skal dette skrives i anførselstegn. =TÆL.HVIS(A1:A3;"Bil") Resultatet er stadig 2. - Til
top - På samme måde kan man få summeret rækker, hvor en given betingelse er opfyldt. Dette gøres med SUM.HVIS(), der også både kan tage tal og tekst som kriterier.
I det første eksempel, skal
beregnes summen af de tal i B-kolonnen, hvor det tilsvarende tal i A kolonnen er
1. Formlen er
I
det næste eksempel skal vi finde summen af de tal i B-kolonnen, hvor den
tilhørende tekst i A-kolonnen er Bil. Formlen er
SUM.HVIS() har også mulighed for at tage kriterium, fra den kolonne, der skal tælles, hvis denne indeholder tal. Formlen=SUM.HVIS(B1:B5;3;B1:B3) vil sammenlægge alle tre-taller i B1 til og med B5. Resultatet bliver således 9. Af og til er det imidlertid ikke nok at inddrage et enkelt kriterie i sin optælling eller sammenlægning.
I
det første eksempel vil vi gerne tælle alle blå biler. =TÆL.HVIS() kan tælle
alle Biler eller alle Blå, men den kan ikke kombinere de to tællinger i en. Til
gengæld kan vi bruge funktionen SUM.PRODUKT(). Denne funktions egentlige formål
er at finde summen af to eller flere produkter, men den kan altså også bruges
til andre ting. Se en nærmere forklaring på funktionen nedenfor. SUMPRODUKT kan imidlertid også
summere. Hvis tallene i C-kolonnen repræsenterer det antal biler, busser osv.
der er solgt på enkelte dage, kan vi bruge formlen: =SUMPRODUKT((A1:A6="Bil")*(B1:B6="Blå")*(C1:C6))
og vi får så resultatet 8.
Funktionen
kan også kombineres med andre funktioner. I ovenstående model, kan vi forestille
os, at farven ikke nødvendigvis udfyldes. Det kunne givet et eksempel som vist
til venstre. Hvis vi nu vil finde antallet af busser, hvor der ikke er opgivet
farve, kan følgende bruges: Ved at ændre bus, til en
cellereference, kan vi gøre det muligt også at finde biler eller tog uden farve
uden at skulle ændre i formlen: Det er også muligt på en gang
at gteste forto kriterier, hvoraf bare det ene eller dem begge, skal være
opfyldt. Ved brug af SUMPRODUKT(), skal
man være opmærksom på, at funktionen ikke kan arbejde på hele kolonner. Formlen Holder man en enkelt række uden for formlen, fx =SUMPRODUKT((A2:A65536=D1)*(B2:B65536="Blå")*(C2:C65536))
eller vil det virke uden fejl. NB! Husk, at ved brug af
SUMPRODUKT, skal alle matricer altid være lige store (og ens). Formlen Forklaring på SUMPRODUKT funktionen. Funktionen SUMPRODUKT() gør præcis det navnet siger. Den finder summen af to eller flere produkter. Antag at du har følgende regneark:
Hvis du indsætter formlen =SUMPRODUKT(A1:A3;B1:B3) vil funktionen gange tallet i A1 med tallet i B1 (2 * 3 = 6) og tallet i A2 med tallet i B2 (4 * 5 = 20), og endelig tallet i A3 med tallet i B3 (6 * 7 = 42) så lægge de tre resultater sammen, så funktionens resultat bliver 68. Funktionen arbejder altså på matricer, og den skal have mindst to matricer, for at give mening. Fx vil =SUMPRODUKT(A1:A3) virke, men den vil bare lægge tallene sammen (12), og det kunne SUM() have gjort mere effektivt. På samme måde vil en funktion, der arbejder på matricer med kun et enkelt tal i hver matrice, fx =SUMPRODUKT(A1;B1) bare gange de tal med hinanden (6) og det kunne have være gjort bedre med PRODUKT() eller nemmere med en simpel regnefunktion =A1*B1. I eksemplerne ovenfor bruger vi ikke den "rendyrkede" SUMPRODUKT(). Her sætter vi hvert led ind i sin egen selvstændige parentes inde i SUMPRODUKT() parentesen, og sætter gangetegn (*) mellem parenteserne). Det giver en noget anden funktionalitet. De enkelte parenteser "udregnes" nu, før de ganges med hinanden, og SUMPRODUKT() til sidst beregner det endelige resultat. Når dette giver muligheden for at tælle, henholdsvis summere med kriterier, hænger det sammen med, at der inde i hver lille parentes bliver udført en logisk sammenligning. Vi sammenligner hver celle i matrixen med den værdi, der står efter lighedstegnet. En sådan logisk sammenligning har to mulige resultater, enten er sammenligningen SAND, eller også er sammenligningen FALSK. Prøv fx i to forskellige celler i dit regneark at skrive ="Bil"="Bil" og ="Bil"="Bus", så vil du se at den første celle giver resultatet SAND og den anden FALSK, fordi det er sandt, at Bil=Bil, mens det er FALSK at Bil=Bus. Disse sandhedsværdier har også en talværdi. SAND svarer til 1, og FALSK svarer til 0. Det er disse talværdier for sandhedsværdierne, vi udnytter i kriterieløsningerne. Lad mig give et par eksempler:
Kolonnerne C og D er hjælpekolonner, der kun anvendes til forklaringsbrug. Jeg ønsker at finde summen af de tal i B-kolonnen, hvor det tilsvarende bogstav i A kolonnen er D. Til det formål bruger jeg formlen =SUMPRODUKT((A1:A8="D")*(B1:B8). Det skal lige siges, at den konkrete opgave kunne være løst med SUM.HVIS(), men her er SUMPRODUKT() brugt for illustrationens skyld. Tekst (tal) i hjælpekolonne 1 (C-kolonnen), viser sandhedsværdien af den første parentes, altså om bogstavet i A-kolonnen er et D. Tallet i hjælpekolonne 2 (D-kolonnen) er resultatet af udgangen af de enkelte faktorer i matricen. Tallene i hjælpekolonne 2 lægges nu sammen, og det giver resultatet 12, som præcis er det tal, som =SUMPRODUKT((A1:A8="D")*(B1:B8) vil give. Altså først udganges de enkelte elementer i matricen, og dernæst lægges resultaterne sammen. Lad mig vende tilbage til eksemplet med køretøjerne:
Vi skal altså finde ud af, hvor
mange Biler, Blå, der er solgt/fremstillet/destrureret eller hvad vi nu arbejder
med. Formlen var og det giver nedenstående sandhedstabel
D, E og F er hjælpekolonner. D til sammenligning af første parentes, E til sammenligning af 2. parentes og F til udgangning af matrixelementernes talværdier. Jeg har i kolonne D og E kun skrevet sandhedsværdiens talværdi. Lægger vi nu tallene i kolonne F sammen, ser vi at resultatet bliver 8, det samme tal, som formlen gav i eksemplet ovenfor. |