Tartalomjegyzék
Az Excelben nincs olyan funkció, amely a cellák színe alapján számításokat végezhetne. De a Microsoft Visual Basic for Applications (VBA) lehetőség van arra, hogy a cellák színe alapján egyéni számítási függvényeket készítsen. Ebben a cikkben megmutatom, hogyan hozhatja létre és használhatja a ColorFunction-t az Excelben.
Tegyük fel, hogy van egy vállalat termékrendelésének adatállománya. Az oszlop Megrendelés Mennyiség A kiszállított megrendelések világos zöld színűek, a kiszállítás alatt álló megrendelések pedig világos narancssárga színűek. Most az azonos színű cellák megszámlálásával megállapíthatjuk, hogy hány ügyfél kapta meg vagy nem kapta meg a megrendelését. A kiszállított vagy a kiszállítás alatt álló megrendelések teljes mennyisége az azonos színű cellák összeadásával állapítható meg.
Gyakorlati munkafüzet letöltése
Színfunkció Excel.xlsm-benColorFunction az Excelben
1. lépés : Makrómodul megnyitása a VBA ablakban
Először meg kell nyitnia a VBA ablakot a ALT+F11. Ezután kattintson a jobb gombbal a lap nevére a bal oldali panelen, és válassza a Insert> modul
Ennek eredményeképpen egy Modul a doboz kinyílik.
2. lépés : VBA kód beillesztése a ColorFunction létrehozásához
Szúrja be a következő kódot a Modul mezőt, és zárja be a VBA ablak.
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 rRrange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRrange If rCell.Interior.ColorIndex = lCol Then vResult = 1 +vEredmény End If Következő rCell End If ColorFunction = vEredmény End Function
Itt a VBA-kód létrehoz egy egyéni függvényt, amelynek neve ColorFunkció amely a színes cellákat számolja, ha az argumentumot úgy adjuk meg, hogy HAMIS és összeadja a színes cellákat, ha az érvet úgy adjuk meg, hogy IGAZ.
3. lépés : A munkafüzet mentése Excel makróval engedélyezett munkafüzetként
Az Excel munkafüzetet a .xlsm formátumban mentse el az egyéni funkcióját. Először is, menjen a Fájl az Excel ablak bal felső sarkából.
Ezután válassza ki a Mentés másként.
Ezután válassza ki Excel makróval támogatott munkafüzet (*xlsm) és kattintson a Mentés.
4. lépés : ColorFunction használata a színes cellák számolásához
Most már használhatja az egyéni SzínFunkció.
A világoszöld cellák számának kiszámításához írja be a következő képletet egy üres cellába,
=ColorFunction(F5,$D$5:$D$11,FALSE)
Tessék, F5 = Kritérium cella, amelyik színt számolni kell
$D$5:$D$11 = Tartomány a számláláshoz
HAMIS azt jelzi, hogy a kritériumcellával azonos színű cellák számát kell számolni.
Sajtó BELÉPÉS és megkapja a világoszöld sejtek számát.
Hasonló módon megkaphatja a világos narancssárga sejtek számát is.
5. lépés : ColorFunction használata a színes cellák összegzéséhez
A világoszöld színű cellák összegének kiszámításához írja be a következő képletet egy üres cellába,
=ColorFunction(F5,$D$5:$D$11,TRUE)
Tessék, F5 = Kritérium cella, amelynek színét összegezni kell.
$D$5:$D$11 = Tartomány az összeghez
TRUE azt jelzi, hogy a kritériumcellával azonos színű cellák száma összeadódik.
a világoszöld cellák összegét kapja meg, ha megnyomja a BELÉPÉS.
Hasonló módon megkaphatjuk a világos narancssárga cellák összegét is.
A színes cellák számolásának és összegzésének alternatív módjai
Ahelyett, hogy a SzínFunkció, kétféleképpen kaphatja meg a színes cellák számát, vagy összegezheti a színes cellákat.
1. A FILTER és SUBTOTAL funkciók használata
A színes cellák számát és összegét a következővel kaphatja meg Szűrő és a SUBTOTAL funkció .
Először menjen a Adatok fülre, és kattintson a Szűrő.
Ezután minden oszlopfejléc mellett megjelenik a lefelé mutató nyíl. Kattintson a lefelé mutató nyílra a Megrendelés Mennyiség (Színes oszlop), menjen a Szűrés szín szerint , és válassza a világoszöld színt.
Most már csak világoszöld színű adatokat fog látni ebben az oszlopban. A számoláshoz írja be a következő képletet,
=SZUBTOTAL(2,D5:D11)
Itt 2 jelzi, hogy a cellát megszámolják, és D5:D11 az adatok tartománya.
Miután megnyomta a BELÉPÉS megkapja a világoszöld színű cellák számát.
A színes cellák összegének kiszámításához írja be a következő képletet,
=SZUBTOTAL(9,D5:D11)
Itt 9 azt jelzi, hogy a cellát összeadjuk, és D5:D11 az adatok tartománya
Miután megnyomta a BELÉPÉS megkapja a világoszöld színű cellák összegét.
Ha a szűrőt világos narancssárga színűre változtatja, megkaphatja a narancssárga színű cellák számát és összegét.
2. A GET.CELL funkció használata
A GET.CELL funkcióval megszámolhatja és összegezheti a színes cellákat.
Először menjen a Képletek lapot, és válassza a Define Name.
A Új név Megjelenik egy mező. Írjon be egy nevet, például Színes a Név Box. és Insert the formula in A következőkre vonatkozik és nyomja meg a RENDBEN.
=GET.CELL(38,'GET CELL'!$D5)
Itt a 38 azt jelzi, hogy a képlet a hivatkozott cella színkódját adja meg, és a 'GET CELL'!$D5 a hivatkozott cella (a színes oszlop oszlopfejléc utáni első cella)
Most írja be =Color (A korábban megadott név a Nevek meghatározása doboz) a színes oszlop szomszédos oszlopában.
Miután megnyomta a BELÉPÉS és a cella húzása E5 az adatkészlet végére, akkor megkapja az oszlop összes színes cellájának színkódját. E .
Most írja be a következő képletet a világoszöld színű cellák számának kiszámításához
=COUNTIF($E$5:$E$11,50)
Tessék, $E$5:$E$11 a számlálás tartománya, és 50 a világoszöld színkód.
Miután megnyomta a Írja be a címet. megkapja a zöld színű cellák számát.
Írja be a következő képletet a világoszöld színű cellák összegének kiszámításához,
=SUMIF(E5:E11,50,D5:D11)
Tessék, E5:E11 a kritériumtartomány, 50 a világoszöld színkódot jelzi, és D5:D11 az összegtartomány.
Sajtó BELÉPÉS és megkapja az összes zöld színű cella összegét.
Hasonló módon megkaphatja a világos narancssárga színű cellák számát és összegét.
Következtetés
Remélem, hogy a cikk átnézése után most már létrehozhatja és használhatja a ColorFunction-t az Excelben. Ha bármilyen problémával szembesül, kérjük, hagyjon megjegyzést.