Documentation/Calc Functions/SUMIFS

From The Document Foundation Wiki
Jump to: navigation, search

Other languages:

Function name:

SUMIFS

Category:

Mathematical

Summary:

Returns the sum of the values of cells in a range that meets multiple criteria in multiple ranges.

Syntax:

SUMIFS(Func_Range; Range1; Criterion1[; Range2; Criterion2][; … ; [Range127; Criterion127]])

Returns:

Returns a real number which is the sum of those ranges meeting their corresponding criteria.

Arguments:

Func_Range (required) It 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 sum.

Criterion 1 (required) 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 (Optional) Range 2 and all the following mean the same as Range 1.

Criterion 2 (Optional) 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 an error value.
  • The function can have up to 255 arguments, meaning that you can specify 127 criteria ranges and criteria for them.

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.
  • 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".
  • 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.
  • If a cell contains TRUE, it is treated as 1, if a cell contains FALSE – as 0 (zero).

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
=SUMIFS(B2:B6;B2:B6;">=20") Calculates the sum of values of the range B2:B6 that are greater than or equal to 20. Here the fifth row does not meet the criterion. 75
=SUMIFS(C2:C6;B2:B6;">=20";C2:C6;">70") Calculates the sum of values of the range C2:C6 that are greater than 70 and correspond to cells of the B2:B6 range with values greater than or equal to 20. Here the second and the fifth rows do not meet at least one criterion. 275

Using regular expressions and nested functions

Formula Description Returns
=SUMIFS(C2:C6;B2:B6;">"&MIN(B2:B6);B2:B6;"<"&MAX(B2:B6)) Calculates the sum of 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 the fifth rows do not meet at least one criterion. 255
=SUMIFS(C2:C6;A2:A6;"pen.*";B2:B6;"<"&MAX(B2:B6)) Calculates the sum 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 except its maximum. Here only second row meets all criteria. 65

Reference to a cell as a criterion

Formula Description Returns
=SUMIFS(C2:C6;A2:A6;E2&".*";B2:B6;"<"&MAX(B2:B6)) where E2 = pen 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 SUMIFS function. 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:

SUM

SUMIF

AVERAGEIFS

COUNTIFS

MINIFS

MAXIFS

ODF standard:

Section 6.16.63, part 2

Equivalent Excel function:

SUMIFS