Ako vytvoriť a používať funkciu ColorFunction v programe Excel

  • Zdieľajte To
Hugh West

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.xlsm

Funkcia 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.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.