Inhoudsopgave
In Excel is er geen functie om berekeningen te maken op basis van de kleur van de cellen. Maar door gebruik te maken van Microsoft Visual Basic voor toepassingen (VBA) is het mogelijk om aangepaste functies te maken voor berekeningen op basis van de kleur van de cellen. In dit artikel laat ik u zien hoe u de ColorFunction in Excel kunt maken en gebruiken.
Stel, we hebben een dataset van de productbestellingen van een bedrijf. De kolom Bestelhoeveelheid Geleverde bestellingen zijn lichtgroen gekleurd en bestellingen in levering zijn lichtoranje gekleurd. Nu kunnen we het aantal klanten vinden die hun bestelling hebben ontvangen of niet hebben ontvangen door dezelfde gekleurde cellen te tellen. De totale hoeveelheid geleverde bestellingen of bestellingen in levering kan worden gevonden door dezelfde gekleurde cellen op te tellen.
Download Praktijk Werkboek
Kleurfunctie in Excel.xlsmKleurfunctie in Excel
Stap 1 : Macro-module openen in VBA-venster
Eerst moet u de VBA venster door op ALT+F11. Klik daarna met de rechtermuisknop op de bladnaam in het linkerpaneel en ga naar Invoegen> Module
Bijgevolg is een Module doos wordt geopend.
Stap 2 : Invoegen van VBA-code voor het maken van ColorFunction
Voeg de volgende code in, in de Module vak en sluit de VBA raam.
Functie 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 Volgende rCell End If ColorFunction = vResult End Function
Hier creëert de VBA-code een aangepaste functie met de naam KleurFunctie die gekleurde cellen zal tellen als we het argument geven als FALSE en zal de gekleurde cellen optellen als we het argument geven als WAAR.
Stap 3 : De werkmap opslaan als Excel Macro werkmap
U moet de Excel-werkmap opslaan in .xlsm formaat om uw aangepaste functie op te slaan. Ga eerst naar Bestand in de linkerbovenhoek van uw Excel-venster.
Selecteer daarna Opslaan als.
Selecteer vervolgens Excel werkmap met macro's (*xlsm) en klik op Redden.
Stap 4 : ColorFunction gebruiken om gekleurde cellen te tellen
Nu kunt u uw aangepaste KleurFunctie.
Om het aantal lichtgroene cellen te krijgen, typt u de volgende formule in een lege cel,
=ColorFunction(F5,$D$5:$D$11,FALSE)
Hier, F5 = Criteria cel welke kleur zal worden geteld
$D$5:$D$11 = Bereik voor telling
FALSE geeft aan dat het aantal cellen met dezelfde kleur als de criteriumcel zal worden geteld
Druk op ENTER en je krijgt de telling voor lichtgroene cellen.
Op soortgelijke wijze kunt u het aantal lichtoranje cellen berekenen.
Stap 5 : ColorFunction gebruiken om gekleurde cellen op te tellen
Om de som van de lichtgroene cellen te krijgen, typt u de volgende formule in een lege cel,
=ColorFunction(F5,$D$5:$D$11,TRUE)
Hier, F5 = Criteria cel waarvan de kleur wordt opgeteld
$D$5:$D$11 = Bereik voor som
WARE geeft aan dat het aantal cellen met dezelfde kleur als de criteriumcel wordt opgeteld.
krijgt u de som van de lichtgroene cellen door op ENTER.
Op dezelfde manier kun je de som van de lichtoranje cellen krijgen.
Alternatieve manieren om gekleurde cellen te tellen en op te tellen
In plaats van KleurFunctie, kun je het aantal gekleurde cellen krijgen of de som van de gekleurde cellen op twee verschillende manieren.
1. De functies FILTER en SUBTOTAL gebruiken
U kunt het aantal en de som van de gekleurde cellen krijgen met behulp van Filter en de functie SUBTOTAL .
Ga eerst naar de Gegevens tabblad en klik op Filter.
Daarna verschijnt er een pijl naar beneden naast de kop van elke kolom. Klik op de pijl naar beneden naast de Bestelhoeveelheid (Gekleurde kolom), ga naar Filter op kleur en selecteer de lichtgroene kleur.
Nu ziet u alleen lichtgroen gekleurde gegevens in deze kolom. Om de telling te krijgen typt u de volgende formule,
=SUBTOTAAL(2,D5:D11)
Hier 2 geeft aan dat de cel wordt geteld en D5:D11 is het bereik van de gegevens.
Na het indrukken van ENTER krijg je het aantal lichtgroene cellen.
Om de som van de gekleurde cellen te krijgen, typt u de volgende formule,
=SUBTOTAAL(9,D5:D11)
Hier 9 geeft aan dat de cel wordt opgeteld en D5:D11 is het bereik van de gegevens
Na het indrukken van ENTER krijg je de som van de lichtgroene cellen.
Door het filter te veranderen in lichtoranje kleur, krijgt u de telling en de som van de oranje gekleurde cellen.
2. De functie GET.CELL gebruiken
Door de GET.CELL functie kun je ook de gekleurde cellen tellen en optellen.
Ga eerst naar de Formules tabblad en selecteer Define Name.
A Nieuwe naam Er verschijnt een vakje met een naam zoals Kleur in de Naam Box. en voeg de formule in Verwijst naar vak en druk op OK.
=GET.CELL(38,'GET CELL'!$D5)
Hier geeft 38 aan dat de formule de kleurcode geeft van de cel waarnaar wordt verwezen en "GET CELL"! $D5 de cel waarnaar wordt verwezen (de eerste cel na de kolomkop van de gekleurde kolom)
Type nu =Color (Naam die u eerder gaf in de Namen definiëren vakje) in de aangrenzende kolom van uw gekleurde kolom.
Na het indrukken van ENTER en het slepen van cel E5 aan het einde van je dataset, krijg je de kleurcodes van al je gekleurde cellen van kolom E .
Typ nu de volgende formule om het aantal lichtgroene cellen te krijgen
=COUNTIF($E$5:$E$11,50)
Hier, $E$5:$E$11 is het bereik voor de telling, en 50 is de kleurcode van lichtgroen.
Na het indrukken van Ga naar krijg je het aantal groen gekleurde cellen.
Typ de volgende formule om de som van de lichtgroen gekleurde cellen te krijgen,
=SUMIF(E5:E11,50,D5:D11)
Hier, E5:E11 is het criteriabereik, 50 geeft de kleurcode van lichtgroen en D5:D11 is het sombereik.
Druk op ENTER en je krijgt de som van alle groen gekleurde cellen.
Op dezelfde manier kunt u het aantal en de som van de lichtoranje gekleurde cellen krijgen.
Conclusie
Ik hoop dat u na het doornemen van het artikel nu ColorFunction kunt maken en gebruiken in Excel. Als u problemen ondervindt, laat dan een reactie achter.