Přejít k hlavnímu obsahu

Tipy pro Excel: Počítání/sčítání buněk podle barvy (pozadí, písmo, podmíněné formátování)

V každodenních úkolech je barevné značení oblíbenou metodou pro rychlé rozlišení a zvýraznění důležitých dat. Jak ale spočítáme nebo sečteme data buněk na základě konkrétní barvy (barva výplně, barva písma, podmíněné formátování)? Ve výchozím nastavení Excel nenabízí přímou funkci počítání nebo sčítání podle barvy. Nicméně pomocí některých triků a nepřímých metod toho stále můžeme dosáhnout. Tento článek prozkoumá, jak počítat nebo sčítat data podle barvy.

Počítání a součet buněk na základě barvy pozadí

Počítat a sčítat buňky na základě barvy písma

Počítat a sčítat buňky na základě barvy podmíněného formátování


Video: Počítání a sčítání buněk na základě barvy


Počítání a součet buněk na základě barvy pozadí

Například, pokud máte rozsah dat, kde jsou hodnoty vyplněny různými barvami pozadí, jak je znázorněno na obrázku níže. Chcete-li počítat nebo sčítat buňky na základě konkrétní barvy, Excel nenabízí přímou funkci počítání nebo sečtení buněk na základě jejich barvy pozadí. S trochou vynalézavosti a některými šikovnými technikami však tento úkol zvládnete. Podívejme se v této části na některé užitečné metody.


Počítání a sčítání buněk podle barvy pozadí pomocí funkce definované uživatelem

Zde vám ukážeme, jak vytvořit a používat takovou User Defined Function k vyřešení tohoto úkolu v Excelu. Proveďte prosím následující kroky:

Krok 1: Otevřete editor modulu VBA a zkopírujte kód

  1. Stisknout Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
  2. V otevřeném okně klikněte na Vložit > Modul k vytvoření nového prázdného modulu.
  3. Poté zkopírujte a vložte níže uvedený kód do prázdného modulu.
    Kód VBA: Počítání a sčítání buněk na základě barvy pozadí
    Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean = False) As Variant
    'Updateby Extendoffice
        Dim rCell As Range
        Dim lCol As Long
        Dim vResult As Double
        lCol = rColor.Interior.ColorIndex
        vResult = 0
        If SUM Then
            For Each rCell In rRange
                If rCell.Interior.ColorIndex = lCol Then
                    vResult = vResult + rCell.Value
                End If
            Next rCell
        Else
            For Each rCell In rRange
                If rCell.Interior.ColorIndex = lCol Then
                    vResult = vResult + 1
                End If
            Next rCell
        End If
        ColorFunction = vResult
    End Function
    

Krok 2: Vytvořte vzorce pro počítání a sčítání buněk podle barvy pozadí

Po vložení výše uvedeného kódu zavřete okno modulu a použijte následující vzorce:

  • Počítejte buňky na základě konkrétní barvy pozadí:
    Pro výsledek zkopírujte nebo zadejte níže uvedený vzorec do požadované buňky. Poté přetáhněte rukojeť výplně dolů, abyste získali další výsledky. Viz snímek obrazovky:
    =colorfunction(G2,$B$2:$E$12,FALSE) 
    Poznámka: V tomto vzorci G2 je referenční buňka se specifickou barvou pozadí, kterou chcete sladit; $ B $ 2: $ E $ 12 je rozsah, ve kterém chcete spočítat počet buněk barvy G2; NEPRAVDIVÉ se používá k počítání buněk s odpovídající barvou.
  • Sečíst buňky podle konkrétní barvy pozadí:
    Pro výsledek zkopírujte nebo zadejte níže uvedený vzorec do požadované buňky. Poté přetáhněte rukojeť výplně dolů, abyste získali další výsledky. Viz snímek obrazovky:
    =colorfunction(G2,$B$2:$E$12,TRUE)  
    Poznámka: V tomto vzorci G2 je referenční buňka se specifickou barvou pozadí, kterou chcete sladit; $ B $ 2: $ E $ 12 je rozsah, ve kterém chcete spočítat počet buněk barvy G2; TRUE se používá k sečtení buněk s odpovídající barvou.

Počítání a sčítání buněk podle barvy pozadí pomocí výkonné funkce

