Count if cell color in excel


  • — By
    Sumit Bansal

Watch Video – How to Count Colored Cells in Excel

Wouldn’t it be great if there was a function that could count colored cells in Excel?

Sadly, there isn’t any inbuilt function to do this.

BUT..

It can easily be done.

How to Count Colored Cells in Excel

In this tutorial, I will show you three ways to count colored cells in Excel (with and without VBA):

  1. Using Filter and SUBTOTAL function
  2. Using GET.CELL function
  3. Using a Custom Function created using VBA

#1 Count Colored Cells Using Filter and SUBTOTAL

To count colored cells in Excel, you need to use the following two steps:

  • Filter colored cells
  • Use the SUBTOTAL function to count colored cells that are visible (after filtering).

Suppose you have a dataset as shown below:

Count Colored Cells in Excel - Dataset

There are two background colors used in this data set (green and orange).

Here are the steps count colored cells in Excel:

  1. In any cell below the data set, use the following formula: =SUBTOTAL(102,E1:E20)
    Using Subtotal function to Count Colored Cells in Excel
  2. Select the headers.
  3. Go to Data –> Sort and Filter –> Filter. This will apply a filter to all the headers.
  4. Click on any of the filter drop-downs.
  5. Go to ‘Filter by Color’ and select the color. In the above dataset, since there are two colors used for highlighting the cells, the filter shows two colors to filter these cells.Using Filter to Count Colored Cells in Excel

As soon as you filter the cells, you will notice that the value in the SUBTOTAL function changes and returns only the number of cells that are visible after filtering.Count Cells with a background color - Filtered Cell Count Subtotal

How does this work?

The SUBTOTAL function uses 102 as the first argument, which is used to count visible cells (hidden rows are not counted) in the specified range.

If the data if not filtered it returns 19, but if it is filtered, then it only returns the count of the visible cells.

Try it Yourself.. Download the Example File

#2 Count Colored Cells Using GET.CELL Function

GET.CELL is a Macro4 function that has been kept due to compatibility reasons.

It does not work if used as regular functions in the worksheet.

However, it works in Excel named ranges.

See Also: Know more about GET.CELL function.

Here are the three steps to use GET.CELL to count colored cells in Excel:

  • Create a Named Range using GET.CELL function
  • Use the Named Range to get color code in a column
  • Using the Color Number to Count the number of Colored Cells (by color)

Let’s deep dive and see what to do in each of the three mentioned steps.

Creating a Named Range

Getting the Color Code for Each Cell

In the cell adjacent to the data, use the formula =GetColor

This formula would return 0 if there is NO background color in a cell and would return a specific number if there is a background color.

This number is specific to a color, so all the cells with the same background color get the same number.Count Colored Cells in Excel - Color Code

Count Colored Cells using the Color Code

If you follow the above process, you would have a column with numbers corresponding to the background color in it.

To get the count of a specific color:

  • Somewhere below the dataset, give the same background color to a cell that you want to count. Make sure you are doing this in the same column that you used in creating the named range. For example, I used Column A, and hence I will use the cells in column ‘A’ only.
  • In the adjacent cell, use the following formula:

=COUNTIF($F$2:$F$20,GetColor)

This formula will give you the count of all the cells with the specified background color.Count Colored Cells in Excel - Color Count without VBA

How Does It Work?

The COUNTIF function uses the named range (GetColor) as the criteria. The named range in the formula refers to the adjacent cell on the left (in column A) and returns the color code for that cell. Hence, this color code number is the criteria.

The COUNTIF function uses the range ($F$2:$F$18) which holds the color code numbers of all the cells and returns the count based on the criteria number.

Try it Yourself.. Download the Example File

#3 Count Colored Using VBA (by Creating a Custom Function)

In the above two methods, you learned how to count colored cells without using VBA.

But, if you are fine with using VBA, this is the easiest of the three methods.

Using VBA, we would create a custom function, that would work like a COUNTIF function and return the count of cells with the specific background color.

Here is the code:

'Code created by Sumit Bansal from https://trumpexcel.com
Function GetColorCount(CountRange As Range, CountColor As Range)
Dim CountColorValue As Integer
Dim TotalCount As Integer
CountColorValue = CountColor.Interior.ColorIndex
Set rCell = CountRange
For Each rCell In CountRange
  If rCell.Interior.ColorIndex = CountColorValue Then
    TotalCount = TotalCount + 1
  End If
Next rCell
GetColorCount = TotalCount
End Function

To create this custom function:

To use this function, simply use it as any regular excel function.

Syntax: =GetColorCount(CountRange, CountColor)

  • CountRange: the range in which you want to count the cells with the specified background color.
  • CountColor: the color for which you want to count the cells.

To use this formula, use the same background color (that you want to count) in a cell and use the formula. CountColor argument would be the same cell where you are entering the formula (as shown below):

Count Colored Cells in Excel - Custom Formula

Note: Since there is a code in the workbook, save it with a .xls or .xlsm extension.

Try it Yourself.. Download the Example File

Do you know any other way to count colored cells in Excel?

If yes, do share it with me by leaving a comment.

You May Also Like the Following Excel Tutorials:

  • Count Cells that Contain Text
  • How to Sum by Color in Excel (Formula & VBA)
  • Filter Cells with Bold Font Formatting
  • How to Format Partial Text Strings using VBA
  • Highlight EVERY Other ROW in Excel (using conditional formatting).
  • How to Quickly Highlight Blank Cells in Excel.
  • How to Compare Two Columns in Excel.

Excel Ebook Subscribe

Get 51 Excel Tips Ebook to skyrocket your productivity and get work done faster

