Excel Formula to Sum Only Visible Rows and Columns

📅 Oct 13, 2026 📝 Sarah Miller

Consolidating dynamic Excel data often becomes frustrating when standard formulas mistakenly aggregate hidden rows or filtered columns, distorting your reporting accuracy. While standard function sources like SUM or basic SUBTOTAL are the typical starting points for data aggregation, they lack the precision required to isolate only visible, intersecting data points.

Employing a tailored formula approach grants complete analytical control, ensuring your totals dynamically reflect only active screen data. Note this key stipulation: while SUBTOTAL(109, range) automatically ignores filtered rows, excluding hidden columns requires integrating helper rows with CELL("width"). Below, we outline the exact formula architecture to master this dual-axis filtering.

Excel Formula to Sum Only Visible Rows and Columns

When working with large datasets in Excel, managing visibility is a common practice. We often hide rows using filters, manually hide specific rows that aren't currently relevant, or hide entire columns to declutter our workspace. However, performing calculations on only the remaining visible data can be surprisingly challenging.

Standard Excel functions like SUM, AVERAGE, or COUNTA do not care about visibility; they calculate hidden and visible cells alike. To solve this, Excel provides functions like SUBTOTAL and AGGREGATE to handle filtered or hidden rows. But what happens when you need to exclude both filtered/hidden rows and hidden columns simultaneously? This article will guide you through the formulas, workarounds, and VBA solutions required to solve this complex Excel puzzle.

The Core Challenge: Rows vs. Columns in Excel

To construct the right formula, we must first understand how Excel treats hidden rows compared to hidden columns:

  • Hidden/Filtered Rows: Excel has built-in functions (SUBTOTAL and AGGREGATE) that can natively identify and ignore hidden or filtered rows.
  • Hidden Columns: Excel does not have a built-in worksheet function that can natively detect and ignore hidden columns in a formula calculation. SUBTOTAL and AGGREGATE only ignore hidden data when scanning vertically down rows, not horizontally across columns.

Because of this asymmetry, summing a 2D range (grid) while excluding both hidden rows and hidden columns requires a mix of advanced formulas, helper rows/columns, or a simple VBA User-Defined Function (UDF).


Method 1: Summing Filtered and Hidden Rows (Vertical Only)

If your columns are all visible, but you need to sum a column while ignoring rows that are filtered out or manually hidden, you should use the SUBTOTAL function with the function number 109.

The Formula:

=SUBTOTAL(109, C2:C15)

How It Works:

  • The first argument, 109, tells Excel to perform a SUM operation (9) and to exclude any manually hidden rows or rows hidden by a filter (the 100-series prefix).
  • If you only want to exclude rows hidden by filters but include manually hidden rows, you would use 9 instead of 109 (i.e., =SUBTOTAL(9, C2:C15)).

Alternatively, you can use the AGGREGATE function, which offers even more flexibility, such as ignoring error values along with hidden rows:

=AGGREGATE(9, 5, C2:C15)

Here, 9 represents SUM, and 5 tells the formula to ignore hidden rows.


Method 2: Summing Visible Rows and Excluded Columns Using a Helper Row

Since standard formulas cannot natively detect hidden columns, we can create a "helper row" at the top or bottom of our dataset to identify which columns are visible. We do this using the CELL function.

Step-by-Step Setup:

  1. Insert a helper row above your data (for example, Row 1).
  2. In cell B1, enter the following formula to check if the column is visible:
    =CELL("width", B2)
  3. Drag this formula horizontally across all columns in your dataset.

Note: The CELL("width", cell) function returns 0 if the column is hidden. However, Excel does not automatically recalculate the CELL function when you hide or unhide a column. You will need to press F9 (or calculate sheet) to update the values after changing column visibility.

Constructing the Final Sum Formula:

Once your helper row is in place, you can combine SUMPRODUCT with SUBTOTAL to sum only the cells that are in visible rows and visible columns. Let's assume your data range is B3:E10, and your helper row is in B1:E1.

=SUMPRODUCT((B1:E1>0) * BYCOL(B3:E10, LAMBDA(col, SUBTOTAL(109, col))))

How this formula works:

  • (B1:E1>0) checks the helper row to ensure the column is visible (width is greater than 0). This returns an array of TRUE/FALSE values.
  • BYCOL(B3:E10, LAMBDA(col, SUBTOTAL(109, col))) utilizes modern Excel's dynamic arrays to run a SUBTOTAL(109, ...) on each column individually, successfully ignoring any filtered or hidden rows within those columns.
  • SUMPRODUCT multiplies these two conditions together, effectively zeroing out any data from hidden columns or hidden rows, and sums the remaining values.

Method 3: The VBA Solution (Most Reliable & Dynamic)

If you want a clean, elegant solution that doesn't require helper rows or manual F9 recalculations, a custom VBA function is the best approach. We can write a custom function called SumVisibleOnly that checks the visibility of both the row and column for every single cell in a specified range.

The VBA Code:

To add this code to your workbook:

  1. Press ALT + F11 to open the VBA Editor.
  2. Click Insert > Module.
  3. Copy and paste the following code into the module window:
Function SumVisibleOnly(TargetRange As Range) As Double
    Dim Cell As Range
    Dim Total As Double
    Total = 0
    
    ' Loop through each cell in the user-specified range
    For Each Cell In TargetRange
        ' Check if both the row and the column of the cell are visible
        If Cell.EntireRow.Hidden = False And Cell.EntireColumn.Hidden = False Then
            ' Check if the cell contains a numeric value to avoid errors
            If IsNumeric(Cell.Value) Then
                Total = Total + Cell.Value
            End If
        End If
    Next Cell
    
    SumVisibleOnly = Total
End Function
  1. Close the VBA Editor and return to your Excel sheet.
  2. Save your workbook as an Excel Macro-Enabled Workbook (.xlsm).

How to Use the Custom Function:

Now, you can use this function just like any native Excel formula. If your dataset is in range B2:F15, simply enter:

=SumVisibleOnly(B2:F15)

This formula will dynamically calculate the sum of only the visible cells in that 2D grid, completely ignoring any rows hidden by filters, manually hidden rows, and manually hidden columns.


Summary of Methods

Scenario Best Method Pros Cons
Only Rows are Hidden/Filtered =SUBTOTAL(109, Range) Fast, native formula, updates instantly on filter change. Cannot handle hidden columns.
No Macros allowed, Rows & Columns both hidden Helper Row + SUMPRODUCT / BYCOL Works in standard XLSX files without macros. Requires a helper row; must press F9 to recalculate when hiding columns.
Ultimate flexibility (Rows & Columns hidden) VBA User-Defined Function (SumVisibleOnly) Extremely clean formula, works dynamically on any grid size. Requires saving as an XLSM file; macros must be enabled.

Conclusion

Excel is highly optimized for vertical data processing, which is why handling hidden rows is a breeze using built-in tools like SUBTOTAL. However, when your spreadsheet design requires hiding both rows and columns, standard formulas fall short. By implementing either a helper-row dynamic array system or a lightweight VBA custom function, you can ensure your reports always display accurate, context-aware mathematical totals regardless of how your data is filtered or visually organized.

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.