Indholdsfortegnelse
I Excel er der ingen funktion til at foretage beregninger baseret på cellernes farve. Men ved at bruge Microsoft Visual Basic for Applications (VBA) er det muligt at lave brugerdefinerede funktioner til beregning baseret på cellernes farve. I denne artikel vil jeg vise dig, hvordan du kan oprette og bruge ColorFunction i Excel.
Lad os sige, at vi har et datasæt med en virksomheds produktordre. Kolonnen Bestillingsmængde er farvet ud fra deres leveringsstatus. Leverede ordrer er farvet med lysegrøn og ordrer, der er under levering, er farvet med lys orange. Nu kan vi finde antallet af kunder, der enten har modtaget eller ikke har modtaget deres ordrer, ved at tælle de samme farvede celler. Den samlede mængde af leverede ordrer eller ordrer under levering kan findes ved at lægge de samme farvede celler sammen.
Download arbejdsbog til øvelser
Farvefunktion i Excel.xlsmColorFunction i Excel
Trin 1 : Åbning af makromodul i VBA-vinduet
Først skal du åbne VBA vindue ved at trykke på ALT+F11. Derefter højreklikker du på arknavnet i venstre panel og går til Indsæt> Modul
Som følge heraf er en Modul boksen åbnes.
Trin 2 : Indsættelse af VBA-kode til oprettelse af ColorFunction
Indsæt følgende kode i Modul feltet og lukker VBA vindue.
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 +vResult End If Next rCell End If ColorFunction = vResult End Function
Her opretter VBA-koden en brugerdefineret funktion ved navn FarveFunktion som vil tælle farvede celler, hvis vi angiver argumentet som FALSK og vil summere de farvede celler, hvis vi angiver argumentet som SANDT.
Trin 3 : Gemmer arbejdsbogen som Excel-makroarbejdsbog med mulighed for makroer
Du skal gemme Excel-arbejdsmappen i .xlsm format til at gemme din brugerdefinerede funktion. Gå først til Fil i øverste venstre hjørne af dit Excel-vindue.
Derefter skal du vælge Gem som.
Vælg derefter Excel-arbejdsmappe med makroaktivering (*xlsm) og klik på Gem.
Trin 4 : Brug af ColorFunction til at tælle farvede celler
Nu kan du bruge din brugerdefinerede FarveFunktion.
For at få tallet af lysegrønne celler skal du skrive følgende formel i en tom celle,
=ColorFunction(F5,$D$5:$D$11,FALSE)
Her, F5 = Kriterier celle, som farve skal tælles med
$D$5:$D$11 = Område for tælling
FALSK angiver, at antallet af celler, der har samme farve som kriteriecellen, skal tælles
Tryk på INDTAST og du får tallet for lysegrønne celler.
På samme måde kan du få tallet for lysorange celler på samme måde.
Trin 5 : Brug af ColorFunction til at summere farvede celler
Hvis du vil have summen af lysegrønne celler, skal du skrive følgende formel i en tom celle,
=ColorFunction(F5,$D$5:$D$11,TRUE)
Her, F5 = Kriteriecelle, hvis farve skal summeres
$D$5:$D$11 = Område for sum
TRUE angiver, at antallet af celler, der har samme farve som kriteriecellen, skal lægges sammen.
du får summen af lysegrønne celler ved at trykke på ENTER.
På samme måde kan du beregne summen af lysorange celler på samme måde.
Alternative måder at tælle og summere farvede celler på
I stedet for at bruge FarveFunktion, kan du få tallet af farvede celler eller summere de farvede celler på to forskellige måder.
1. Brug af FILTER- og SUBTOTAL-funktioner
Du kan få tallet og summen af farvede celler ved at bruge Filter og funktionen SUBTOTAL .
Først skal du gå til Data og klik på Filter.
Derefter vises en nedadgående pil ved siden af hver kolonneoverskrift. Klik på den nedadgående pil ved siden af den Bestillingsmængde (farvet kolonne), gå til Filtrer efter farve , og vælg den lysegrønne farve.
Nu vil du kun se lysegrønne data i denne kolonne. For at få tallet indtastes følgende formel,
=SUBTOTAL(2,D5:D11)
Her 2 angiver, at cellen skal tælles, og D5:D11 er dataenes rækkevidde.
Når du har trykket på INDTAST får du antallet af lysegrønne celler.
For at få summen af de farvede celler skal du skrive følgende formel,
=SUBTOTAL(9,D5:D11)
Her 9 angiver, at cellen skal lægges sammen og D5:D11 er rækkevidden af data
Når du har trykket på INDTAST får du summen af lysegrønne celler.
Ved at ændre filteret til lys orange farve kan du få tallet og summen af orangefarvede celler.
2. Brug af funktionen GET.CELL
Ved at bruge den GET.CELL funktionen kan du også tælle og summere de farvede celler.
Først skal du gå til Formler og vælg Definer navn.
A Nyt navn vises. Skriv et navn som f.eks. Farve i den Navn Box. og Indsæt formlen i Henviser til feltet, og tryk på OK.
=GET.CELL(38,'GET CELL'!$D5)
Her angiver 38, at formlen vil angive farvekoden for den celle, der henvises til, og 'GET CELL'!$D5 er den celle, der henvises til (den første celle efter kolonnehovedet i den farvede kolonne)
Skriv nu =Farve (Navn, som du tidligere har angivet i Definer navne feltet) i den tilstødende kolonne i din farvede kolonne.
Når du har trykket på INDTAST og trække celle E5 til slutningen af dit datasæt, vil du få farvekoderne for alle dine farvede celler i kolonnen E .
Indtast nu følgende formel for at få tallet af lysegrønne celler
=COUNTIF($E$5:$E$11,50)
Her, $E$5:$E$11 er intervallet for tælling, og 50 er farvekoden for lysegrøn.
Når du har trykket på Indtast får du optællingen af grønt farvede celler.
Indtast følgende formel for at få summen af de lysegrønne celler,
=SUMIF(E5:E11,50,D5:D11)
Her, E5:E11 er kriterieområdet, 50 angiver farvekoden lysegrøn og D5:D11 er det samlede interval.
Tryk på INDTAST og du får summen af alle de grønne celler.
På samme måde kan du få tallet og summen af de lysorange celler.
Konklusion
Jeg håber, at du efter at have gennemgået artiklen nu kan oprette og bruge ColorFunction i Excel. Hvis du står over for et problem, bedes du efterlade en kommentar.