# Documentation/Calc Functions/AGGREGATE

Other languages:
dansk • ‎English

AGGREGATE

Mathematical

## Summary:

This function returns an aggregate result of the calculations in the range. You can use different aggregate functions listed below. The AGGREGATE function enables you to omit hidden rows, errors, SUBTOTAL and other AGGREGATE function results in the calculation. Note: This function is available since LibreOfficeDev 4.4.

## Syntax:

AGGREGATE(Function; Option; Number1 [; Number2 [; …]])

or

AGGREGATE(Function; Option; Array [; k])

## Returns:

A real number is always returned, with its meaning dependent on the FUNCTION applied.

## Arguments:

Function – required argument. A function index or a reference to a cell with value from 1 to 19, in accordance with the following table.

Function index Function applied
1 AVERAGE
2 COUNT
3 COUNTA
4 MAX
5 MIN
6 PRODUCT
7 STDEV.S
8 STDEV.P
9 SUM
10 VAR.S
11 VAR.P
12 MEDIAN
13 MODE.SNGL
14 LARGE
15 SMALL
16 PERCENTILE.INC
17 QUARTILE.INC
18 PERCENTILE.EXC
19 QUARTILE.EXC

Option – required argument. An option index or reference to a cell with value from 0 to 7 determines what to ignore in the range for the function.

Option index Option applied
0 Ignore only nested SUBTOTAL and AGGREGATE functions
1 Ignore only hidden rows, nested SUBTOTAL and AGGREGATE functions
2 Ignore only errors, nested SUBTOTAL and AGGREGATE functions
3 Ignore hidden rows, errors, nested SUBTOTAL and AGGREGATE functions
4 Ignore nothing
5 Ignore only hidden rows
6 Ignore only errors
7 Ignore only hidden rows and errors

Number1 – required argument. The first numeric argument (if the range is set by a list of values inside the function) or a reference to a cell that contains it.

Number2, Number3, ... – optional. A numeric argument or a reference to a cell (up to 253 arguments), for which you need the aggregate value.

Array – required argument. The array can be specified by the boundaries of the range, the name of the named range or the column label. For using column labels “Automatically find columns and rows labels” function needs to be enabled.

k – required argument for the following functions: LARGE, SMALL, PERCENTILE.INC, QUARTILE.INC, PERCENTILE.EXC, QUARTILE.EXC. It is a numeric argument, which must correspond to the second argument of these functions.

If any of the parameters are outside its domain, then the function returns an error value. For example if Function index passed is not available, i.e. not within [0,19]. Warning: AGGREGATE function is applied to vertical ranges of data with activated AutoFilter. If AutoFilter is not activated, automatic recalculation of the function result does not work for newly hidden rows. It is not supposed to work with horizontal ranges, however it can be applied to them as well, but with limitations. In particular, the AGGREGATE function applied to a horizontal data range does not recognize hiding columns, however correctly omits errors and results of SUBTOTAL and other AGGREGATE functions embedded into the row.

## Examples:

Consider the following sample table to operate AGGREGATE function:

A B C
1 ColumnOne ColumnTwo ColumnThree
2 34 11 12
3 10 56 35
4 #DIV/0! 5 3
5 20 8 1
6 0 8 9
7 #VALUE! 20 21
8 5 7 8
9 14 0 5

Below are some cases and examples of how to apply AGGREGATE function:

Formula Description Returns
=AGGREGATE(4;2;A2:A9) maximum value for the range A2:A9 ignoring only errors, nested SUBTOTAL and AGGREGATE functions whereas =MAX(A2:A9) returns the error Err:511 34
=AGGREGATE(9;5;A5:C5) sum for the range A5:C5, even if some of the columns are hidden 29
=AGGREGATE(9;5;B2:B9) sum of the column B even if any row is hidden, the function omit its value, for example if the 7th row is hidden, the function returns 95 115
=AGGREGATE(13;3;Sheet1.B2:B9:Sheet3.B2:B9) if you need to apply the function with a 3D range, this example shows how to do it. The function returns mode of the values of second columns through sheets 1:3 (that have the same data) 8
=AGGREGATE(E3;E5;'ColumnOne') You can use reference to a cell or a range for every argument in the formula. The following example shows how it works. Besides, it shows that you can use column labels to specify an array. If E3 = 13 and E5 = 5, the function returns mode of the first column 10
=AGGREGATE(20;2;A2:A9) No FUNCTION is available at index 20 hence it will return an error value Err:502

None

AGGREGATE