Difference between revisions of "Documentation/How Tos/Calc: SUMIF function"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (regex link in text)
m
 
(16 intermediate revisions by 7 users not shown)
Line 1: Line 1:
__NOTOC__
+
{{DISPLAYTITLE:SUMIF function}}
 +
{{Documentation/CalcFunc MathematicalTOC
 +
|ShowPrevNext=block
 +
|PrevPage=Documentation/How_Tos/Calc:_SUM_function
 +
|NextPage=Documentation/How_Tos/Calc:_SUMSQ_function
 +
}}__NOTOC__
  
 
== SUMIF  ==
 
== SUMIF  ==
Line 7: Line 12:
 
<tt>'''SUMIF(test_range; condition; sum_range)'''</tt>
 
<tt>'''SUMIF(test_range; condition; sum_range)'''</tt>
  
This function identifies those cells in the range <tt>'''test_range'''</tt> that meet the <tt>'''condition'''</tt>, and sums the corresponding cells in the range <tt>'''sum_range'''</tt>. If <tt>'''sum_range'''</tt> is omitted the cells in <tt>'''test_range'''</tt> are summed.  
+
: This function identifies those cells in the range <tt>'''test_range'''</tt> that meet the <tt>'''condition'''</tt>, and sums the corresponding cells in the range <tt>'''sum_range'''</tt>. If <tt>'''sum_range'''</tt> is omitted, the cells in <tt>'''test_range'''</tt> are summed.  
  
 +
: <tt>'''condition'''</tt> may be:
  
<tt>'''condition'''</tt> is or refers to a text string which has the following format:
+
:: a number, such as <tt>'''34.5'''</tt>
 +
:: an expression, such as <tt>'''2/3'''</tt> or <tt>'''SQRT(B5)'''</tt>
 +
:: a text string
  
:<tt>'''comparator'''</tt> <tt>'''value'''</tt>
+
: <tt>'''SUMIF'''</tt> looks for cells in  <tt>'''test_range'''</tt> that are equal to <tt>'''condition'''</tt>, unless <tt>'''condition'''</tt> is a text string that starts with a comparator:
  
where
+
:: <tt>'''&gt;'''</tt>, <tt>'''&lt;'''</tt>, <tt>'''&gt;='''</tt>, <tt>'''&lt;='''</tt>, <tt>'''='''</tt>, <tt>'''&lt;&gt;'''</tt>
  
:<tt>'''comparator'''</tt> is one of <tt>'''>'''</tt>, <tt>'''<nowiki><</nowiki>'''</tt>, <tt>'''>='''</tt>, <tt>'''<nowiki><=</nowiki>'''</tt>, <tt>'''<nowiki>=</nowiki>'''</tt>, <tt>'''<nowiki><></nowiki>'''</tt> (if <tt>'''comparator'''</tt> is omitted <tt>'''<nowiki>=</nowiki>'''</tt> is assumed );
+
: In this case <tt>'''SUMIF'''</tt> compares those cells in <tt>'''test_range'''</tt> with the remainder of the text string (interpreted as a number if possible or text otherwise).
  
:<tt>'''value'''</tt> is the value (number or text) to be compared.
+
: For example, the condition “<tt>'''>4.5'''</tt>” tests if the content of each cell is greater than the number 4.5, and the condition “<tt>'''<dog'''</tt>” tests if the content of each cell would come alphabetically before the text <tt>'''dog'''</tt>.
  
For example the condition “<tt>'''>4'''</tt>” tests if the contents of cells are greater than <tt>'''4'''</tt>.
 
  
 +
: It can be very important to check the settings on the '''Tools menu – Options - OpenOffice.org Calc - Calculate''' dialog:
  
Facilities to compare text for equality or inequality (<tt>'''<nowiki>=</nowiki>'''</tt> or <tt>'''<nowiki><></nowiki>'''</tt>) are very powerful, but some care must be taken. You must choose the desired behaviour from the '''Tools menu – Options - OpenOffice.org Calc - Calculate''':
+
:: If the checkbox is ticked for ''<nowiki>search criteria = and <> must apply to whole cells</nowiki>'', then the condition “<tt>'''red'''</tt>” will match only <tt>'''red'''</tt><nowiki>; if not ticked it will match </nowiki><tt>'''red'''</tt>, <tt>'''Fred'''</tt>, <tt>'''red herring'''</tt>.
  
 +
:: If the checkbox is ticked for ''Enable regular expressions in formulas'', the condition will match using [[Documentation/How_Tos/Regular Expressions in Calc|regular expressions]] - so for example "<tt>'''r.d'''</tt>" will match <tt>'''red'''</tt>, <tt>'''rod'''</tt>, <tt>'''rid'''</tt>, and "<tt>'''red.*'''</tt>" will match <tt>'''red'''</tt>, <tt>'''redraw'''</tt>, <tt>'''redden'''</tt>.
  