Pro ty, kteří nejsou obeznámeni s programováním, se VBA může jevit jako poměrně složitý. Zde představíme mocný nástroj - Kutool pro Excel, to je Počítat podle barvy Funkce vám umožňuje snadno vypočítat (počet, součet, průměr atd.) na základě barvy pozadí pomocí několika kliknutí. Působivě, Počítat podle barvy Tato funkce přesahuje pouhé barvy pozadí – umí také rozlišovat a počítat na základě barev písem a podmíněného formátování.

Po stažení a instalace Kutools pro Excel, nejprve vyberte rozsah dat, který chcete spočítat, nebo sečíst buňky na základě konkrétní barvy pozadí. Dále přejděte na Kutools Plus A zvolte Počítat podle barvy.

v Počítat podle barvy dialogovém okně zadejte operace:

  1. vybrat Standardní formátování z Barevná metoda rozbalovací seznam;
  2. Specifikovat Pozadí z Typ počítání rozevíracího seznamu a v dialogovém okně můžete zobrazit náhled statistických výsledků pro každou barvu pozadí;
  3. Konečně klikněte na tlačítko Generovat zprávu exportovat vypočítané výsledky do nového sešitu.

Výsledek:

Nyní získáte nový sešit se statistikami. Viz screenshot:

Tipy:
  1. Projekt Počítat podle barvy funkce také podporuje počítání a sčítání buněk na základě standardní barvy písma, pozadí nebo barvy písma z podmíněného formátování a kombinaci barev výplně a podmíněného formátování.
  2. Máte zájem o tuto funkci, prosím kliknutím stáhněte a získejte bezplatnou zkušební verzi na 30 dní.

Počítání a sčítání buněk podle barvy pozadí pomocí funkce Filtr a SUBTOTAL

Předpokládejme, že máme tabulku prodeje ovoce, jak je zobrazena níže, a spočítáme nebo sečteme barevné buňky v Množství sloupec.

Krok 1: Použijte funkci SUBTOTAL

Vyberte prázdné buňky pro vstup do funkce SUBTOTAL.

  • Chcete-li spočítat všechny buňky se stejnou barvou pozadí, zadejte vzorec:
    =SUBTOTAL(102, F2:F16)
  • Chcete-li sečíst všechny buňky se stejnou barvou pozadí, zadejte vzorec;
    =SUBTOTAL(109, F2:F16)
  • Poznámka: ve výše uvedených vzorcích, 102 představuje pro počítání číselných hodnot ve filtrovaném seznamu při vyloučení skrytých buněk; 109 představuje součet hodnot ve filtrovaném seznamu bez skrytých buněk; F2: F16 je rozsah, ve kterém se bude počítat počet nebo součet.

Krok 2: Filtrujte buňky na základě konkrétní barvy

  1. Vyberte záhlaví tabulky a klikněte Data > Filtr. Viz snímek obrazovky:
  2. Klepněte na tlačítko Filtr ikona  v buňce záhlaví Množství sloupec a klikněte na Filtr podle barvy a zadanou barvu budete postupně počítat. Viz screenshot:

Výsledek:

Po filtrování vzorce SUBTOTAL automaticky spočítají a sečtou barevné buňky v Množství sloupec. Viz snímek obrazovky:

Poznámka: Tato metoda vyžaduje barevné buňky, které budete počítat nebo sčítat, ve stejném sloupci.

Počítat a sčítat buňky na základě barvy písma

Chcete počítat nebo sčítat buňky na základě jejich barvy písma v Excelu? Řekněme, že máte data, jako na daném snímku obrazovky, s buňkami obsahujícími texty v červené, modré, oranžové a černé barvě. Excel to ve výchozím nastavení neusnadňuje. Ale nebojte se! V této části vám ukážeme několik jednoduchých triků, jak toho dosáhnout.


Počítání a sčítání buněk na základě barvy písma pomocí funkce definované uživatelem

Chcete-li spočítat a sečíst buňky se specifickými barvami písma, může vám při řešení tohoto úkolu pomoci následující uživatelsky definovaná funkce. Proveďte prosím následující kroky:

