How to Count Colored Cells in Excel

Counting colored cells in Excel can be incredibly useful, especially when dealing with large datasets that are color-coded for organization, tracking, or visual appeal.

Whether summarizing data or trying to extract specific information based on cell color, knowing how to tally these cells can save time and reduce errors.

There are two approaches at your disposal. You can choose between a formula-based approach or a more sophisticated VBA method.

How to Count Colored Cells in Excel

Unfortunately, Excel doesn’t feature a built-in function to count colored cells directly, so you’ll have to get creative.

Count Colored Cells Using a Filter and SUBTOTAL function

Begin by filtering your table to show only cells with the color you’re counting.

Example table filtered by color

Here’s the process:

  1. Add your formula at the bottom of your dataset. For example, =SUBTOTAL(102,A2:A12), ensuring A2 covers your colored cells.
  2. Highlight your column labels and access Data -> Sort & Filter -> Filter, equipping all headers with filtering capabilities.
  3. Click on the filtering icon and navigate to ‘Filter by Color’ to select your desired tint.
How to filter by color example

Watch as the SUBTOTAL formula updates to reflect the count of cells visible post-filter.

This method relies on the SUBTOTAL function, with ‘102’ indicating only a count of visible cells, excluding any hidden following your filter.

Subtotal formula

For the Excel aficionados, there is another method using the GET.CELL function and Name Manager. I haven’t covered that here as it’s a similar approach to this method (i.e., count the number of colored cells using a helper column).

Count Colored Cells Using Custom Excel Functions via VBA

If you’d prefer to use VBA, you can create a bespoke function mirroring COUNTIF, pinpointing a cell hue count across your chosen range.

Firstly, you must set up a VBA module in your Excel workbook. To start, open your Excel workbook and ensure it is a macro-enabled workbook (.xlsm file extension). Then, follow these steps:

  1. Press Alt + F11 to open the VBA editor.
  2. On the menu bar, click Insert and then select Module. This creates a new module where you can write your VBA code.

In this module, you’ll write a VBA macro that can be used to count cells filled with a specific color in a given range.

Creating a User Defined Function (UDF)

To create a User Defined Function (UDF) that counts colored cells, follow these steps within the VBA module you’ve previously inserted:

  1. Start by setting up the function.
Function CountCellsByColor(RangeToCount As Range, ColorRef As Range) As Long
  1. Define variables to hold the count and color index using:
Dim Count As Long
Dim ColIndex As Integer
ColIndex = ColorRef.Interior.ColorIndex
  1. Loop through each cell in the range and perform a comparison to the ColorRef:
Dim Cell As Range

For Each Cell In RangeToCount
    If Cell.Interior.ColorIndex = ColIndex Then
        Count = Count + 1
    End If
Next Cell
  1. Finally, ensure your function returns the count:
CountCellsByColor = Count
  1. Close the function with End Function.
CountCellsbyColor VBA example

Your UDF can now be used in the Excel workbook to count cells with a color matching the ColorRef.

For example, if your function is named CountCellsByColor, you can use it in a cell formula like this:


D2:D12 is the range with colored cells to count, and F4 contains the color to match.

UDF count color example

Advanced Tips and Tricks for Cell Counting

Verifying Count Results and Troubleshooting

Verifying your count results is important to maintaining accuracy when working with large datasets. 

After counting colored cells, cross-check the subtotal displayed with an independent manual count of a small, random sample from your dataset to ensure correctness. If numbers don’t add up, it might be due to:

  • Merged cells, which sometimes are ignored in a count. Unmerging them before performing the operation can lead to more reliable outcomes.
  • Different shades of color that might not be recognized as identical. Make sure your criteria for counting are consistent across the dataset.

Setting Calculation Criteria for Consistent Outcomes

For consistent and reliable counting, clearly define your calculation criteria:

  • Cell colors should be standardized to avoid confusion between similar shades.
  • Utilize conditional formatting to automate color-based criteria for dynamic data changes.
  • When creating VBA scripts, make sure to set up triggering events for the macro to run when the dataset is updated, ensuring up-to-date results.

Can conditional formatting be used to count colored cells?

Conditional formatting in Excel can be used to color cells based on certain conditions, but you’ll still need to use a helper column or VBA method to count these cells. Conditional formatting doesn’t change the cell’s value, which is what Excel formulas count.

Optimizing Performance

The balance between calculation speed and accuracy is key, especially with large Excel files. Keep these points in mind:

  • Minimize the use of volatile functions that recalculate every time the worksheet changes, as they can slow down performance.
  • Consider summarizing data into a separate table for a quicker overview if your dataset is exceptionally large.
  • For frequently changing datasets, event-triggered macros can help you automatically recount only when necessary, saving computing resources.

Leave a Comment