If the checkbox is ticked for ''<nowiki>search criteria = and <> must apply to whole cells</nowiki>'', then the <tt>'''condition'''</tt> “<tt>'''red'''</tt>” will match only <tt>'''red'''</tt><nowiki>; if unticked it will match </nowiki><tt>'''red'''</tt>, <tt>'''Fred'''</tt>, <tt>'''red herring'''</tt>.
+
:: The checkbox for ''Case sensitive'' has no effect (no attention is paid to case). See the examples for how to achieve a case-sensitive match.
  
  
If the checkbox is ticked for ''Enable regular expressions in formulas'', the <tt>'''condition'''</tt> will match using [[Documentation/How_Tos/Regular Expressions in Calc|regular expressions]] - so for example "r.d" will match <tt>'''red'''</tt>, <tt>'''rod'''</tt>, <tt>'''rid'''</tt>, and "<tt>'''red.*'''</tt>" will match <tt>'''red'''</tt>, <tt>'''redraw'''</tt>, <tt>'''redden'''</tt>.
+
: Blank (empty) cells in <tt>'''test_range'''</tt> are ignored (they never satisfy the condition).
  
 
+
: <tt>'''condition'''</tt> can only specify one single condition. See [[Documentation/How_Tos/Conditional Counting and Summation|Conditional Counting and Summation]] for ways to specify multiple conditions.
At present the checkbox for ''Case sensitive'' has no effect (no attention is paid to case) - but this may be changed in future, so please do not rely on this behaviour.
+
 
+
 
+
Blank (empty) cells in <tt>'''test_range'''</tt> are ignored (they never satisfy the condition).
+
 
+
 
+
<tt>'''condition'''</tt> can only specify one single condition. See '''[[Documentation/How_Tos/Conditional Counting and Summation|Conditional Counting and Summation]]''' for more information.
+
  
 
=== Example: ===
 
=== Example: ===
  
{| border="0"
+
<tt>'''SUMIF(A1:A9;"&lt;0")'''</tt>
|<tt>'''<nowiki>SUMIF(A1:A9;"<0")</nowiki>'''</tt>
+
: returns the sum of the negative numbers in <tt>'''A1:A9'''</tt>.
| returns the sum of the negative numbers in <tt>'''A1:A9'''</tt>.
+
  
|-
+
<tt>'''SUMIF(A1:A9; F1) '''</tt>
|<tt>'''SUMIF(A1:A9; F1) '''</tt>
+
: where <tt>'''F1'''</tt> contains the text <tt>'''>=0'''</tt> (without double quotes) returns the sum of the positive numbers in <tt>'''A1:A9'''</tt>.
| where <tt>'''F1'''</tt> contains the text <tt>'''>=0'''</tt> (without double quotes) returns the sum of the positive numbers in <tt>'''A1:A9'''</tt>.
+
  
|-
+
<tt>'''SUMIF(B2:B4; "&lt;"&F2; C2:C4)'''</tt>
|<tt>'''<nowiki>SUMIF(B2:B4; "<"&F2; C2:C4)</nowiki>'''</tt>
+
: where <tt>'''F2'''</tt> contains <tt>'''10'''</tt> and cells <tt>'''B2'''</tt>, <tt>'''B3'''</tt>, <tt>'''B4'''</tt> contain <tt>'''7'''</tt>, <tt>'''9'''</tt>, <tt>'''11'''</tt>, returns the sum of <tt>'''C2'''</tt> and <tt>'''C3'''</tt>, because cells <tt>'''B2'''</tt> and <tt>'''B3'''</tt> are less than <tt>'''10'''</tt>.
| where <tt>'''F2'''</tt> contains <tt>'''10'''</tt> and cells <tt>'''B2'''</tt>, <tt>'''B3'''</tt>, <tt>'''B4'''</tt> contain <tt>'''7'''</tt>, <tt>'''9'''</tt>, <tt>'''11'''</tt> returns the sum of <tt>'''C2'''</tt> and <tt>'''C3'''</tt>, because cells <tt>'''B2'''</tt> and <tt>'''B3'''</tt> are less than <tt>'''10'''</tt>.
+
  
|-
+
<tt>'''SUMIF(D1:D9; "apples"; E1:E9)'''</tt>
|<tt>'''SUMIF(D1:D9; “apples”; E1:E9)'''</tt>
+
: where cells in <tt>'''D1:D9'''</tt> contain either <tt>'''apples'''</tt> or <tt>'''pears'''</tt> and cells in <tt>'''E1:E9'''</tt> contain the corresponding quantities of each fruit, returns the total quantity of <tt>'''apples'''</tt>.
| where cells in <tt>'''D1:D9'''</tt> contain either <tt>'''apples'''</tt> or <tt>'''pears'''</tt> and cells in <tt>'''E1:E9'''</tt> contain the corresponding quantities of each fruit, returns the total quantity of <tt>'''apples'''</tt>.
+
  
|}
+
<i>Advanced topic:</i>
  