Krok 1: Otevřete editor modulu VBA a zkopírujte kód

  1. Stisknout Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
  2. V otevřeném okně klikněte na Vložit > Modul k vytvoření nového prázdného modulu.
  3. Poté zkopírujte a vložte níže uvedený kód do prázdného modulu.
    Kód VBA: Počítání a sčítání buněk na základě barvy písma
    Function ProcessByFontColor(pRange1 As Range, pRange2 As Range, FunctionType As String) As Double
    'Updateby Extendoffice
        Application.Volatile
        Dim rng As Range
        Dim xTotal As Double
        Dim xCount As Double
        xTotal = 0
        xCount = 0
        For Each rng In pRange1
            If rng.Font.Color = pRange2.Font.Color Then
                If UCase(FunctionType) = "SUM" Then
                    xTotal = xTotal + rng.Value
                ElseIf UCase(FunctionType) = "COUNT" Then
                    xCount = xCount + 1
                End If
            End If
        Next
        If UCase(FunctionType) = "SUM" Then
            ProcessByFontColor = xTotal
        ElseIf UCase(FunctionType) = "COUNT" Then
            ProcessByFontColor = xCount
        Else
            ProcessByFontColor = CVErr(xlErrValue)
        End If
    End Function
    

Krok 2: Vytvořte vzorce pro počítání a sčítání buněk podle barvy písma

Po vložení výše uvedeného kódu zavřete okno modulu a použijte následující vzorce:

  • Počítání buněk na základě konkrétní barvy písma:
    Pro výsledek zkopírujte nebo zadejte níže uvedený vzorec do požadované buňky. Poté přetáhněte rukojeť výplně dolů, abyste získali další výsledky. Viz snímek obrazovky:
    =ProcessByFontColor($B$2:$E$12,G2, "COUNT")
    Poznámka: V tomto vzorci G2 je referenční buňka s konkrétní barvou písma, kterou chcete sladit; $ B $ 2: $ E $ 12 je rozsah, ve kterém chcete spočítat počet buněk barvy G2.
  • Sečíst buňky podle konkrétní barvy písma:
    Pro výsledek zkopírujte nebo zadejte níže uvedený vzorec do požadované buňky. Poté přetáhněte rukojeť výplně dolů, abyste získali další výsledky. Viz snímek obrazovky:
    =ProcessByFontColor($B$2:$E$12,G2, "SUM")  
    Poznámka: V tomto vzorci G2 je referenční buňka s konkrétní barvou písma, kterou chcete sladit; $ B $ 2: $ E $ 12 je rozsah, ve kterém chcete spočítat počet buněk barvy G2.

Počítat a sčítat buňky na základě barvy písma se snadnou funkcí

Chcete snadno spočítat nebo sečíst hodnoty buněk v Excelu na základě barvy písma? Potopit se do Kutools pro Excel's Počítat podle barvy Vlastnosti! S tímto chytrým nástrojem se počítání a sčítání buněk podle konkrétní barvy písma stává hračkou. Zjistěte jak Kutools může změnit vaše zkušenosti s Excelem.

Po stažení a instalace Kutools pro Excel, nejprve vyberte rozsah dat, který chcete spočítat, nebo sečíst buňky na základě konkrétní barvy písma. Poté klikněte Kutools Plus > Počítat podle barvy k otevření Počítat podle barvy dialogové okno.

v Počítat podle barvy dialogovém okně zadejte operace:

  1. vybrat Standardní formátování z Barevná metoda rozbalovací seznam;
  2. Specifikovat Písmo z Typ počítání rozevírací seznam a v dialogovém okně můžete zobrazit náhled statistických výsledků pro každou barvu písma;
  3. Konečně klikněte na tlačítko Generovat zprávu exportovat vypočítané výsledky do nového sešitu.

Výsledek:

Nyní máte nový sešit zobrazující podrobné statistiky založené na barvě písma. Viz snímek obrazovky:


Počítat a sčítat buňky na základě barvy podmíněného formátování

V Excelu můžete běžně používat podmíněné formátování k použití konkrétní barvy na buňky, které splňují určitá kritéria, takže vizualizace dat je intuitivní. Ale co když potřebujete spočítat nebo sečíst tyto speciálně formátované buňky? Přestože Excel nenabízí přímý způsob, jak to provést, zde jsou způsoby, jak toto omezení obejít.


Počítat a sčítat podmíněně formátované buňky pomocí kódu VBA

Počítání a sčítání podmíněně formátovaných buněk v Excelu není přímočaré pomocí vestavěných funkcí. Tento úkol však můžete provést pomocí kódu VBA. Pojďme si projít, jak k tomu můžete použít VBA:

Krok 1: Otevřete editor modulu VBA a zkopírujte kód

  1. Stisknout Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
  2. V otevřeném okně klikněte na Vložit > Modul k vytvoření nového prázdného modulu.
  3. Poté zkopírujte a vložte níže uvedený kód do prázdného modulu.
    Kód VBA: Počítání a sčítání buněk na základě barvy podmíněného formátování
    Sub SumCountByConditionalFormat()
    'Updateby Extendoffice
        Dim sampleColor As Range
        Dim selectedRange As Range
        Dim cell As Range
        Dim countByColor As Long
        Dim sumByColor As Double
        Dim refColor As Long
        Set selectedRange = Application.InputBox("Select a range to evaluate:", _
                                                 "Kutools for Excel", _
                                                 Type:=8)
        If selectedRange Is Nothing Then Exit Sub
        Set sampleColor = Application.InputBox("Select a conditional formatting color:", _
                                               "Kutools for Excel", _
                                               Type:=8)
        If Not sampleColor Is Nothing Then
            refColor = sampleColor.Cells(1, 1).DisplayFormat.Interior.color
            For Each cell In selectedRange
                If cell.DisplayFormat.Interior.color = refColor Then
                    countByColor = countByColor + 1
                    sumByColor = sumByColor + cell.Value
                End If
            Next cell
            MsgBox "Count: " & countByColor & vbCrLf & _
                   "Sum: " & sumByColor, _
                   vbInformation, "Results based on Conditional Format Color"
        End If
    End Sub
    

Krok 2: Spusťte tento kód VBA

  1. Po vložení kódu stiskněte F5 klíč ke spuštění tohoto kódu, objeví se okno s výzvou, vyberte prosím rozsah dat, kde chcete počítat a sčítat buňky na základě podmíněného formátování. Poté klikněte OK, Viz screenshot:
  2. V dalším okně výzvy vyberte konkrétní barvu podmíněného formátování, kterou chcete spočítat a sečíst, a klepněte OK tlačítko, viz screenshot:

Výsledek:

Nyní se ve vyskakovacím poli zobrazí výsledek, který zahrnuje počet i součet buněk se zadanou barvou podmíněného formátování. Viz snímek obrazovky:


Počítání a sčítání podmíněně formátovaných buněk pomocí chytré funkce

Pokud hledáte další rychlé a snadné metody pro počítání a sčítání podmíněně formátovaných buněk, Kutools pro Excel je vaším oblíbeným řešením. Své Počítat podle barvy Tato funkce může vyřešit tento úkol pouze několika kliknutími. Ponořte se a objevte efektivitu a přesnost, kterou může Kutools přinést do vašeho pracovního postupu.

Po stažení a instalace Kutools pro Excel, nejprve vyberte rozsah dat, který chcete spočítat, nebo sečíst buňky na základě konkrétní barvy podmíněného formátování. Poté klikněte Kutools Plus > Počítat podle barvy k otevření Počítat podle barvy dialogové okno.

v Počítat podle barvy dialogovém okně zadejte operace:

  1. vybrat Podmíněné formátování z Barevná metoda rozbalovací seznam;
  2. Specifikovat Pozadí z Typ počítání rozevíracího seznamu a v dialogovém okně můžete zobrazit náhled statistických výsledků pro každou barvu formátování podmíněné;
  3. Konečně klikněte na tlačítko Generovat zprávu exportovat vypočítané výsledky do nového sešitu.

Výsledek:

Nyní máte nový sešit zobrazující podrobné statistiky založené na barvě podmíněného formátování. Viz snímek obrazovky:


Související články:

  • Pokud je barva písma červená, vraťte konkrétní text
  • Jak byste mohli vrátit konkrétní text, pokud je barva písma v jiné buňce červená, jak je znázorněno na obrázku níže? V tomto článku představím několik triků, jak provádět některé operace založené na textu červeného písma v Excelu.
  • Filtrujte data podle více barev
  • Normálně v aplikaci Excel můžete rychle filtrovat řádky pouze s jednou barvou, ale uvažovali jste někdy o filtrování řádků s více barvami najednou? V tomto článku budu hovořit o rychlém triku pro řešení tohoto problému.
  • Přidejte barvu do rozevíracího seznamu
  • V aplikaci Excel vám vytvoření rozevíracího seznamu může hodně pomoci a někdy je třeba barevně odlišit hodnoty rozevíracího seznamu v závislosti na odpovídajícím výběru. Vytvořil jsem například rozevírací seznam názvů ovoce, když vyberu jablko, potřebuji, aby se buňka automaticky vybarvila červenou, a když vyberu oranžovou, může být buňka vybarvena oranžově.
  • Vybarvěte alternativní řádky pro sloučené buňky
  • Je velmi užitečné formátovat alternativní řádky s jinou barvou ve velkých datech, abychom mohli data naskenovat, ale někdy mohou být ve vašich datech sloučené buňky. Chcete-li zvýraznit řádky střídavě jinou barvou pro sloučené buňky, jak je znázorněno na obrázku níže, jak byste mohli vyřešit tento problém v aplikaci Excel?
