Jak vytvořit a používat funkci ColorFunction v aplikaci Excel

  • Sdílet Toto
Hugh West

V aplikaci Excel není k dispozici funkce, která by prováděla výpočty na základě barvy buněk. Pomocí funkce Microsoft Visual Basic for Applications (VBA) je možné vytvořit vlastní funkce pro výpočet na základě barvy buněk. V tomto článku vám ukážu, jak můžete vytvořit a použít funkci ColorFunction v aplikaci Excel.

Řekněme, že máme datovou sadu objednávek výrobků společnosti. Sloupec Objednané množství jsou podbarveny na základě jejich stavu doručení. Doručené objednávky jsou podbarveny světle zelenou barvou a objednávky, které jsou v doručení, jsou podbarveny světle oranžovou barvou. Nyní můžeme zjistit počet zákazníků, kteří buď obdrželi, nebo neobdrželi své objednávky, spočítáním stejně podbarvených buněk. Celkové množství doručených objednávek nebo objednávek v doručení lze zjistit sečtením stejně podbarvených buněk.

Stáhnout cvičebnici

Funkce barev v aplikaci Excel.xlsm

Funkce ColorFunction v aplikaci Excel

Krok 1 : Otevření modulu makra v okně VBA

Nejprve musíte otevřít VBA okno stisknutím tlačítka ALT+F11. Poté klikněte pravým tlačítkem myši na název listu na levém panelu a přejděte na položku Insert> Modul

V důsledku toho se Modul bude otevřen box.

Krok 2 : Vložení kódu VBA pro vytvoření funkce ColorFunction

Vložte následující kód do pole Modul a zavřete pole VBA okno.

 Funkce 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 

Zde kód VBA vytváří vlastní funkci s názvem Funkce ColorFunction který bude počítat barevné buňky, pokud zadáme argument jako FALSE a sečte barevné buňky, pokud zadáme argument jako PRAVDA.

Krok 3 : Uložení sešitu jako sešit s povolenými makry aplikace Excel

Sešit aplikace Excel musíte uložit do .xlsm uložit svou vlastní funkci. Nejprve přejděte na stránku Soubor v levém horním rohu okna aplikace Excel.

Poté vyberte možnost Uložit jako.

Pak vyberte Sešit aplikace Excel s podporou maker (*xlsm) a klikněte na Uložit.

Krok 4 : Použití funkce ColorFunction k počítání barevných buněk

Nyní můžete používat vlastní BarvaFunkce.

Chcete-li získat počet světle zelených buněk, zadejte do prázdné buňky následující vzorec,

=ColorFunction(F5,$D$5:$D$11,FALSE)

Zde, F5 = Kritérium buňky, jejíž barva bude započítána

$D$5:$D$11 = Rozsah pro počet

FALSE označuje, že se bude počítat počet buněk, které mají stejnou barvu jako buňka kritéria.

Tisk ENTER a získáte počet světle zelených buněk.

Podobným způsobem můžete získat počet světle oranžových buněk.

Krok 5 : Použití funkce ColorFunction k součtu barevných buněk

Chcete-li získat součet buněk světle zelené barvy, zadejte do prázdné buňky následující vzorec,

=ColorFunction(F5,$D$5:$D$11,TRUE)

Zde, F5 = Kritérium buňka, jejíž barva bude sečtena

$D$5:$D$11 = Rozsah pro součet

TRUE znamená, že se sečte počet buněk, které mají stejnou barvu jako buňka kritéria.

získáte součet světle zelených buněk stisknutím tlačítka VSTUPTE.

Podobným způsobem lze získat součet světle oranžových buněk.

Alternativní způsoby počítání a sčítání barevných buněk

Místo použití BarvaFunkce, můžete získat počet barevných buněk nebo sečíst barevné buňky dvěma různými způsoby.

1. Použití funkcí FILTR a SUBTOTAL

Počet a součet barevných buněk můžete získat pomocí příkazu Filtr a funkce SUBTOTAL .

Nejprve přejděte do Data a klikněte na Filtr.

Poté se vedle záhlaví každého sloupce objeví šipka dolů. Klikněte na šipku dolů vedle záhlaví sloupce. Objednané množství (Barevný sloupec), přejděte na Filtrování podle barvy a vyberte světle zelenou barvu.

Nyní se v tomto sloupci zobrazí pouze světle zeleně zbarvená data. Chcete-li získat počet, zadejte následující vzorec,

=SUBTOTAL(2,D5:D11)

Zde 2 označuje, že buňka bude započítána a D5:D11 je rozsah dat.

Po stisknutí ENTER získáte počet buněk světle zelené barvy.

Chcete-li získat součet barevných buněk, zadejte následující vzorec,

=SUBTOTAL(9,D5:D11)

Zde 9 znamená, že buňka bude sečtena a D5:D11 je rozsah dat

Po stisknutí ENTER získáte součet buněk světle zelené barvy.

Změnou filtru na světle oranžovou barvu získáte počet a součet oranžově zbarvených buněk.

2. Použití funkce GET.CELL

Pomocí GET.CELL můžete také počítat a sčítat barevné buňky.

Nejprve přejděte do Vzorce a vyberte možnost Definice názvu.

A Nový název Zobrazí se pole. Zadejte název, např. Barva v Název a vložte vzorec do pole Vztahuje se na a stiskněte tlačítko DOBŘE.

=GET.CELL(38,'GET CELL'!$D5)

Zde 38 znamená, že vzorec uvede kód barvy odkazované buňky a 'GET CELL'!$D5 je odkazovaná buňka (první buňka za záhlavím barevného sloupce).

Nyní zadejte =Barva (Jméno, které jste dříve uvedli v Definice názvů ) ve vedlejším sloupci vašeho barevného sloupce.

Po stisknutí ENTER a přetažením buňky E5 na konec datového souboru, získáte barevné kódy všech barevných buněk sloupce. E .

Nyní zadejte následující vzorec pro získání počtu buněk světle zelené barvy

=COUNTIF($E$5:$E$11,50)

Zde, $E$5:$E$11 je rozsah pro počet a 50 je kód světle zelené barvy.

Po stisknutí Vstupte na získáte počet zeleně zbarvených buněk.

Pro získání součtu světle zeleně zbarvených buněk zadejte následující vzorec,

=SUMIF(E5:E11,50,D5:D11)

Zde, E5:E11 je rozsah kritérií, 50 označuje barevný kód světle zelené barvy a D5:D11 je rozsah součtu.

Tisk ENTER a získáte součet všech zeleně zbarvených buněk.

Podobným způsobem můžete získat počet a součet světle oranžově zbarvených buněk.

Závěr

Doufám, že po projití článku nyní můžete vytvořit a používat funkci ColorFunction v aplikaci Excel. Pokud se setkáte s nějakým problémem, zanechte prosím komentář.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.