How to sum only filtered or visible cells in Excel?

Maybe it is easy for you to sum a column of numbers in Excel, but sometimes you need to filter or hide some data to meet your criteria. After hiding or filtering, and now you just want to add up only the filtered or visible values. If you apply the Sum function in Excel, all the values including the hidden data will be added, in this case, how could you sum only the filtered or visible cell values in Excel?

Sum only filtered or visible cell values with formula

Sum only filtered or visible cell values with User Defined Function

Sum/Count/Average only filtered or visible cells with Kutools for Excel

Sum/Count/Average visible cells only in a specified range with ignoring hidden or filtered cells/rows/columns

The normally SUM/Count/Average function will count all cells in the specified range on matter cells are hidden/filtered or not. While the Subtotal function can only sum/count/average with ignoring hidden rows. However, Kutools for Excel SUMVISIBLE / COUNTVISIBLE / AVERAGEVISIBLE functions will easily calculate the specified range with ignoring any hidden cells, rows, or columns. Click for 60-day free trial!

ad sum count average visible cells only


arrow blue right bubbleSum only filtered or visible cell values with formula

With this SUBTOTAL function which ignores rows that have been excluded by a filter, you can easily add up only the visible cells. You can do as this:

Supposing you have a range of data, and they have been filtered as you need, see screenshot:

1. In a blank cell, C13 for example, enter this formula: =Subtotal(109,C2:C12) (109 indicates when you sum the numbers, the hidden values will be ignored; C2:C12 is the range you will sum ignoring filtered rows.), and press the Enter key.

Note: This formula also can help you sum only the visible cells if there are hidden rows in your worksheet. However, this formula can't sum with ignoring cells in hidden columns.


arrow blue right bubbleSum only filtered or visible cell values with User Defined Function

If you are interested in the following code, it also can help you to sum only the visible cells.

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module window.

Function SumVisible(WorkRng As Range) As Double
'Update 20130907
Dim rng As Range
Dim total As Double
For Each rng In WorkRng
    If rng.Rows.Hidden = False And rng.Columns.Hidden = False Then
        total = total + rng.Value
    End If
Next
SumVisible = total
End Function

3. Save this code and enter the formula =SumVisible(C2:C12) into a blank cell. See screenshot:

4. Then press Enter key and you will get the result that you want.


arrow blue right bubble Sum/Count/Average only filtered or visible cells with Kutools for Excel

If you have Kutools for Excel installed, you can quickly calculate the sum/count/average only visible or filtered out cells in Excel easily.

Kutools for Excel - Combines More Than 120 Advanced Functions and Tools for Microsoft Excel

For example you want to sum only visible cells only, please select the cell you will place the summing result at, type the formula =SUMVISIBLE(C3:C12) (C3:C13 is the range where you will sum only visible cells) into it, and press the Enter key.

And then the summing result is calculated with ignoring all hidden cells. See screenshot:

For counting only visible cells, please apply this formula =COUNTVISIBLE(C3:C12); For averaging only visible cells, please apply this formula =AVERAGEVISIBLE(C3:C12).

Note: If you can't remember the formulas exactly, you can following below steps to sum/count/average only visible cells easily:

1. Select the cell you will place the summing result into, and click Kutools > Functions > Statistical & Math > SUMVISIBLE (or AVERAGEVISBLE, COUNTVISIBLE as you need). See screenshot:

2. In the opening Function Arguments dialog box, please specify the range where you will sum ignoring hidden cells, and click the OK button. See screenshot:

Free Trial Kutools for Excel Now

And then the summing result is calculated with ignoring all hidden cells.


Tip: In this Video, Kutools tab and Enterprise tab are added by Kutools for Excel. If you need it, please click here to have a 60-day free trial without limitation!


Easily sum/count only filtered out/visible cells by deleting hidden rows in Excel

When summing/counting filtered out cells in Excel, the SUM function or Count function will not ignore hidden cells. If hidden/filtered rows are removed, we can only sum or count visible cells easily. You can try Kutools for Excel's Delete Hidden (Visible) Rows & Columns utility to solve it. Click for 60-day free trial!

ad delete hidden rows columns 3

arrow blue right bubbleRelated articles:

How to sum the absolute values in Excel?

How to quickly sum every other or nth row/column in Excel?

 

Recommended Productivity Tools

Office Tab

gold star1 Bring handy tabs to Excel and other Office software, just like Chrome, Firefox and new Internet Explorer.

Kutools for Excel

gold star1Amazing! Increase your productivity in 5 minutes. Don't need any special skills, save two hours every day!