67 thoughts on “How to Count Colored Cells in Excel – A Step by Step Tutorial + Video”

  1. I’m noticing that the VBA method doesn’t work with conditional formatting of background colors. Any workaround for hat?

    • I have the same issue

  2. Hi, I am using the VBA module to count preferred meeting session times, it was working OK – until I added a separate VBA module called CounxlDiagonalDown to count diagonal borders (people who have indicated they are not attending said meeting), and now I am getting a #NAME? syntax error on the GetColorCount. any suggestions on a fix? Thanks

  3. Thanks, your VB macro works perfectly!!

  4. Great stuff, but the VB does not work on conditional formatting.. only if you manually change the background color of cells. Have any idea to count backgrounds with conditional formating?

  5. Thank you so much. Just what I needed.

  6. Great vba function! Very useful. I change the ‘interior’ to ‘font’ and it works nicely when counting range with different font colors. However, I tried it to conditional formatting and it didn’t work. Any idea, why?

  7. Does this work with horizontal range. Doesnt seem to be working in mine with an horizontal range

  8. Fantastic video and article. Very helpful and simple to follow. Thank you!

  9. Simple and straight forward. This did the job. Thank you!

  10. I have a set of two ranges with compassion:
    Say my A2:A10 with data of
    B2:B10 with data of
    I applied function in C2 and draged upto C10<=if(isna(Match($A$2:$A$10,$B$2:$B$10,0)),A2,» «)
    Which give me the result as (this result says not shared number of Set A2:A10 to B2:B10)
    Now I coloured Full set of A2:A10 and also B4 and B9 as yellow and I need the out put in C2 to C10 as

    Can any body help me to fix this problem

  11. (VBA Solution)
    Too good to be true…just throws the standard formula error (“not trying to type a formula etc.”

  12. Thank you so much, this solve my problems.

  13. The code in the screen shot of the VBA has errors

  14. Help! Is there anyway to modify this VBA so that it works for =max

  15. GOOD TRICKS FOR COUNTING BY COLOUR

  16. tried =SUBTOTAL(102,$E$2:$E$20) and didn’t work. waste of time

  17. Is there a way to count the cells by color but also having a criteria?. For example I want to count the cells in a column that are colored grey but only the ones that have an specific value on them like having the word “unique” in the cell.

    I would really appreciate the help thanks

    • I know this is kind of a ghetto solution, but:
      I just copied the unique cells I needed to a different worksheet and did the function there, it worked perfectly

  18. Great code. However, it does not automatically update, unless I click on the cell each time. Please note, I have excel set to automatically update calculations, so not sure why not working.

  19. The VBA function worked great!! I’m now showing off to anyone in the office who will listen! Thanks very much

  20. Hello! I cannot get my get.cell (38,…) to work. Is there any chance I could contact you?

    • Can you please try with ; instead of , ? It work for me.

  21. Using VBA was perfect! Thanks

  22. I’m using your VBA method, and it works just fine, but is there any way to make it work for cells that have RGB color values instead of the standard ones from the color palette? Using .ColorIndex only works for those types of colors

  23. Hi,
    The function option works fine, there is only one thing. As soon as one of the colours changes the sum won’t refresh, is there an way to sort this out ?

    • Delete the module > save > close and reopen file > add the module again > click on any cell with the formula > press “enter”

    • Push F2.
      Push Enter.

  24. Is there a way to apply this to rows rather than columns?!

  25. The VBA formula worked great on my spreadsheet. But, I saved it and re-opened and now all the cells where I had formulas say #Name?. I checked and the code is still in the module. It comes up in the list when I begin to type =getcolorcount. I tried removing the Code and re-inserting and can’t get the formula to work any longer. I’m using Excel 2010, is there any reason this suddenly wouldn’t work now?

    Please help – this formula was perfect for my spreadsheet for work because I didn’t want to have to add another column to the spreadsheet to get this to work.

    Thanks,
    Jana

  26. Does this work in an online excel sheet?

  27. Hi,
    Thanks for the VBA code, I used your code and it works perfect – it counts the colored cells, but it does not update automatically. If a new cell is colored, everyctime I have to click on the formula to have it update the count.
    Is there any other way to get this automated when a new cell is colored?
    Appreciate your response

  28. I’ve used your VB method and it works great, thank you so much! I do have an issue though that I’m having troubles resolving…

    I’m using your formula as part of a calendar to track equipment utilization by filling the cells with color when the equipment is used. The problem I’m having is that the formula does not automatically recalculate when new colored cells are entered. It does recalculate when you click on the cell containing the formula and press enter, but I’ve got hundreds of assets that I’m tracking and that’s not an efficient way of doing it.

    I’ve tried all the usual, F9, recalculate formula, recalculate worksheet, etc. nothing works. I’ve even recorded Macros of actually highlighting all formula cells and clicking enter. It works when I do it, but the macro returns a value error when used.

    Do you have a work around for this or another VB Macro that can be assigned to a radio button to recalculate the colored cell totals each time the calendar is updated?

    • Ctrl-Alt-F9

  29. I found this article very useful, yet the VBA functions didn’t work. I have a table with various data, I used the conditional formatting in one column and built 5 rules and based on that cells have been colored in greed, red and yellow…any thoughts?

    • I have come across 5 functions that count coloured cells such as this code, and none of them work on conditional formatting.

  30. I have used your following code and it works perfectly:

    Function GetColorCount(CountRange As Range, CountColor As Range)
    Dim CountColorValue As Integer
    Dim TotalCount As Integer
    CountColorValue = CountColor.Interior.ColorIndex
    Set rCell = CountRange
    For Each rCell In CountRange
    If rCell.Interior.ColorIndex = CountColorValue Then
    TotalCount = TotalCount + 1
    End If
    Next rCell
    GetColorCount = TotalCount
    End Function

    But, now I want to do a little more. For the range of cells, I want to have 4 separate functions. 1) Count cells IF they are a particular color, as well as ending in “*o” 2) Count cells IF they are a particular color, as well as ending in “*s” 3) Count cells IF they are a particular color, as well as having 2 text characters in the cell, “??” and 4) Count cells IF they are a particular color, as well as having a number greater than zero in the cell, “>0”. How can I modify the base “GetColorCount” code to incorporate this additional parameter for each instance?

  31. I tried using your 3rd option but I am thinking that I am not right in doing so. Here is what I have and what I am trying to do. I have a spreadsheet with my supervisors and their clock-in times that I export from our schedule and then copy & paste into workbook. I color each row based on if they were on time, late but the time rolled back (7 minute grace period) and late but jumped forward 1/4 hour. I then filter by the supervisor’s last name and then by the “ErrorLog” header, checking only CLOCK IN & LATE CLOCK IN. The “Clock In” option could be either green (on time) or orange (late but rolled back) and then Late Clock In is yellow. The entire ErrorLog column is K10:K118, for all supervisors. Obviously when I sort by both Last Name and ErrorLog headers it reduces the number of rows and hides all the rest. I just want the formula to count each color that is visible. Is what I am doing even possible? I want to be able to change up the filter a bit by changing the Last Name so that I can only see each supervisor individually.

  32. Great video…. I do have a question for you… I used your code and it works perfect except for one thing, it counts the colored cells, but it does not update automatically. If a new cell is colored, I have to click on the formula to have it update the count. Is there a code I can add to have it update automatically once a new colored cell is added? Thanks again for a great video!!!

  33. Your VBA solution works BUT NOT with colors from “Conditional Formating.”

    I have 17 cells in a column, all under a conditional formatting to turn the cell color “light red” if a certain condition is met. There are only 3 cells that are “light red” (meeting the condition) but your VBA script returns an answer of “17”, meaning it considers all cells “light red”. Then I manually went in and colored one cell (not already highlighted by the conditional formatting) blue, and your VBA returned an answer of “16”. Clearly then, it does not recognize the results of conditional formatting, only “manually entered” colors.

    Any solution? This is critical as the colored cells will be different depending on what conditions are met. I need a way to count them per each condition.

    (I learned a lot about adding a custom VBA code. Thanks!)

    • Same issue! Any suggestions?

    • Was there any answer to this question? thanks.

  34. Hi,
    can you use both GetColorCount and Sumbycolor VBA in the same worksheet.

  35. Can you please explain what is 38 mentioned in the name manager formula? What does it relate to?

    • If you follow the link to more information about Get.Cell it tells you, I was wondering the same thing.

  36. When i press ‘enter’ with you’r download exel i get #NAME? why? PS ; I am new in VBA

  37. Hi, please assist. if the cell is in cf it doesn’t count. i am using also the standard cf for date occuring.

    • Hey Mart.. Yes this doesn’t work when conditional formatting is in play. IF you want to count based on CF rules, you can use the same rule you have used to apply conditional formatting and count the total values. For example, if you use CF to highlight cells that contain “Yes”, then use a COUNTIF function to count all these cells.

  38. How can you accomplish the same thing except counting cells in a row versus column (as outlined here)? For example, I want to know how many of each color (Red, Yellow, Green, and no color) are in row 2 (range – A2:I2).
    Side note/issue: The Subtotal function seems to only count cells that have something in them. I would like to count cells that are just a color without any text in the cell. Is that possible?
    Thanks for your help.

    • I am looking for this answer as well. I need the count of cells from a bigger range a2:bz52. And some cells are merged. Is there a way for this? Thank you in advance! Zita

  39. I liked the VBA option, works like a charm. However if my data range is non-continuous , for example, instead of A1:A10, I need to count the cell color in A1, A4, A9, How should I modify the formula? Thanks.

    • Hi Azz,
      Enclose your non-continuous range within brackets inside the function, (x, y, z, a:c), so for your example, you would use:

      =GetColorCount( ( A1, A4, A9 ), 50 )

      Where,
      50 = Green box color index.

  40. If declared strictly and with names more appealing (IMO ;)). Thank you for the code and the idea behind

    Public Function GetColorCount(ByRef Target As Excel.Range, ByRef rgColor As Excel.Range) As Long
    Dim rCell As Excel.Range
    Dim Color As Long
    Dim lgCounter As Long

    Color = rgColor.Interior.ColorIndex
    For Each rCell In Target
    If rCell.Interior.ColorIndex = Color Then lgCounter = lgCounter + 1
    Next rCell
    GetColorCount = lgCounter
    End Function

  41. Hi,

    I started using your Count Cells Based on Background Color in Excel #3 using VBA. This wors very good. Thanks for it.
    But now I have a problem using the same function by checking cells where the background color is set by Conditional Formatting. I am checking for dates older than today() and mark these cells in red background; works well using conditional formatting but the count doesn’t work for these cells.
    thank you for any idea or hint

    • Hi Nico,

      Do you use a formula in your conditional formatting (CF)?
      If you do, it returns TRUE and you are coloring the cells that meet that condition. This means that if you put the CF formula into a COUNTIF formula, you can count the cells that meet the CF conditions!

      Gr,
      Raymond.

      • Hi Raymond,

        No I’m not using a formula. I use a standard rule type: Cell Value “less than or equal to” =$A$1
        In A+ I only update the day =today().
        thx
        Nico

        • Nico,

          I did a test and I realised I needed a help column to do the job.

          Say that range A2:A10 has your values where you apply the CF to.
          Formula in help column B:
          in B2 put ‘=OR(A2<$A$1,A2=$A$1)’, copy down and you will get a couple of TRUEs or FALSEs.

          The count formula anywhere can then be: =COUNTIF(B2:B10,TRUE).

          Or you can just use an IF formula in the help column, giving you 1 or 0 back. Then a simple SUM somewhere and there you are.

          I must be do-able without the help column but I don’t know how (yet)!

          Raymond

          • Hi Raymond,

            A help column isn’t very usefull and would need many additional help columns, so I searched and searched.
            On http://www.excel-inside.de (a german Excel & VBA site) I found an example using .Font.ColorIndex . With this information I found .Interior.ColorIndex and my day was made 🙂

            Next step: searching for the color indexes on https://msdn.microsoft.com/en-us/library/office/ff840443.aspx

            and it seems to work – refreshing manually after changes – but it works:
            ‘Function ColorRed(Area As Range)
            ‘ColorRed = 0
            ‘For Each cell In Area
            ‘If cell.Interior.ColorIndex = 3 Then
            ‘ColorRed = ColorRed + cell.Count
            ‘End If
            ‘Next
            ‘End Function
            Nico

          • Hi Nico,

            Thanks for the update and also for you providing the resources that led to the solution you found!

            An UDF (User Defined Function) is harmless in your case because you are using it in only one cell to get the count. So that’s great.
            In complex workbooks, where formulas must be in several rows, UDF’s are not recommanded unless no other choice because they make the workbook slow.
            And as they say, there is always another way, a simple, faster and stronger way…

            I found a non-vba solution: an array formula.

            Put the following formula adjusted to your needs where you want your count.
            In this example, I assume the IF statement is the same as in your conditional format that gives the cells a red color when TRUE. The formula says:
            for each cell in range A2:A10, if the cell value is equal or less than the value of A1, give 1, otherwise give 0. Then give a sum of all the individual results.
            I’ve used 1 IF with an OR but it didn’t work so it became 2 IF’s.

            Instead of just pressing ENTER, press CTRL+SHIFT+ENTER to make it an array formula, which you can recognize by the { } that Excel automatically puts around it:
            =SUM(IF(A2:A10<$A$1,1,IF(A2:A10=$A$1,1,0)))

            So after CTRL+SHIFT+ENTER, you will see:
            {=SUM(IF(A2:A10<$A$1,1,IF(A2:A10=$A$1,1,0)))}

            No more manual refresh!

            More about the topic:
            http://www.cpearson.com/excel/arrayformulas.aspx

            Gr,
            Raymond.

          • i am not a vbe user but this explanation was clear enough to take the dive;
            so i tried solution number 3 and it works!
            however, how can i make the sheet update the numbers after i changed the color of a cell? at this moment i need to go to this cell en hit enter;
            there must be a ‘trick’ to do this on my imac!

          • Hi Cezi,

            The only workaround I could came up with involves 2 steps:
            [1] Put ‘Application.Volatile True’ at the beginning of the the function code
            [2] Put the following code in the worksheet event area (it assumes that you want an update if you select any cell in range [A1:A10]; please adjust accordingly):

            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            ‘Application.StatusBar = False
            On Error Resume Next ‘To avoid error if the selection isn’t in [A1:A10]
            If Target.Address = Intersect(Target, Range(“A1:A10”)).Address Then
            ActiveSheet.Calculate
            ‘Application.StatusBar = “Calculated”
            End If
            End Sub

            Gr,
            Raymond.

          • Hello Raymond, I am having the same issue but am not exactly sure how to follow the workaround you posted.

            [1] Should I paste ‘Application.Volatile True’ after the following row?

            ‘Function GetColorCount(CountRange As Range, CountColor As Range)’

            [2] Where should I put the code you have entered? I’m afraid I don’t know what the “worksheet event area” is or where I can find it.

            Thank you for your patience and a great guide!

            /Kara

          • Raymond,

            Your code for the workaround however disables copying and pasting? Do you know how to fix this?

            -Amy

          • Hi Amy,

            Sorry about that. Yes, there is a fix. The first line of code should be:
            If Application.CutCopyMode Then Exit Sub

            So, the final worksheet ‘SelectionChange’ event should look like this:
            [CODE]
            Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            ‘If we are copying, do nothing and exit
            If Application.CutCopyMode Then Exit Sub

            On Error Resume Next ‘To avoid error if the selection isn’t in [A1:A10]
            If Target.Address = Intersect(Target, Range(“A1:A10”)).Address Then
            ActiveSheet.Calculate
            End If
            End Sub
            [END CODE]

            -Raymond

