AGGREGATE function

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 Icon

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.


Syntax

AGGREGATE(Function; Option; Ref1 [; Ref2 [; …]])

or

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

Function – obligatory 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 – obligatory 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


Ref1 – obligatory 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.

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

Array – obligatory argument. The array can be specified by the boundaries of the range, the name of the named range or the column label.

Note Icon

For using column labels “Automatically find columns and rows labels” function needs to be enabled.


k – obligatory 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.

Example

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


=AGGREGATE(4;2;A2:A9)
Returns maximum value for the range A2:A9 = 34, whereas =MAX(A2:A9) returns the error Err:511.

=AGGREGATE(9;5;A5:C5)
Returns sum for the range A5:C5 = 29, even if some of the columns are hidden.

=AGGREGATE(9;5;B2:B9)
Returns sum of the column B = 115. If any row is hidden, the function omit its value, for example if the 7th row is hidden, the function returns 95.

If you need to apply the function with a 3D range, this example shows how to do it.

=AGGREGATE(13;3;Sheet1.B2:B9:Sheet3.B2:B9)
The function returns mode of the values of second columns through sheets 1:3 (that have the same data) = 8.

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.

=AGGREGATE(E3;E5;'ColumnOne')
If E3 = 13 and E5 = 5, the function returns mode of the first column = 10.