# Documentation/Calc Functions/MAXIFS

Jump to navigation Jump to search

MAXIFS

## Category:

Statistical Analysis

## Summary:

Returns the maximum of the values of cells in a range that meet multiple criteria in multiple ranges.

## Syntax:

MAXIFS(Func_Range; Range1; Criterion1 [ ; Range2; Criterion2 [;... ; [Range127; Criterion127]]))

## Returns:

Returns a real value which is the maximum value contained in cells of the specified 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 maximum.

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.

Cells that contain text and satisfy their associated criterion are ignored when calculating the maximum value.

• 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 satisfies its criterion then the function returns a zero value.
• If the Criterion is not a valid one like passing just ">" sign or "!" exclamation mark then the function returns a zero value 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 expressions on and off in Tools > Options > LibreOffice Calc > Calculate. Warning: When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as "." or ".\0" or "(?i).0". The logical relation between criteria can be defined as logical AND (conjunction). In other words, if and only if all given criteria are met, a value from the corresponding cell of the given Func_Range is taken into calculation.

## 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 Warning: In all examples below, ranges for calculation contain the row #6, which is ignored because it contains text.

### Simple usage

Formula Description Returns
=MAXIFS(B2:B6;B2:B6;"<35") Calculates the maximum of values of the range B2:B6 that are less than 35. Here, the third and fifth row does not meet the criterion. 20
=MAXIFS(C2:C6;B2:B6;">=20";C2:C6;"<90") Calculates the maximum of values of the range C2:C6 that are lower than 90 and correspond to cells of the B2:B6 range with values greater than or equal to 20. Here, the fourth and fifth rows do not meet at least one criterion. 85

### Using regular expressions and nested functions

Formula Description Returns
=MAXIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6)) Calculates the maximum of values of the range C2:C6 that correspond to all values of the range B2:B6 except its minimum and maximum. Here, the fourth row has the maximum value satisfying the criteria. 190
=MAXIFS(C2:C6;A2:A6;"pen.*";B2:B6;"<="&MAX(B2:B6)) Calculates the maximum of 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. Here, the third row meets all criteria and has the maximum value. 85

### 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
=MAXIFS(B2:B6,A2:A6,"*pen*") The function searches what cells from the range A2:A6 contain the word “pen” anywhere, and calculates the maximum 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. 35

### 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 the MAXIFS function. For example, the above function can be rewritten as follows:

Formula Description Returns
=MAXIFS(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6)) where E2 = pen and regular expressions are enabled Here the link to the cell is substituted with its content. 65

### More examples

For more examples, download and view this Calc spreadsheet.

None

MAXIFS