gold star1200 New Features for Excel, Make Excel Much Easy and Powerful:

  • Merge Cell/Rows/Columns without Losing Data.
  • Combine and Consolidate Multiple Sheets and Workbooks.
  • Compare Ranges, Copy Multiple Ranges, Convert Text to Date, Unit and Currency Conversion.
  • Count by Colors, Paging Subtotals, Advanced Sort and Super Filter,
  • More Select/Insert/Delete/Text/Format/Link/Comment/Workbooks/Worksheets Tools...

Screen shot of Kutools for Excel

btn read more btn download btn purchase

Comments  

Permalink +1 Paul_007
Hi All,

I would like to add two values in different collumns, but only with visible cells when I use a filter.
eg. B3=B2+A3
I have tried to use the SUBTOTAL function, but that does not work.
Please advise, thanks in advance!
regards,
2014-06-27 13:43 Reply Reply with quote Quote
Permalink +2 Milind Ranka
Create a row on top of the row you will choose to apply filter.
In the column for which you need total write the formula
=subtotal(9,{start column no.},{end column no})

For example
if for column A i need the subtotals based on value in column b
then if the header row for data is in row 2 and row 1 is blank
then put the formula in column A1 as =subtotal(9,A2:a999)

As you change the filter condition on column B you will see total changing.
2014-07-30 04:48 Reply Reply with quote Quote
Permalink 0 alex17111
How do i add criteria to the 2nd option.
Eg.if i have a range of values i want it to select values which have criteria of "X" in a column.
2014-07-09 01:30 Reply Reply with quote Quote
Permalink 0 Roy Rouessart
When you unhide rows then "=SumVisible()" reflects error.
Is it possible to change "Function" to reflect either "Zero" or "No hidden Rows"?
2014-07-10 08:33 Reply Reply with quote Quote
Permalink 0 Roy Rouessart
Thanks Milinda - I have inserted the module in both "Book 1" and "Personal.xlsb" but when I open a new file I don't seem able to access the function. Please what have I done wrong?
2014-07-30 07:52 Reply Reply with quote Quote
Permalink 0 Pretti
hi when i sue this function, and filter, the totals dont display. why?
2014-10-10 21:44 Reply Reply with quote Quote
Permalink 0 Steve Ostroff
I had a similar issue where I wanted to calculate differences from two cells in different rows where I use a Data Filter to discriminate which rows are displayed. I solved the problem in the following method:

1. Create a new column [or Row depending on what is hidden] and label it Visible.
2. Create a new column that will be used to maintain the value from the last "visible" row that you want to bring down.
3. In the "Visible" column, use the formula: =+SUBTOTAL(102, cell_in_row_or_ column)
This will have a 1 as soon as you type it, but will be 0 if the cell is not visible.
4. In the column created for step 2, you need a simple formula: +IF(A,B,C); where A=cell returning Visible status, B the value you want to operate on from the same row [just a copy], C the value from the same cell in the row previous since the cell is not visible.

In this way, the last "Visible" item is propagated behind the scenes to the row above the visible row(s). This allows you to create simple formulas performing the operations on the preceding row. This works for many situations where you need to deal with individual data points, as opposed to ranges which are better with Subtotal.
2014-11-03 19:33 Reply Reply with quote Quote
Permalink 0 MJK
Thanks a lot!! It was very helpful:)
2014-11-04 13:16 Reply Reply with quote Quote
Permalink 0 ExcelNewbie
The solution worked for me. :D
2015-05-08 09:51 Reply Reply with quote Quote
Permalink 0 DataCrucher
I am able to get your VBA for =SUMVISIBLE above to work good.
However just if my data runs vertically and I am hiding rows.
Is there a way to program it so you can have your data run horizontally and it still work when you hide columns? THANKS!
2015-08-20 20:53 Reply Reply with quote Quote
Permalink +1 DataCruncher
Sorry I messed up the posts security code at bottom and seems like my question may have been deleted as it asked me to try another one.

I can get the VBA code for SUMVISIBLE to work well if my data is vertical and I hide rows. However it doesn't if my data runs horizontal and I want to hide columns. Is there a way to program this? Thanks!
2015-08-20 21:03 Reply Reply with quote Quote
Permalink 0 JPas
This is awesome! Thanks so much.
2015-10-21 22:03 Reply Reply with quote Quote
Permalink 0 Sab6247
Im trying to use the AVERAGEVISIBLE function to average the 12 largest values in a column, this works in the normal AVERAGE function as

=AVERAGE(LARGE(E971:E1540,{1,2,3,4,5,6,7,8,9,10,11,12})) however when i try to use the average visible function it returns #VALUE!, any ideas?
2016-07-14 10:35 Reply Reply with quote Quote

Add comment


Security code
Refresh