# Documentation/Calc Functions/AGGREGATE

TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate

## Function name:

AGGREGATE

## Category:

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.

## 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].

## Additional details:

## 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 |

## Related LibreOffice functions:

AVERAGE

COUNT

COUNTA

MAX

MIN

PRODUCT

STDEV.P

STDEV.S

SUM

VAR.S

VAR.P

MEDIAN

MODE.SNGL

LARGE

SMALL

PERCENTILE.INC

QUARTILE.INC

PERCENTILE.EXC

QUARTILE.EXC

## ODF standard:

None

## Equivalent Excel functions:

AGGREGATE