=== See also: ===
+
<tt>'''SUMPRODUCT(D1:D9="Apples"; E1:E9)'''</tt>.
'''[[Documentation/How_Tos/Conditional Counting and Summation|Conditional Counting and Summation]]'''
+
:returns the sum of entries in <tt>'''E1:E9'''</tt> whose corresponding entry in <tt>'''D1:D9'''</tt> matches <tt>'''Apples'''</tt>, with case sensitivity (entries of <tt>'''apples'''</tt> and <tt>'''APPLES'''</tt> would not match). See [[Documentation/How_Tos/Conditional Counting and Summation|Conditional Counting and Summation]] for details.
  
'''[[Documentation/How_Tos/Regular Expressions in Calc|Regular Expressions in Calc]]'''
+
{{SeeAlso|EN|
 +
* [[Documentation/How_Tos/Calc: COUNTIF function|COUNTIF]]
 +
* [[Documentation/How_Tos/Calc: SUM function|SUM]]
 +
* [[Documentation/How_Tos/Calc: DSUM function|DSUM]]
 +
* [[Documentation/How_Tos/Calc: SUMPRODUCT function|SUMPRODUCT]]
 +
* [[Documentation/How_Tos/Calc: Mathematical functions|Mathematical functions]]
 +
* [[Documentation/How_Tos/Conditional Counting and Summation|Conditional Counting and Summation]]
 +
* [[Documentation/How_Tos/Regular Expressions in Calc|Regular Expressions in Calc]]
 +
* [[Documentation/How_Tos/Calc: Functions listed alphabetically|Functions listed alphabetically]]
 +
* [[Documentation/How_Tos/Calc: Functions listed by category|Functions listed by category]]}}
 +
[[Category: Documentation/Reference/Calc/Mathematical functions]]
 +
[[fr:Documentation/FR/Calc:Fonction SOMME.SI]]

Latest revision as of 15:48, 31 January 2024

SUMIF

Conditionally sums the contents of cells in a range.

Syntax:

SUMIF(test_range; condition; sum_range)

This function identifies those cells in the range test_range that meet the condition, and sums the corresponding cells in the range sum_range. If sum_range is omitted, the cells in test_range are summed.
condition may be:
a number, such as 34.5
an expression, such as 2/3 or SQRT(B5)
a text string
SUMIF looks for cells in test_range that are equal to condition, unless condition is a text string that starts with a comparator:
>, <, >=, <=, =, <>
In this case SUMIF compares those cells in test_range with the remainder of the text string (interpreted as a number if possible or text otherwise).
For example, the condition “>4.5” tests if the content of each cell is greater than the number 4.5, and the condition “<dog” tests if the content of each cell would come alphabetically before the text dog.


It can be very important to check the settings on the Tools menu – Options - OpenOffice.org Calc - Calculate dialog:
If the checkbox is ticked for search criteria = and <> must apply to whole cells, then the condition “red” will match only red; if not ticked it will match red, Fred, red herring.
If the checkbox is ticked for Enable regular expressions in formulas, the condition will match using regular expressions - so for example "r.d" will match red, rod, rid, and "red.*" will match red, redraw, redden.
The checkbox for Case sensitive has no effect (no attention is paid to case). See the examples for how to achieve a case-sensitive match.


Blank (empty) cells in test_range are ignored (they never satisfy the condition).
condition can only specify one single condition. See Conditional Counting and Summation for ways to specify multiple conditions.

Example:

SUMIF(A1:A9;"<0")

returns the sum of the negative numbers in A1:A9.

SUMIF(A1:A9; F1)

where F1 contains the text >=0 (without double quotes) returns the sum of the positive numbers in A1:A9.

SUMIF(B2:B4; "<"&F2; C2:C4)

where F2 contains 10 and cells B2, B3, B4 contain 7, 9, 11, returns the sum of C2 and C3, because cells B2 and B3 are less than 10.

SUMIF(D1:D9; "apples"; E1:E9)

where cells in D1:D9 contain either apples or pears and cells in E1:E9 contain the corresponding quantities of each fruit, returns the total quantity of apples.

Advanced topic:

SUMPRODUCT(D1:D9="Apples"; E1:E9).

returns the sum of entries in E1:E9 whose corresponding entry in D1:D9 matches Apples, with case sensitivity (entries of apples and APPLES would not match). See Conditional Counting and Summation for details.



See Also
Retrieved from "https://wiki.openoffice.org/w/index.php?title=Documentation/How_Tos/Calc:_SUMIF_function&oldid=259909"
Views
Personal tools
Navigation
Tools
In other languages