Obsah
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.xlsmFunkce 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ář.