Obsah
V programe Excel neexistuje funkcia na vykonávanie výpočtov na základe farby buniek. Ale pomocou Microsoft Visual Basic for Applications (VBA) je možné vytvoriť vlastné funkcie pre výpočet na základe farby buniek. V tomto článku vám ukážem, ako môžete vytvoriť a používať funkciu ColorFunction v programe Excel.
Povedzme, že máme súbor údajov o objednávke výrobkov spoločnosti. Stĺpec Objednané množstvo sú podfarbené na základe ich stavu doručenia. Doručené objednávky sú podfarbené svetlozelenou farbou a objednávky, ktoré sú v doručení, sú podfarbené svetlooranžovou farbou. Teraz môžeme zistiť počet zákazníkov, ktorí buď dostali, alebo nedostali svoje objednávky spočítaním rovnakých farebných buniek. Celkové množstvo doručených objednávok alebo objednávok v doručení môžeme zistiť sčítaním rovnakých farebných buniek.
Stiahnite si cvičebnicu
Farebná funkcia v programe Excel.xlsmFunkcia ColorFunction v programe Excel
Krok 1 : Otvorenie modulu makra v okne VBA
Najprv musíte otvoriť VBA okno stlačením ALT+F11. Potom kliknite pravým tlačidlom myši na názov hárku na ľavom paneli a prejdite na Insert> Modul
V dôsledku toho sa Modul sa otvorí box.
Krok 2 : Vloženie kódu VBA na vytvorenie funkcie ColorFunction
Vložte nasledujúci kód do Modul a zatvorte pole VBA okno.
Funkcia 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
V tomto prípade kód VBA vytvára vlastnú funkciu s názvom Funkcia ColorFunction ktorý bude počítať farebné bunky, ak zadáme argument ako FALSE a zosumarizuje farebné bunky, ak uvedieme argument ako PRAVDA.
Krok 3 : Uloženie zošita ako zošit s povolenými makrami programu Excel
Pracovný zošit programu Excel musíte uložiť do .xlsm na uloženie vlastnej funkcie. Najprv prejdite na Súbor v ľavom hornom rohu okna programu Excel.
Potom vyberte položku Uložiť ako.
Potom vyberte Pracovný zošit programu Excel s podporou makier (*xlsm) a kliknite na Uložiť.
Krok 4 : Používanie funkcie ColorFunction na počítanie farebných buniek
Teraz môžete používať vlastné FarbaFunkcia.
Ak chcete získať počet svetlozelených buniek, zadajte do prázdnej bunky nasledujúci vzorec,
=ColorFunction(F5,$D$5:$D$11,FALSE)
Tu, F5 = Kritérium bunka, ktorá farba sa bude počítať
$D$5:$D$11 = Rozsah pre počet
FALSE označuje, že sa bude počítať počet buniek, ktoré majú rovnakú farbu ako bunka kritéria
Tlač VSTÚPIŤ a získate počet svetlozelených buniek.
Podobným spôsobom môžete získať počet svetlooranžových buniek.
Krok 5 : Použitie funkcie ColorFunction na sčítanie farebných buniek
Ak chcete získať súčet buniek svetlozelenej farby, zadajte do prázdnej bunky nasledujúci vzorec,
=ColorFunction(F5,$D$5:$D$11,TRUE)
Tu, F5 = Kritérium bunky, ktorej farba sa sčíta
$D$5:$D$11 = Rozsah pre súčet
TRUE znamená, že počet buniek s rovnakou farbou ako bunka kritéria sa sčíta.
získate súčet svetlozelených buniek stlačením VSTÚPIŤ.
Podobným spôsobom môžete získať súčet svetlooranžových buniek.
Alternatívne spôsoby počítania a sčítania farebných buniek
Namiesto používania FarbaFunkcia, môžete získať počet farebných buniek alebo súčet farebných buniek dvoma rôznymi spôsobmi.
1. Používanie funkcií FILTER a SUBTOTAL
Počet a súčet farebných buniek môžete získať pomocou Filter a funkcia SUBTOTAL .
Najprv prejdite na Údaje a kliknite na kartu Filter.
Potom sa vedľa záhlavia každého stĺpca objaví šípka smerom nadol. Kliknite na šípku smerom nadol vedľa Objednané množstvo (Farebný stĺpec), prejdite na Filtrovanie podľa farby a vyberte svetlozelenú farbu.
Teraz sa v tomto stĺpci zobrazia len svetlozelene podfarbené údaje. Ak chcete získať počet, zadajte nasledujúci vzorec,
=SUBTOTAL(2,D5:D11)
Tu 2 označuje, že bunka sa bude počítať a D5:D11 je rozsah údajov.
Po stlačení VSTÚPIŤ získate počet buniek svetlozelenej farby.
Ak chcete získať súčet farebných buniek, zadajte nasledujúci vzorec,
=SUBTOTAL(9,D5:D11)
Tu 9 znamená, že bunka sa sčíta a D5:D11 je rozsah údajov
Po stlačení VSTÚPIŤ získate súčet buniek svetlozelenej farby.
Zmenou filtra na svetlooranžovú farbu môžete získať počet a súčet oranžovo sfarbených buniek.
2. Použitie funkcie GET.CELL
Pomocou GET.CELL môžete tiež spočítať a sčítať farebné bunky.
Najprv prejdite na Vzorce a vyberte kartu Definovať názov.
A Nový názov Zobrazí sa okno. Zadajte názov, napr. Farba v Názov Box. a Vložte vzorec do Vzťahuje sa na a stlačte V PORIADKU.
=GET.CELL(38,'GET CELL'!$D5)
Tu 38 znamená, že vzorec poskytne farebný kód odkazovanej bunky a 'GET CELL'!$D5 je odkazovaná bunka (prvá bunka za záhlavím farebného stĺpca)
Teraz zadajte =Farba (Meno, ktoré ste predtým uviedli v Definovať názvy box) v susednom stĺpci vášho farebného stĺpca.
Po stlačení VSTÚPIŤ a pretiahnutím bunky E5 na koniec súboru údajov, získate farebné kódy všetkých farebných buniek stĺpca E .
Teraz zadajte nasledujúci vzorec na získanie počtu buniek svetlozelenej farby
=COUNTIF($E$5:$E$11,50)
Tu, $E$5:$E$11 je rozsah pre počet a 50 je farebný kód svetlozelenej farby.
Po stlačení Vstúpte na stránku získate počet zeleno sfarbených buniek.
Zadaním nasledujúceho vzorca získate súčet svetlozelených buniek,
=SUMIF(E5:E11,50,D5:D11)
Tu, E5:E11 je rozsah kritérií, 50 označuje farebný kód svetlozelenej a D5:D11 je rozsah súčtu.
Tlač VSTÚPIŤ a získate súčet všetkých zeleno sfarbených buniek.
Podobným spôsobom môžete získať počet a súčet svetlooranžovo sfarbených buniek.
Záver
Dúfam, že po prejdení článku teraz môžete vytvoriť a používať funkciu ColorFunction v programe Excel. Ak sa stretnete s akýmkoľvek problémom, zanechajte komentár.