Comments are closed.

You have probably used color coding in your Excel data or seen it in a workbook you had to use.

It’s a popular way to visualize your data!

While colored cells are a great way to highlight data to quickly grab someone’s attention, they are not a great way to store data.

Unfortunately, a lot of users will color a cell to indicate some value instead of creating another data point with the value.

For example, they might color a cell green to indicate an item is approved instead of creating another data point with the text Approved.

This causes a lot of problems when you actually need to find out how many items were approved. Excel doesn’t offer a built-in way to count colored cells.

In this post, I’ll show you 6 ways to find and count any colored cells in your data.

Use the Find and Select Command to Count Colored Cells

Excel has a great feature that allows you to find cells based on the format. This includes any colored cells too!

You can find all the cells of a certain color, then count them.

Go to the Home tab ➜ click on the Find & Select command ➜ then choose Find from the options.

There is also a great keyboard shortcut for this. Press Ctrl + F to open the Find and Replace menu.

Click on the small down arrow in the Format button and select Choose Format From Cell.

Clicking on the main part of the Format button will open up the Find Format menu where you can select any combination of formatting to search for.

This is perfect if you know exactly what color you are searching for, but more often you will be best served by setting the format by example. Formatting could be subtilty different and this might cause you to miss finding the right data!

When you click on the small arrow inside the Format button, it will reveal more options including the ability to set the format by selecting a cell.

