Documentation/Calc Functions/COUNTIFS

From The Document Foundation Wiki
Jump to navigation Jump to search


Function name:

COUNTIFS

Category:

Statistical Analysis

Summary:

Returns the count of cells that meet criteria in multiple ranges.

Syntax:

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

Returns:

Returns a non-negative integer value which is the number of cells in Range1, Range2, .... Range127 which meet their corresponding criteria Criterion1, Criterion2, ... Criterion127.

Arguments:

Range1 is a range of cells, a name of a named range or a label of a column or a row containing values for counting and finding the corresponding criterion.

Criterion1 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). If you put the criteria in a cell as a string, quotation marks(") are not required.

Range2 and all the following mean the same as Range1.

Criterion2 and all the following mean the same as Criterion1.

  • Range1, Range2, ... and Criterion1, Criterion2, ... must have the same size, otherwise the function returns err:502 - Invalid argument.
  • 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 range is taken into calculation.
  • If a cell contains TRUE, it is treated as 1, if a cell contains FALSE – as 0 (zero).

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.

Gnome-dialog-warning.svg

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 ".[0]" or ".\0" or "(?i).0".


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

In all examples below, ranges for calculation contain the row #6, which is ignored because it contains text.

Simple usage

Formula Description Returns
=COUNTIFS(B2:B6;">=20") Counts the number of rows of the range B2:B6 with values greater than or equal to 20. Here the fifth and the sixth rows do not meet the criterion. 3
=COUNTIFS(B2:B6;">=20";C2:C6;">70") Counts the number of rows that contain simultaneously values greater than 70 in the C2:C6 range and values greater than or equal to 20 in the B2:B6 range. Here the second, the fifth and the sixth rows do not meet at least one criterion. 2

Using regular expressions and nested functions

Formula Description Returns
=COUNTIFS(B2:B6;"[:alpha:]*") Counts the number of rows of the B2:B6 range that contain only alphabet symbols. Here only the sixth row meets the criterion. 1
=COUNTIFS(B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6)) Counts the number of rows of the B2:B6 range excluding rows with minimum and maximum values of this range. Here the third, the fifth, and the sixth rows do not meet at least one criterion. 2
=COUNTIFS(A2:A6;"pen.*";B2:B6;"<"&MAX(B2:B6)) Counts the number of rows that correspond to all cells of the A2:A6 range starting with "pen" and to all cells of the B2:B6 range with exception of its maximum. Here only second row meets all criteria. 1

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
=COUNTIFS(A2:A6;"*pen*") The function searches which cells from the range A2:A6 contain the word “pen” anywhere. Here the second, third and sixth rows participate in the calculation. 3

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

Formula Description Returns
=COUNTIFS(A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6)) where E2 = pen Here the link to the cell is substituted with its content and it works as a function above. 1

More examples

For more examples, download and view this Calc spreadsheet.

Related LibreOffice functions:

COUNT

COUNTA

COUNTBLANK

COUNTIF

AVERAGEIFS

MAXIFS

MINIFS

SUMIFS

ODF standard:

Section 6.13.10

Equivalent Excel functions:

COUNTIFS