Hur man skapar och använder ColorFunction i Excel

  • Dela Detta
Hugh West

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.xlsm

ColorFunction 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.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.