Comments (239)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
HI, i want sum all data with green color, and when I add 1 cell with green color the total will be increase qty, pls help me. Thank you.
This comment was minimized by the moderator on the site
Saya sudah copy VBA, dan pakai petunjuk sesuai di atas, untuk sum font color, tapi hasilnya #NAME. Knpa ya?
This comment was minimized by the moderator on the site
嗨~版主好,我用了VBA 模塊,但是完全沒有動靜,沒有出現顏色儲存格的統計數量,Count欄一片空白~~請問是為什麼呢?跟office版本有關嗎?謝謝
This comment was minimized by the moderator on the site
嗨,MINA,
文章中的VBA代碼,微軟office版本基本上都可以適用,我這代碼可以正常使用。 如果你那邊還用不了,可以上傳你的文件,我們可以幫忙看看哪裡的問題,謝謝!
This comment was minimized by the moderator on the site
I am using =IF(D272>F272,D272-F272,if(F272>D272,F272-D272,"")) formula for subtraction, and I want it will coloured also??
This comment was minimized by the moderator on the site
Hi namrata,
Do you want to fill color for the result of your formula?
So, if the result is D272-F272, you want it, say, red; If the result is F272-D272, you want it, say, green; If blank, blank?
Amanda
This comment was minimized by the moderator on the site
I ran into problems when trying to run the function. Macro errors telling me: No RETURN() or HALT() function found on macro sheet. perhaps somebody could assist here. ThanksPaul
This comment was minimized by the moderator on the site
Hi, How to make a diagram based on the colors in the table? For example, I want to count all the red, green and yellow colors in the cells in a table and make a diagram. How to do this? Please
This comment was minimized by the moderator on the site
Is there a way to count different color backgrounds from conditional formatting? The current code as of 7/14/2020 counts them all as default yellow or not at all.
This comment was minimized by the moderator on the site
Hi Dusty,
You can try the Count by Color feature of Kutools for Excel. This feature will help you quickly calculate (count, sum, average, etc.) cells by cell background color or font color, no matter they are formatted by conditional formatting or solidly format.
This comment was minimized by the moderator on the site
Did anyone find a solution to auto-refresh? I have to manually refresh for it to update. Otherwise, it works great!
This comment was minimized by the moderator on the site
Hi Dennis,
By default, formulas are calculated in Excel until you are turning off the Automatic Formula Calculation. You can enable it by clicking Formulas > Calculation Options > Automatic.
This comment was minimized by the moderator on the site
Anyone have tips on a max by color VBA?
This comment was minimized by the moderator on the site
Hi Natasha,VBA is good but hard to apply. But below methods may solve your work easily too.
Method 1: Use Find & Replace feature to select and statistic the color cells(1) Press Ctrl + H keys to open the Find and Replace dialog, and then enable the Find tab.
(2) In the dialog, click Options to show advanced find options.
(3) Then click Format > Choose Format From Cell, and select one of the specified color cells.
(4) Click Find All. Now all cells with the same fill color are found out and listed at the bottom of the dialog.
(5) Select one of found cells, and press Ctrl + A to select all found cells, so that these cells are selected in the worksheet.
(6) Now you can get the count, average, sum, min, max, etc. of these cells in the task bar.
Note: If a certain statistic result cannot be found one the taskbar, you can right click the task bar, and then tick the specified item to show it.

Method 2: Kutools for Excel
Kutools for Excel supports 30-day free trial. Therefore, you can download it and try its Count by color feature to solve your problem with several clicks only.
This comment was minimized by the moderator on the site
awesome fix! count by color over an entire sheet was just what i was looking for and your VBA code was tighter than others that i have looked at. Works like a charm. Thank you, and again, well done.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations