Innehållsförteckning
I Excel finns det ingen funktion som gör det möjligt att göra beräkningar baserat på cellernas färg. Men genom att använda Microsoft Visual Basic för tillämpningar (VBA) är det möjligt att skapa anpassade funktioner för beräkning baserat på cellernas färg. I den här artikeln kommer jag att visa hur du kan skapa och använda ColorFunction i Excel.
Låt oss säga att vi har ett dataset med ett företags produktbeställningar. Kolumnen Beställningskvantitet är färgade utifrån deras leveransstatus. Levererade beställningar är färgade med ljusgrönt och beställningar som är under leverans är färgade med ljusorange. Nu kan vi ta reda på antalet kunder som antingen har fått eller inte fått sina beställningar genom att räkna samma färgade celler. Den totala mängden levererade beställningar eller beställningar som är under leverans kan hittas genom att summera samma färgade celler.
Ladda ner övningsboken
Färgfunktion i Excel.xlsmColorFunction i Excel
Steg 1 : Öppna makromodul i VBA-fönstret
Först måste du öppna VBA genom att trycka på ALT+F11. Efter det högerklickar du på arkets namn i den vänstra panelen och går till Infoga> Modul
Som ett resultat av detta kan en Modul öppnas.
Steg 2 : Infoga VBA-kod för att skapa ColorFunction
Lägg in följande kod i Modul och stänger den VBA fönster.
Funktion 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
Här skapar VBA-koden en anpassad funktion som heter FärgFunktion som kommer att räkna färgade celler om vi anger argumentet som FALSK och kommer att summera de färgade cellerna om vi anger argumentet som SANT.
Steg 3 : Spara arbetsboken som Excel Macro Enabled Workbook
Du måste spara Excel-arbetsboken i .xlsm format för att spara din anpassade funktion. Gå först till Fil i det övre vänstra hörnet av Excel-fönstret.
Därefter väljer du Spara som.
Välj sedan Arbetsbok med Excel-makroaktivering (*xlsm) och klicka på Spara.
Steg 4 : Använda ColorFunction för att räkna färgade celler
Nu kan du använda din anpassade FärgFunktion.
Om du vill få fram antalet ljusgröna celler skriver du följande formel i en tom cell,
=ColorFunction(F5,$D$5:$D$11,FALSE)
Här, F5 = Kriteriecell som ska räknas som färg
$D$5:$D$11 = Räckvidd för räkningen
FALSK anger att antalet celler som har samma färg som kriteriecellen ska räknas.
Tryck på ENTER och du får räkningen av ljusgröna celler.
På samma sätt kan du få fram antalet ljusorange celler.
Steg 5 : Använda ColorFunction för att summera färgade celler
Om du vill få fram summan av ljusgröna celler skriver du följande formel i en tom cell,
=ColorFunction(F5,$D$5:$D$11,TRUE)
Här, F5 = Kriteriecell som ska summeras.
$D$5:$D$11 = Intervall för summan
TRUE anger att antalet celler som har samma färg som kriteriecellen ska läggas ihop.
du får summan av ljusgröna celler genom att trycka på ENTER.
På samma sätt kan du få fram summan av de ljusorange cellerna.
Alternativa sätt att räkna och summera färgade celler
Istället för att använda FärgFunktion, kan du få fram antalet färgade celler eller summera de färgade cellerna på två olika sätt.
1. Användning av funktionerna FILTER och SUBTOTAL
Du kan få fram antalet och summan av färgade celler genom att använda Filter och funktionen SUBTOTAL .
Gå först till Uppgifter och klicka på Filter.
Därefter visas en nedåtriktad pil vid sidan av varje kolumnrubrik. Klicka på den nedåtriktade pilen vid sidan av Beställningskvantitet (färgad kolumn), gå till Filtrera efter färg och välj den ljusgröna färgen.
Nu ser du bara ljusgrön data i denna kolumn. För att få fram räkningen skriver du följande formel,
=DELSUMMA(2,D5:D11)
Här 2 anger att cellen ska räknas och D5:D11 är dataområdet.
Efter att ha tryckt på ENTER får du antalet ljusgröna celler.
För att få fram summan av de färgade cellerna skriver du följande formel,
=DELSUMMA(9,D5:D11)
Här 9 anger att cellen ska adderas och D5:D11 är intervallet av uppgifter
Efter att ha tryckt på ENTER får du summan av ljusgröna celler.
Genom att ändra filtret till ljusorange färg kan du få fram antalet och summan av orangefärgade celler.
2. Användning av funktionen GET.CELL
Genom att använda GET.CELL funktionen kan du också räkna och summera de färgade cellerna.
Gå först till Formler och välj Definiera namn.
A Nytt namn visas. Skriv ett namn som t.ex. Färg i den Namn Box. och Infoga formeln i Hänvisar till och tryck på OKEJ.
=GET.CELL(38,'GET CELL'!$D5)
Här anger 38 att formeln ska ge färgkoden för den refererade cellen och 'GET CELL'!$D5 är den refererade cellen (den första cellen efter kolumnhuvudet i den färgade kolumnen).
Skriv nu =Färg (Namn som du angav tidigare i Definiera namn rutan) i den intilliggande kolumnen i din färgade kolumn.
Efter att ha tryckt på ENTER och dra cell E5 till slutet av ditt dataset får du färgkoderna för alla dina färgade celler i kolumnen E .
Skriv nu följande formel för att få fram antalet ljusgröna celler
=COUNTIF($E$5:$E$11,50)
Här, $E$5:$E$11 är intervallet för räkningen och 50 är färgkoden för ljusgrönt.
Efter att ha tryckt på Gå in på får du antalet grönfärgade celler.
Skriv följande formel för att få fram summan av de ljusgröna cellerna,
=SUMIF(E5:E11,50,D5:D11)
Här, E5:E11 är kriterieområdet, 50 anger färgkoden ljusgrön och D5:D11 är summaområdet.
Tryck på ENTER och du får summan av alla grönfärgade celler.
På samma sätt kan du få fram antalet och summan av de ljusorangefärgade cellerna.
Slutsats
Jag hoppas att du efter att ha gått igenom artikeln nu kan skapa och använda ColorFunction i Excel. Om du stöter på några problem lämna en kommentar.