Once you have the format selected then click on the Find All button.

The lower part of the Find and Replace dialog box will show all the cells that were found matching the formatting and in the lower left you will find the count.

Press Ctrl + A to select all the cells and then press the Close button and you can then change the color of all these cells or change any other formatting.

If you only want to return cells in a given column, or range, this is possible. Select the range in the sheet before pressing the Find All button to limit the search to the selection.

Pros

  • Easy to use.
  • You can use this to search for other types of formatting and not just fill color.
  • You can use this to search a selected range, the entire sheet or the entire workbook.

Cons

  • This solution is not dynamic and will need to be repeated each time you want to get the count.

Use Filters and the Subtotal Function to Count Colored Cells

This method will rely on the fact that you can filter based on cell color.

First step, you will need to add filters to your data.

Select you data and go to the Data tab then choose the Filter command.

This will add a sort and filter icon to each column heading of your data and these will allow you to filter your data many different ways.

There is also a handy keyboard shortcut for adding or removing filters from your data. Select your data and press Ctrl + Shift + L on your keyboard.

Another option for adding filters is to turn your data into an Excel Table. I wrote a post all about Excel tables and the great features they come with.

You can convert your data into a table with either of these two methods.

  • Select a cell inside your data ➜ go to the Insert tab ➜ click on the Table command.
  • Select a cell inside your data ➜ press Ctrl + T on your keyboard.

You table should come with filters by default. If not, go to the Table tab and check the Filter Button option in the Table Style Options section.

= SUBTOTAL ( 3, Orders[Order ID] )

Now you can add the above SUBTOTAL formula to count the non empty cells where Order ID is the column which contains the colored cells you would like to count.

The first argument of the SUBTOTAL function tells it to return a count while the second argument tells it what to count.

The special trick here is that the SUBTOTAL function will only count visible cells, so it will update the count based on what data it is filtered on.

This means you can filter on the colored cells and you will get a count of those colored cells!

Now you can filter your data by color.

  1. Click on the sort and filter toggle for the column which contains the colored cells.
  2. Select Filter by Color from the menu options.
  3. Choose the color you want to filter on.

Now the SUBTOTAL result will update and you can quickly find the count of your colored cells.

If you adjust colors, add or delete data in the table. You will need to reapply the filters as they don’t update dynamically.

Go to the Data tab and click on the Reapply button in the Sort & Filter section.

Pros

  • Easy to use.

Cons

  • Requires manually filtering data.
  • The filters don’t update and you will need to reapply them when you change your data.
  • Since the count is based on the filtering, the result can be different for each user when collaborating on the workbook.

Use the GET.CELL Macro4 Function to Count Colored Cells

Excel does have a function to get the fill color of a cell, but it is a legacy Macro 4 function.

These predate VBA and were Excel’s formula based scripting language.

While they are considered deprecated, it is still possible to use them inside the name manager.

There is a GET.CELLS Macro4 function that will return a color code based on the fill color of the cell.

You can create a relative named range that uses this by going to the Formulas tab and clicking on Define Name.

This will open up the New Name menu and you can define the reference.

Give your defined name a Name like ColorCode. This is how you will refer to it in the workbook.

= GET.CELL ( 38, Orders[@[Order ID]] )

Add the above formula into the Refers to section. For this formula you data will need to be in a table named Orders with a column called Order ID, but you can change these to fit your data.

This formula will always refer to the Order ID cell in the current row to which it’s referenced.

= GET.CELL ( 38, $B3 )

If your data is not inside a table, then you could use the above formula instead, where B is the column containing the fill color you want to count. This uses a fixed column and relative row reference to always refer to column B of the current row.

= ColorCode

With the define name, you can now create another column using the above formula in your data to calculate the color code for each row.

The result will be an integer value based on the fill color of the cell in the Order ID column.

= COUNTIFS ( Orders[ColorCode], B14 )

Now you can count the number or colored cells using the above COUNTIFS formula.

This formula will count cells in the ColorCode column if they have a matching code. In this example, it counts all the 10 values which correspond to the green color.

Pros

  • You can calculate the fill color for each row of data and it will update dynamically as you change the data or fill color of the data.

Cons

  • This method uses the Macro4 legacy functions and they may not continue to be supported my Microsoft.
  • Harder to implement.
  • You will need to save your workbook in the xlsm macro enabled format.
  • You can’t move your referenced column if you’re using the column notation inside the named range.
  • You can’t change your column name if you’re using the table notation inside the named range.
  • You need to create an additional column and use a COUNTIFS function to get the count.

Use a LAMBDA Function to Count Colored Cells

This will use the same GET.CELL Macro4 function as the previous method, but you can create a custom LAMBDA function to use it inside the workbook.

The LAMBDA function is a special function that allows you to build custom functions via the name manager.

This is a new function, so it’s not generally available and you need to be on Microsoft 365 office insiders program at the time of writing this post.

Go to the Formulas tab and click on Define Name to open the New Name menu.

= LAMBDA ( cell, GET.CELL ( 38, cell ) )

Give the define name a name like GETCOLORCODE and add the above formula into the Refers to section.

This will create a new GETCOLORCODE function that you can use inside the workbook. It will take one argument called cell and return the cell’s fill color code.

= GETCOLORCODE ( [@[Order ID]] )

Now all you have to do is create a column to calculate the color code for each row using the above formula.

= COUNTIFS ( Orders[ColorCode], B14 )

Again, you can count the number or colored cells using the the above COUNTIFS formula.

Pros

  • You can build a function that calculates the color code for a given cell.
  • Allows you to directly reference a cell to get the color code.

Cons

  • This method uses the LAMBDA function in Excel for M365 and is currently not generally available.
  • Harder to implement.
  • This method uses the Macro4 legacy functions which may not be supported in the future.
  • You will need to save your workbook in the xlsm macro enabled format.
  • Requires creating an additional column and using a COUNTIFS function to get the count.

Use VBA to Count Colored Cells

Function COLORCOUNT(CountRange As Range, FillCell As Range)
Dim FillColor As Integer
Dim Count As Integer
FillColor = FillCell.Interior.ColorIndex
For Each c In CountRange
    If c.Interior.ColorIndex = FillColor Then
        Count = Count + 1
    End If
