# Documentation/Calc Functions/AVERAGEIFS

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

## Function name:

AVERAGEIFS

## Category:

Statistical Analysis

## Summary:

Returns the arithmetic mean of all cells in a range that satisfy given multiple criteria. The AVERAGEIFS function sums up all the results that match the logical tests and divides this sum by the quantity of selected values.

## Syntax:

AVERAGEIFS(**Func_Range**; **Range 1**; **Criterion 1** [; **Range 2**; **Criterion 2**][; … ; [**Range 127**; **Criterion 127**]])

## Returns:

Returns a real value which is the arithmetic mean of those ranges meeting their corresponding criteria.

## Arguments:

**Func_range** is a range of cells, a name of a named range or a label of a column or a row containing values for calculating the mean.

**Range 1** is a range of cells, a name of a named range, or a label of a column or a row, to which the corresponding criterion is to be applied.

**Criterion 1** is a string expression representing a logical condition or a cell reference to such string expression. The expression can contain text, numbers, regular expressions or wildcards (if enabled in calculation options).

**Range 2** and all the following mean the same as **Range 1**.

**Criterion 2** and all the following mean the same as **Criterion 1**.

**Func_Range**and**Range 1**,**Range 2**... must have the same size, otherwise the function returns err:502 - Invalid argument.- If a cell contains TRUE, it is treated as 1, if a cell contains FALSE – as 0 (zero).
- If no cell qualifies the
**Criterion**then the function returns a division(#DIV/0!) error. - If the Criterion is not a valid one like passing just ">" sign or "!" exclamation mark then the function returns a division(#DIV/0!) error since no cell qualifies for the operation.

## Additional details:

- The search supports wildcards or regular expressions. With regular expressions enabled, you can enter "all.*", for example to find the first location of "all" followed by any characters. If you want to search for a text that is also a regular expression, you must either precede every character with a "\" character, or enclose the text into \Q...\E. You can switch the automatic evaluation of wildcards or regular expression on and off in
**Tools > Options > LibreOffice Calc > Calculate**.

## Examples:

Consider the following table

A | B | C | |
---|---|---|---|

1 | Product Name | Sales | Revenue |

2 | pencil | 20 | 65 |

3 | pen | 35 | 85 |

4 | notebook | 20 | 190 |

5 | book | 17 | 180 |

6 | pencil-case | not | not |

### Simple usage

Formula | Description | Returns |
---|---|---|

=AVERAGEIFS(B2:B6;B2:B6;">=20") | Calculates the average for values of the range B2:B6 that are greater than or equal to 20. Here the fifth row does not meet the criterion. | 25 |

=AVERAGEIFS(C2:C6;B2:B6;">=20";C2:C6;">70") | Calculates the average for values of the range C2:C6 that are greater than 70 and correspond to cells of B2:B6 with values greater than or equal to 20. Here the second and fifth rows do not meet at least one criterion. | 137.5 |

### Using regular expressions and nested functions

Formula | Description | Returns |
---|---|---|

=AVERAGEIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6)) | Calculates the average for values of the range C2:C6 that correspond to all values of the range B2:B6 except its minimum and maximum. Here the third and fifth rows do not meet at least one criterion | 127.5 |

=AVERAGEIFS(C2:C6;A2:A6;"pen.*";B2:B6;"<"&MAX(B2:B6)) | Calculates the average for values of the range C2:C6 that correspond to all cells of the A2:A6 range starting with "pen" and to all cells of the B2:B6 range except its maximum. Here only second row meets all criteria. | 65 |

### Using wildcard characters

The wildcard characters question mark (?), asterisk(*), or tilde (~) can be used in criteria. A question mark (?) matches any one character and an asterisk (*) matches zero or more characters of any kind.

Formula | Description | Returns |
---|---|---|

=AVERAGEIFS(B2:B6,A2:A6,"*pen*") | The function searches what cells from the range A2:A6 contain the word “pen” anywhere, and calculates the average of corresponding values from the B2:B6 range. Here the second, third and sixth row participate in the calculation. The search is performed in the A2:A6 range, but the values are returned from the B2:B6 range. | 27.5 |

### Reference to a cell as a criterion

If you need to change a criterion easily, you may want to specify it in a separate cell and use a reference to this cell in the condition of AVERAGEIFS function.

Formula | Description | Returns |
---|---|---|

=AVERAGEIFS(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6)) where E2 = pen | Here the link to the cell is substituted with its content. | 65 |

### More examples

For more examples, download and view this Calc spreadsheet.

## Related LibreOffice functions:

## ODF standard:

## Equivalent Excel functions:

AVERAGEIFS