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!
Recommended Productivity Tools
Office Tab: Bring handy tabs to Excel and other Office software, just like Chrome, Firefox and new Internet Explorer.Try now
Kutools for Excel: 200 new features for Excel, make Excel much easy and powerful, increase productivity immediately.Try now
Sum 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.
Sum 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.
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.
Demo: Sum/Count/Average only filtered or visible 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!
Related 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
Bring handy tabs to Excel and other Office software, just like Chrome, Firefox and new Internet Explorer.
Kutools for Excel
Amazing! Increase your productivity in 5 minutes. Don't need any special skills, save two hours every day!
200 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...
Comments
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,
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.
Eg.if i have a range of values i want it to select values which have criteria of "X" in a column.
Is it possible to change "Function" to reflect either "Zero" or "No hidden Rows"?
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.
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!
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!
=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?