Next c
COLORCOUNT = Count
End Function

Pros

  • You can create a function that counts the colored cells in a range.
  • The results will update as you edit your data or change the fill color.
  • User friendly option to use once it is set up.

Cons

  • Uses VBA which requires the file is saved in the xlsm format.
  • Less user friendly to set up.

Use Office Scripts to Count Colored Cells

Office Scripts are the brand new method for automating tasks in Excel.

But it’s only available for Excel online and only with an enterprise plan. If you have an enterprise plan, then you’re good to go with this method!

First, you will need to set up two named cells which the code will refer to.

Select any cell and type a name like ColorCount into the name box and press Enter. This will create a named range which can be referred to in the code.

This means we can move the cell and the code will refer to its new location.

You will also need to create a Color named range for the input of the color to count.

Now you can create a new office script. Go to the Automate tab in Excel online and click on the New Script command.

function main(workbook: ExcelScript.Workbook) {
	let selectedSheet = workbook.getWorksheet("Sheet1");
	let myID = selectedSheet.getRange("Orders[Order ID]");
	let myIDCount = selectedSheet.getRange("Orders[Order ID]").getCellCount();
	let myColorCode = selectedSheet.getRange("Color").getFormat().getFill().getColor();
	let counter = 0;

	for (let i = 0; i < myIDCount; i++) {
		if (myID.getCell(i, 0).getFormat().getFill().getColor() == myColorCode ) {
			counter = counter + 1;
		} 
	}

	selectedSheet.getRange("ColorCount").setValue(counter);
}

This will open up the Code Editor and you can paste in the above code and save the script.

Press the Run button and the code will execute and then populate the ColorCount named range with the count of the colored cells found in the Order ID column.

Pros

  • This is the newest method and will be supported going forward.
  • The script can be run from Power Automate for a no click solution.

Cons

  • This method is difficult to set up.
  • This requires an enterprise license and you need to use Excel online.

Conclusions

Hopefully Microsoft will one day create a standard Excel function that can return properties from a cell such as its fill color.

Until that happens, at least you have a few options available that allow you to find the count of colored cells without manually counting them.

Do you have a preferred method not listed here? Let me know in the comments!

About the Author

John MacDougall

John is a Microsoft MVP and qualified actuary with over 15 years of experience. He has worked in a variety of industries, including insurance, ad tech, and most recently Power Platform consulting. He is a keen problem solver and has a passion for using technology to make businesses more efficient.

Содержание

  1. Count Colored Cells in Excel
  2. Top 3 Methods to Count Colored Cells In Excel
  3. #1 – Excel Count Colored Cells By Using Auto Filter Option
  4. #2 – Excel Count Colored Cells by using VBA Code
  5. #3 – Excel Count Colored Cells by Using FIND Method
  6. Things to Remember
  7. Recommended Articles
  8. How to Count Colored or Highlighted Cells in Excel
  9. Using Subtotal and Filter functions
  10. Using COUNTIF and GET.CELL functions
  11. Using VBA
  12. How to sum and count cells by color in Excel
  13. How to count cells by color in Excel
  14. Count cells by fill color
  15. Count cells by font color
  16. How to sum by color in Excel
  17. Sum values by cell color
  18. Sum values by font color
  19. Count and sum by color across entire workbook
  20. How to count colored cells in entire workbook
  21. How to sum colored cells in whole workbook
  22. Count and sum conditionally formatted cells
  23. How to count and sum conditionally formatted cells using VBA macro
  24. How to get cell color in Excel
  25. Get fill color of a cell
  26. Get font color of a cell
  27. Get hexadecimal color code of a cell
  28. How to insert VBA code in your workbook
  29. How to get custom functions to update
  30. Fastest way to calculate colored cells in Excel
  31. Sum and count cells by one color
  32. Count and sum all colored cells at once

Count Colored Cells in Excel

Top 3 Methods to Count Colored Cells In Excel

There is no built-in function to count colored cells in Excel, but below mentioned are three different methods to do this task.

  1. Count colored cells by using the Auto Filter option
  2. Count colored cells by using the VBA code
  3. Count colored cells by using the FIND method
Table of contents

Now, let us discuss each of them in detail –

#1 – Excel Count Colored Cells By Using Auto Filter Option

For this example, let us look at the below data.

As we can see, each city is marked with different colors. So, we need to count the number of cities based on cell color.

As we can see, all the colors in the data. Now, we must choose the color that we want to filter.

We must follow the below steps to count cells by color.

At the bottom of the data, we need to apply the SUBTOTAL function in Excel to count cells.

The SUBTOTAL function contains many formulas. It is helpful if we want to count, sum, and average only visible cell data. Under the heading PIN, we must click on the drop-down list filter and select Choose by Color.

As we can see, all the colors in the data. Now, we must choose the color that we want to filter.


Wow. As we can see in cell D21, our SUBTOTAL function is given the count of filtered cells as 6 instead of the previous result of 18.

Similarly, now we must choose other colors to get the count of the same.

So, blue-colored cells count to five now.

#2 – Excel Count Colored Cells by using VBA Code

VBA’s street smart techniques help us reduce time consumption at our workplace for some complicated issues.

We can reduce time, but we can also create our functions to fit our needs. For example, we can create a function to count cells based on color in one such function. Below is the VBA code VBA Code VBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task. read more to create a function to count cells based on color.

Code:

Then, copy and paste the above code to your module.

The first line of the code “Color_Cell_Count” is the function name. Now, we must create three cells and color them as below.

Now, we must open the function “Color_Cell_Count” in the G2 cell.

Even though we do not see the syntax of this function, the first argument is what color we need to count, so we must select cell F2.

The second argument is to select the range of cells as D2:D19.

Now, close the bracket and press the “Enter” key. As a result, it will provide the count of cells with the selected cell color.

Like this, with the help of UDF in VBA, we can count cells based on cell color.

#3 – Excel Count Colored Cells by Using FIND Method

We can also count cells based on the FIND method as well.

  • Step 1: First, we must select the range of cells where we need to count cells.

  • Step 2: Now, we need to press Ctrl + F to open the FIND dialog box.

  • Step 3: Now, click on “Options>>.”

  • Step 4: Consequently, it will expand the “Find” dialog box. Now, we must click on the “Format” option.

  • Step 5: Now, it will open up the “Find Format” dialog box. We need to click on the “Choose Format From Cell” option.

  • Step 6: Now, move the mouse pointer to see the pointer to select the format cell in excelFormat Cell In ExcelFormatting cells is an important technique to master because it makes any data presentable, crisp, and in the user’s preferred format. The formatting of the cell depends upon the nature of the data present.read more that we are looking to count.

  • Step 7: We will select the cell formatted as the desired cell count. We have chosen the F2 cell as the desired cell format, and now we can see the preview.

  • Step 8: Now, click on the “Find All” option to get the count of the selected cell format count of cells.

So, a total of 6 cells were found with selected formatting colors.

