SUBTOTAL Function (OpenOffice Calc)

Math Intermediate OpenOffice Calc Introduced in OpenOffice.org 3.0
filtered-data aggregation visibility analysis

The SUBTOTAL function in OpenOffice Calc performs calculations on filtered or visible data. Learn syntax, function codes, examples, common errors, and best practices.

Compatibility

▾

What the SUBTOTAL Function Does ▾

  • Performs calculations on visible or filtered rows
  • Supports 11 different operations (SUM, AVERAGE, COUNT, MAX, MIN, etc.)
  • Can include or exclude manually hidden rows
  • Works with AutoFilter and Standard Filter
  • Ideal for dashboards and interactive reports
  • Prevents double‑counting when data is collapsed or grouped

SUBTOTAL is the preferred function when working with filtered lists or when you need totals that update dynamically as filters change.

Syntax ▾

SUBTOTAL(function_code; range)

Arguments:

  • function_code — A number that specifies the operation
  • range — The cells to calculate
Function codes 1–11 include manually hidden rows.
Function codes 101–111 ignore manually hidden rows.

Function Codes ▾

Codes that include manually hidden rows

  • 1 — AVERAGE
  • 2 — COUNT
  • 3 — COUNTA
  • 4 — MAX
  • 5 — MIN
  • 6 — PRODUCT
  • 7 — STDEV
  • 8 — STDEVP
  • 9 — SUM
  • 10 — VAR
  • 11 — VARP

Codes that ignore manually hidden rows

  • 101 — AVERAGE
  • 102 — COUNT
  • 103 — COUNTA
  • 104 — MAX
  • 105 — MIN
  • 106 — PRODUCT
  • 107 — STDEV
  • 108 — STDEVP
  • 109 — SUM
  • 110 — VAR
  • 111 — VARP

Basic Examples ▾

Sum only visible rows

=SUBTOTAL(9; A1:A100)

Function code 9 = SUM.

Count visible rows

=SUBTOTAL(2; A1:A100)

Counts numeric values in visible rows.

Average visible rows

=SUBTOTAL(1; A1:A100)

Ignore manually hidden rows

=SUBTOTAL(109; A1:A100)

Function code 109 = SUM (ignore manually hidden rows).

Advanced Examples ▾

Subtotal across filtered data

=SUBTOTAL(9; B2:B500)

Automatically updates when filters change.

Subtotal across sheets

=SUBTOTAL(9; Sheet1.A1:A200)

Subtotal with mixed hidden and filtered rows

=SUBTOTAL(109; A1:A100)

This version ignores:

  • Filtered rows
  • Manually hidden rows

Subtotal for grouped data (outline view)

=SUBTOTAL(9; A2:A50)

When groups are collapsed, hidden rows are excluded.

Subtotal inside a table-like structure

=SUBTOTAL(3; C2:C200)

Counts non‑empty visible cells.

Prevent double‑counting in nested subtotals

OpenOffice Calc automatically prevents nested SUBTOTALs from being included in higher‑level SUBTOTALs.

Example:

=SUBTOTAL(9; A1:A100)

If A1:A100 contains other SUBTOTAL formulas, they are ignored.

Common Errors and Fixes ▾

Err:508 — Missing parenthesis

Usually caused by:

  • Missing )
  • Incorrect argument separators
  • Using commas instead of semicolons

Err:504 — Parameter error

Occurs when:

  • Function code is invalid
  • Range is malformed
  • A non‑numeric function code is used

SUBTOTAL returns unexpected values

Possible causes:

  • Using a function code that includes hidden rows
  • Using a function code that excludes hidden rows
  • Filters not applied correctly
  • Hidden rows created by grouping vs manual hiding

Fix: Choose the correct function code (9 vs 109, etc.)

SUBTOTAL includes other SUBTOTAL formulas

OpenOffice Calc normally prevents this, but issues may occur if:

  • SUBTOTAL is wrapped inside another function
  • SUBTOTAL is used with array formulas

Best Practices ▾

  • Use 109 instead of 9 when you want to ignore manually hidden rows
  • Use SUBTOTAL instead of SUM for filtered lists
  • Avoid mixing SUBTOTAL with array formulas
  • Use named ranges for cleaner formulas
  • Use SUBTOTAL for dynamic dashboards and reports
  • Use grouping (Data → Group and Outline) for collapsible sections
For interactive reports, combine SUBTOTAL with AutoFilter to create dynamic summaries that update instantly as users filter the data.

Copyright 2026. All rights reserved.