Things to Remember

  • The provided VBA code is not a Subprocedure in VBASubprocedure In VBASUB in VBA is a procedure which contains all the code which automatically gives the statement of end sub and the middle portion is used for coding. Sub statement can be both public and private and the name of the subprocedure is mandatory in VBA.read more ; it is a UDF.
  • The SUBTOTAL contains many formulas used to get the result only for visible cells when the filter is applied.
  • We do not have any built-in function in Excel to count cells based on the color of the cell.

Recommended Articles

This article has been a guide to Count Colored Cells in Excel. We learned to count colored cells using the auto filter option, VBA code, FIND method, and downloadable Excel template. You may learn more about Excel from the following articles: –

Источник

How to Count Colored or Highlighted Cells in Excel

The COUNT function in Excel counts cells containing numbers in Excel. You cannot count colored or highlighted cells with the COUNT function. But you can follow a few workarounds to count colored cells in Excel. In this tutorial, you will learn how to count colored cells in Excel.

In excel, you can count highlighted cells using the following workarounds:

  1. Applying SUBTOTAL and filtering the data
  2. Using the COUNT and GET.CELL function
  3. Using VBA

Using Subtotal and Filter functions

You can count highlighted cells in Excel by subtotaling the visible cells and applying a filter based on colors.

In this example, you have the sales record for eight salespersons for the month of July. The rows containing salespersons having sales less than $7000 is highlighted in red, the other cells with the salespersons having a bonus is highlighted in green. To calculate the number of salespersons highlighted in red:

  • Select the cell C10.
  • Assign the formula = SUBTOTAL(102, C2:C9) . The first argument 102 counts the visible cells in the specified range.

  • Select cells A1:C9 by clicking on cell A1 and dragging it till C9 with your mouse.
  • Go to Data > Sort & Filter > Filter.

  • Click on the filter drop downs in C1.
  • Go to Filter by Color and select the color Red to find out the salespersons highlighted in red.

This will output change the subtotal value to x, which is the number of salespersons having sales less than $7000.

Using COUNTIF and GET.CELL functions

You can use GET.CELL with named ranges to count colored cells in Excel. GET.CELL is an old Macro4 function and does not work with regular functions. However, it still works with named ranges. To count colored cells with GET.CELL, you need to extract the color codes with GET.CELL and count them to find out the number of cells highlighted in the same color. To count cells using GET.CELL and COUNTIF:

  • In the dialogue box that pops up, set name as ColorCount, scope as workbook and Refers to as =GET.CELL(38, Sheet1!C2).

  • Assign the formula =ColorCount to cell D2 and drag it till D9 with your mouse.

  • This would return a number based on the background color. If there is no background color, Excel would return 0. Otherwise all cells with the same background color return the same number.

  • From column D, look at the code for the color red. In this case it is 22.
  • Select cell D10 and assign the formula = COUNTIF($D:$D, 22).

This will count the cells colored in red to find the number of salespersons with sales less than $7000 and return the number 3.

Using VBA

You can also create a custom function with VBA to count highlighted cells in Excel. To do that you need to create a custom function using VBA that works like a COUNTIF function and returns the number of cells for the same color.

You will follow the syntax: =CountFunction(CountColor, CountRange) and use it like other regular functions.Here CountColor is the color for which you want to count the cells. CountRange is the range in which you want to count the cells with the specified background color.

To count the cells highlighted in red, follow the steps below:

  • Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
  • Click Insert >Module .

  • Paste the following code in the Module Window.

  • In this code, you are defining a function with two arguments rColor and rRange . You are going to save the value of the background color of A2 in lCol. Then you are going to run a FOR loop where, if the cell’s background color matches the color in lCol, you increment vResult . This function returns the value of vResult, which is the count of the cells having the same background color.
  • Then save the code, and apply the following formula to cell C10:

  • Here A2 is the cell with the background color red you want to count. C2:C10 is the cell range that you want to count.

This will return the number of salespersons with sales less than $7000 in the month of July which is 3.

Источник

How to sum and count cells by color in Excel

by Svetlana Cheusheva, updated on January 20, 2023

In this article, you will learn new effective approaches to summing and counting cells in Excel by color. These solutions work for cells colored manually and with conditional formatting in all versions of Excel 2010 through Excel 365.

Even though Microsoft Excel has a variety of functions for different purposes, none can calculate cells based on their color. Aside from third-party tools, there is only one efficient solution — create your own functions. If you know very little about user-defined functions or have never heard of this term before, don’t panic. The functions are already written and tested by us. All you need to do is to insert them in your workbook 🙂

How to count cells by color in Excel

Below, you can see the codes of two custom functions (technically, these are called user-defined functions or UDF). The first one is purposed for counting cells with a specific fill color and the other — font color. Both are written by Alex, one of our best Excel gurus.

Custom functions to count by color in Excel

Once the functions are added to your workbook, they will do all work behind the scenes, and you can use them in the usual way, just like any other native Excel function. From the end-user perspective, the functions have the following look.

Count cells by fill color

To count cells with a particular background color, this is the function to use:

  • Data_range is a range in which to count cells.
  • Cell_color is a reference to the cell with the target fill color.

To count cells of a specific color in a given range, carry out these steps:

  1. Insert the code of the CountCellsByColor function in your workbook.
  2. In a cell where you want the result to appear, start typing the formula: =CountCellsByColor(
  3. For the first argument, enter the range in which you want to count colored cells.
  4. For the second argument, supply the cell with the target color.
  5. Press the Enter key. Done!

For example, to find out how many cells in range B3:F24 have the same color as H3, the formula is:

In our sample dataset, the cells with values less than 150 are colored in yellow, and the cells with values higher than 350 in green. The function gets both counts with ease:

Count cells by font color

In case your cell values have different font colors, you can count them using this function:

  • Data_range is a range in which to count cells.
  • Font_color is a reference to the cell with the sample font color.

For example, to get the number of cells in B3:F24 whose values have the same font color as H3, the formula is:

=CountCellsByFontColor(B3:F24, H3)

Tip. If you’d like to name the functions differently, feel free to change the names directly in the code.

How to sum by color in Excel

To sum colored values, add the following two functions to your workbook. As with the previous example, the first one handles fill color and the other — font color.

Custom functions to sum by color in Excel

Sum values by cell color

To sum by fill color in Excel, this is function to use:

  • Data_range is a range in which to sum values.
  • Cell_color is a reference to the cell with the fill color of interest.

For example, to add up the values of all cells in B3:F24 that are shaded with the same color as H3, the formula is:

=SumCellsByColor(B3:F24, H3)

Sum values by font color

To sum numeric values with a specific font color, use this function:

  • Data_range is a range in which to sum cells.
  • Font_color is a reference to the cell with the target font color.

For instance, to add up all the values in cells B3:F24 with the same font color as the value in H3, the formula is:

=SumCellsByFontColor(B3:F24, H3)

Count and sum by color across entire workbook

To count and sum cells of a certain color in all sheets of a given workbook, we created two separate functions, which are named WbkCountByColor and WbkSumByColor, respectively. Here comes the code:

Custom functions to count and sum by color across workbook

Note. To make the functions’ code more compact, we refer to the two previously discussed functions that count and sum within a specified range. So, for the «workbook functions» to work, be sure to add the code of the CountCellsByColor and SumCellsByColor functions to your Excel too.

How to count colored cells in entire workbook

To find out how many cells of a particular color there are in all sheets of a given workbook, use this function:

The function takes just one argument — a reference to any cell filled with the color of interest. So, a real-life formula may look something like this:

Where A1 is the cell with the sample fill color.

How to sum colored cells in whole workbook

To get a total of values in all cells of the current workbook highlighted with a particular color, use this function:

Assuming the target color is in cell B1, the formula takes this form:

Count and sum conditionally formatted cells

The custom functions for adding up and counting color-coded cells are really nice, aren’t they? The problem is that they do not work for cells colored with conditional formatting, alas 🙁

To handle conditional formatting, we have written a different code (kudos to Alex again!). It works well with both preset formats and custom formula-based rules. Contrasting with the previous examples, this code is a macro, not a function. The macro counts and sums conditionally formatted cells by fill color. Please insert it in your VBA Editor, and then follow the below instructions.

VBA macro to count and sum conditionally formatted cells.

How to count and sum conditionally formatted cells using VBA macro

With the macro’s code inserted in your Excel, this is what you need to do:

  1. Select one or more ranges where you want to count and sum colored cells. Make sure the selected range(s) contains numerical data.
  2. Press Alt + F8 , select the SumCountByConditionalFormat macro in the list, and click Run.
  3. A small dialog box will pop asking you to select a cell with the sample color. Do this and click OK.

For this example, we used the inbuilt Highlight Cell Rules and got the following results:

  • Count (12) the number of cells in range B2:E22 with the same color as G3.
  • Sum (1512) is the sum of values in cells formatted with Light Red Fill.
  • Color is a hexadecimal color code of the sample cell.

Tip. The sample workbook with the SumCountByConditionalFormat macro is available for download at the end of this post.

How to get cell color in Excel

If you need (or are curious) to know the color of a specific cell (fill or font color), add the following user-defined functions to your Excel. It returns ColorIndex as a decimal number.

Custom functions to get the cell color

Note. The functions only work for colors applied manually, and not with conditional formatting.

Get fill color of a cell

To return a decimal code of the color a given cell is highlighted with, make use of this function:

For example, to get the color of cell A2, the formula is:

Get font color of a cell

To get a font color of a cell, use an analogous function:

For instance, to find the font color of cell E2, the formula is:

Get hexadecimal color code of a cell

To convert a decimal color index returned by our custom functions into a hexadecimal color code, make use of Excel’s native DEC2HEX function.

=»#»&DEC2HEX(GetFontColor(E2))

How to insert VBA code in your workbook

To add the function’s or macro’s code to your Excel, move on with these 4 steps:

  1. In your workbook, press Alt + F11 to open Visual Basic Editor.
  2. In the left pane, right-click on the workbook name, and then choose Insert >Module from the context menu.
  3. In the Code window, insert the code of the desired function(s):
    • Count by color: CountCellsByColor and CountCellsByFontColor functions
    • Sum by color: SumCellsByColor and SumCellsByFontColor functions
    • Count and sum colored cells in whole workbook: WbkCountByColor and WbkSumByColor functions
    • Count and sum conditionally formatted cells: SumCountByConditionalFormat function
    • Get color code: GetCellColor and GetFontColor functions
  4. Save your file as Macro-Enabled Workbook (.xlsm).

If you are not very comfortable with VBA, you can find the detailed step-by-step instructions and a handful of useful tips in this tutorial: How to insert and run VBA code in Excel.

How to get custom functions to update

When summing and counting color-coded cells in Excel, please keep in mind that your formulas won’t recalculate automatically after coloring a few more cells or changing existing colors. Please don’t be angry with us, this is not a bug in our code 🙂

The point is that changing cell color in Excel does not trigger worksheet recalculation. To get the formulas to update, press either F9 to recalculate all open workbooks or Shift + F9 to recalculate only the active sheet. Or just place the cursor into any cell and press F2, and then hit Enter. For more information, please see How to force recalculation in Excel.

Fastest way to calculate colored cells in Excel

If you do not want to waste time tinkering with VBA codes, I’m happy to introduce you to our very simple but powerful Count & Sum by Color tool. Together with 70+ other time-saving add-ins, it is included with Ultimate Suite for Excel.

Once installed, you will find it on the Ablebits Tools tab of your Excel ribbon:

And here is a short summary of what the Count & Sum by Color add-in can do:

  • Count and sum cells by color in all versions of Excel 2016 — Excel 365.
  • Find average, maximum and minimum values in the colored cells.
  • Handle cells colored manually and with conditional formatting.
  • Paste the results anywhere in a worksheet as values or formulas.

Sum and count cells by one color

Selecting the Sum & Count by One Color option will open the following pane in the left part of your worksheet. You specify the source range and sample cell, then then click Calculate.

The result will appear on the pane straight away! No macros, no formulas, no pain 🙂

Apart from count and sum, the add-in also shows Average, Max and Min for colored numbers. To insert a particular value in the sheet, click the Paste button next to it. Or click Paste All to have all the results inserted at once:

Count and sum all colored cells at once

To handle all colored cells at a time, choose the Sum & Count by All Color option. Basically, it works in the same way, except that instead of color, you choose the function to calculate.

Tip. To have the results inserted in the worksheet as formulas (custom functions), check the corresponding box at the bottom of the pane.

Well, calculating colored cells in Excel is pretty easy, isn’t it? Of course, if you have that little gem that makes the magic happen 🙂 Curious to see how our add-in will cope with your colored cells? The download link is right below.

Источник

Top 3 Methods to Count Colored Cells In Excel

There is no built-in function to count colored cells in Excel, but below mentioned are three different methods to do this task.

  1. Count colored cells by using the Auto Filter option
  2. Count colored cells by using the VBA code
  3. Count colored cells by using the FIND method
Table of contents
  • Top 3 Methods to Count Colored Cells In Excel
    • #1 – Excel Count Colored Cells By Using Auto Filter Option
    • #2 – Excel Count Colored Cells by using VBA Code
    • #3 – Excel Count Colored Cells by Using FIND Method
    • Things to Remember
    • Recommended Articles

Now, let us discuss each of them in detail –

#1 – Excel Count Colored Cells By Using Auto Filter Option

For this example, let us look at the below data.

Count colored cells excel example 1

As we can see, each city is marked with different colors. So, we need to count the number of cities based on cell color.

As we can see, all the colors in the data. Now, we must choose the color that we want to filter.

We must follow the below steps to count cells by color.

  1. We must first apply the filter to the data.

    Count colored cells excel example 1-1

  2. At the bottom of the data, we need to apply the SUBTOTAL function in Excel to count cells.

    Count colored cells excel example 1-2

  3. The SUBTOTAL function contains many formulas. It is helpful if we want to count, sum, and average only visible cell data. Under the heading PIN, we must click on the drop-down list filter and select Choose by Color.

    Count colored cells excel example 1-3

  4. As we can see, all the colors in the data. Now, we must choose the color that we want to filter.

    Count colored cells excel example 1-4
    Wow!!! As we can see in cell D21, our SUBTOTAL function is given the count of filtered cells as 6 instead of the previous result of 18.

Similarly, now we must choose other colors to get the count of the same.

example 1-5

So, blue-colored cells count to five now.

#2 – Excel Count Colored Cells by using VBA Code

VBA’s street smart techniques help us reduce time consumption at our workplace for some complicated issues.

We can reduce time, but we can also create our functions to fit our needs. For example, we can create a function to count cells based on color in one such function. Below is the VBA codeVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more to create a function to count cells based on color.

Code:

Function Color_Cell_Count(ColorCell As Range, DataRange As Range)

Dim Data_Range As Range
Dim Cell_Color As Long

Cell_Color = ColorCell.Interior.ColorIndex

For Each Data_Range In DataRange

If Data_Range.Interior.ColorIndex = Cell_Color Then
Color_Cell_Count = Color_Cell_Count + 1
End If

Next Data_Range

End Function

Then, copy and paste the above code to your module.

Count Cells using VBA Code 1

This code is not a SUB Procedure to run. Rather, it is a “User Defined FunctionUser Defined Function in VBA is a group of customized commands created to give out a certain result. It is a flexibility given to a user to design functions similar to those already provided in Excel.read more” (UDF).

The first line of the code “Color_Cell_Count” is the function name. Now, we must create three cells and color them as below.

Count Cells using VBA Code 1-1

Now, we must open the function “Color_Cell_Count” in the G2 cell.

Count Cells using VBA Code 1-2

Even though we do not see the syntax of this function, the first argument is what color we need to count, so we must select cell F2.

Count Cells using VBA Code 1-3

The second argument is to select the range of cells as D2:D19.

Count Cells using VBA Code 1-4

Now, close the bracket and press the “Enter” key. As a result, it will provide the count of cells with the selected cell color.

Count Cells using VBA Code 1-5

Like this, with the help of UDF in VBA, we can count cells based on cell color.

#3 – Excel Count Colored Cells by Using FIND Method

We can also count cells based on the FIND method as well.

  • Step 1: First, we must select the range of cells where we need to count cells.

Count Cells by Use FIND Method 1

  • Step 2: Now, we need to press Ctrl + F to open the FIND dialog box.

Count Cells by Use FIND Method 1-1

  • Step 3: Now, click on “Options>>.”

Count Cells by Use FIND Method 1-2

  • Step 4: Consequently, it will expand the “Find” dialog box. Now, we must click on the “Format” option.

Count Cells by Use FIND Method 1-3

  • Step 5: Now, it will open up the “Find Format” dialog box. We need to click on the “Choose Format From Cell” option.

Using FIND Method 1-4

  • Step 6: Now, move the mouse pointer to see the pointer to select the format cell in excelFormatting cells is an important technique to master because it makes any data presentable, crisp, and in the user’s preferred format. The formatting of the cell depends upon the nature of the data present.read more that we are looking to count.

Using FIND Method 1-5

  • Step 7: We will select the cell formatted as the desired cell count. We have chosen the F2 cell as the desired cell format, and now we can see the preview.

Using FIND Method 1-6

  • Step 8: Now, click on the “Find All” option to get the count of the selected cell format count of cells.

Using FIND Method 1-7

So, a total of 6 cells were found with selected formatting colors.

Things to Remember

  • The provided VBA code is not a Subprocedure in VBASUB in VBA is a procedure which contains all the code which automatically gives the statement of end sub and the middle portion is used for coding. Sub statement can be both public and private and the name of the subprocedure is mandatory in VBA.read more; it is a UDF.
  • The SUBTOTAL contains many formulas used to get the result only for visible cells when the filter is applied.
  • We do not have any built-in function in Excel to count cells based on the color of the cell.

Recommended Articles

This article has been a guide to Count Colored Cells in Excel. We learned to count colored cells using the auto filter option, VBA code, FIND method, and downloadable Excel template. You may learn more about Excel from the following articles: –

  • Shade Alternate Rows in Excel
  • Countif not Blank in Excel
  • Count Rows in Excel
  • Word Count in Excel

The COUNT function in Excel counts cells containing numbers in Excel. You cannot count colored or highlighted cells with the COUNT function. But you can follow a few workarounds to count colored cells in Excel. In this tutorial, you will learn how to count colored cells in Excel.

In excel, you can count highlighted cells using the following workarounds:

  1. Applying SUBTOTAL and filtering the data
  2. Using the COUNT and GET.CELL function
  3. Using VBA

Using Subtotal and Filter functions

You can count highlighted cells in Excel by subtotaling the visible cells and applying a filter based on colors.

In this example, you have the sales record for eight salespersons for the month of July. The rows containing salespersons having sales less than $7000 is highlighted in red, the other cells with the salespersons having a bonus is highlighted in green. To calculate the number of salespersons highlighted in red:

  • Select the cell C10.
  • Assign the formula =SUBTOTAL(102, C2:C9). The first argument 102 counts the visible cells in the specified range.

  • Select cells A1:C9 by clicking on cell A1 and dragging it till C9 with your mouse.
  • Go to Data > Sort & Filter > Filter.

  • Click on the filter drop downs in C1.
  • Go to Filter by Color and select the color Red to find out the salespersons highlighted in red.

This will output change the subtotal value to x, which is the number of salespersons having sales less than $7000.

Using COUNTIF and GET.CELL functions

You can use GET.CELL with named ranges to count colored cells in Excel. GET.CELL is an old Macro4 function and does not work with regular functions. However, it still works with named ranges. To count colored cells with GET.CELL, you need to extract the color codes with GET.CELL and count them to find out the number of cells highlighted in the same color. To count cells using GET.CELL and COUNTIF:

  • Go to Formulas > Define Name.

  • In the dialogue box that pops up, set name as ColorCount, scope as workbook and Refers to as =GET.CELL(38, Sheet1!C2).

  • Assign the formula =ColorCount to cell D2 and drag it till D9 with your mouse.

  • This would return a number based on the background color. If there is no background color, Excel would return 0. Otherwise all cells with the same background color return the same number.

  • From column D, look at the code for the color red. In this case it is 22.
  • Select cell D10 and assign the formula = COUNTIF($D:$D, 22).

This will count the cells colored in red to find the number of salespersons with sales less than $7000 and return the number 3.

Using VBA

You can also create a custom function with VBA to count highlighted cells in Excel. To do that you need to create a custom function using VBA that works like a COUNTIF function and returns the number of cells for the same color.

You will follow the syntax: =CountFunction(CountColor, CountRange) and use it like other regular functions.Here CountColor is the color for which you want to count the cells. CountRange is the range in which you want to count the cells with the specified background color.

To count the cells highlighted in red, follow the steps below:

  • Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
  • Click Insert > Module.

  • Paste the following code in the Module Window.

  • In this code, you are defining a function with two arguments rColor and rRange. You are going to save the value of the background color of A2 in lCol. Then you are going to run a FOR loop where, if the cell’s background color matches the color in lCol, you increment vResult. This function returns the value of vResult, which is the count of the cells having the same background color.
  • Then save the code, and apply the following formula to cell C10:

=ColorCount(A2, C2:C10).

  • Here A2 is the cell with the background color red you want to count. C2:C10 is the cell range that you want to count.

This will return the number of salespersons with sales less than $7000 in the month of July which is 3.

Понравилась статья? Поделить с друзьями:
  • Count function with if excel
  • Count from a range in excel
  • Count frequency of words in word
  • Count for words in excel
  • Count for unique values excel