Difference between revisions of "Documentation/How Tos/Calc: DSUM function"
(Initial content) |
m (→Example:) |
||
(19 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | __NOTOC__ | + | {{DISPLAYTITLE: DSUM function}} |
+ | {{Documentation/CalcFunc DatabaseTOC | ||
+ | |ShowPrevNext=block | ||
+ | |PrevPage=Documentation/How_Tos/Calc:_DSTDEV_function | ||
+ | |NextPage=Documentation/How_Tos/Calc:_DVAR_function | ||
+ | }}__NOTOC__ | ||
== DSUM == | == DSUM == | ||
− | + | Sums the cells in a column of a Calc 'database' table, in rows which meet specified criteria. | |
Line 12: | Line 17: | ||
:<tt>'''database_table'''</tt> is a range defining the data to be processed. | :<tt>'''database_table'''</tt> is a range defining the data to be processed. | ||
− | :<tt>'''field'''</tt> is the column to | + | :<tt>'''field'''</tt> is the column to sum. It may be a column number (1 is the first column of the database table, 2 is the second ...) or a column header (enclosed in quotation marks ””) or a cell referring to a column header. |
− | :<tt>'''criteria_table'''</tt> is a range containing the | + | :<tt>'''criteria_table'''</tt> is a range containing criteria, which are used to select which rows of the <tt>'''database_table'''</tt> to sum. |
− | The | + | The [[Documentation/How_Tos/Calc: Database functions|Database functions overview]] fully describes the use of these parameters. |
=== Example: === | === Example: === | ||
− | + | In this spreadsheet: | |
+ | {| border="1" | ||
+ | |-align="center" | ||
+ | | ||'''A'''||'''B'''||'''C'''||'''D'''||'''E''' | ||
+ | |-align="center" | ||
+ | |'''1'''||Name||Grade||Age||Distance to School||Weight | ||
+ | |-align="center" | ||
+ | |'''2'''||Andy||3||9||150||40 | ||
+ | |-align="center" | ||
+ | |'''3'''||Betty||4||10||1000||42 | ||
+ | |-align="center" | ||
+ | |'''4'''||Charles||3||10||300||51 | ||
+ | |-align="center" | ||
+ | |'''5'''||Daniel||5||11||1200||48 | ||
+ | |-align="center" | ||
+ | |'''6'''||Eva||2||8||650||33 | ||
+ | |-align="center" | ||
+ | |'''7'''||Frank||2||7||300||42 | ||
+ | |-align="center" | ||
+ | |'''8'''||Greta||1||7||200||36 | ||
+ | |-align="center" | ||
+ | |'''9'''||Harry||3||9||1200||44 | ||
+ | |-align="center" | ||
+ | |'''10'''||Irene||2||8||1000||42 | ||
+ | |-align="center" | ||
+ | |'''11'''|| || || || || | ||
+ | |-align="center" | ||
+ | |'''12'''|| || || || || | ||
+ | |-align="center" | ||
+ | |'''13'''||Name||Grade||Age||Distance to School||Weight | ||
+ | |-align="center" | ||
+ | |'''14'''|| ||2|| || || | ||
+ | |} | ||
+ | <tt>'''DSUM(A1:E10; "Distance to School"; A13:E14)'''</tt> | ||
+ | : returns the combined distance to school of all children who are in the second grade (1950). | ||
− | + | <tt>'''DSUM(A1:E10; 4; A13:E14)'''</tt> | |
− | ''' | ||
− | + | : returns the same result. | |
− | |||
− | |||
− | |||
− | ''' | + | <tt>'''DSUM(A1:E10; D1; A13:E14)'''</tt> |
− | |||
− | |||
− | + | : also returns the same result. | |
− | |||
− | |||
− | |||
− | '''[[Documentation/How_Tos/Calc: DGET function|DGET function]] | + | === Similar === |
+ | |||
+ | [[Documentation/How_Tos/Using Arrays#Sum_of_entries_matching_multiple_conditions|Using Arrays]] shows a similar technique: | ||
+ | |||
+ | {| border="1" | ||
+ | |-align="center" | ||
+ | | ||'''A'''||'''B'''||'''C''' | ||
+ | |||
+ | |-align="center" | ||
+ | |'''1'''||Job Ref||Employee||Cost | ||
+ | |||
+ | |-align="center" | ||
+ | |'''2'''||1||Andy||£30 | ||
+ | |||
+ | |-align="center" | ||
+ | |'''3'''||2||Betty||£40 | ||
+ | |||
+ | |-align="center" | ||
+ | |'''4'''||3||Charles||£30 | ||
+ | |||
+ | |-align="center" | ||
+ | |'''5'''||3||Daniel||£50 | ||
+ | |||
+ | |-align="center" | ||
+ | |'''6'''||4||Eva||£20 | ||
+ | |} | ||
+ | |||
+ | To find the total cost where Job Ref = 3 (ie £80) | ||
+ | |||
+ | <tt>'''SUM( (A2:A6 = 3) * C2:C6 )'''</tt> | ||
+ | |||
+ | : will SUM() values in C2:C6 where the corresponding value in A2:A6 is = 3. Note that this uses the special '''array expression''' mechanism and must be entered by pressing Ctrl-Shift-Enter. | ||
+ | |||
+ | ===Issues:=== | ||
+ | The OOo2.3 Help implies that <tt>'''0'''</tt> as a <tt>'''field'''</tt> will include the entire database table. This seems to be wrong - only a single column can be summed. | ||
+ | |||
+ | {{SeeAlso|EN| | ||
+ | * [[Documentation/How_Tos/Calc: DCOUNT function|DCOUNT]] | ||
+ | * [[Documentation/How_Tos/Calc: DCOUNTA function|DCOUNTA]] | ||
+ | * [[Documentation/How_Tos/Calc: DPRODUCT function|DPRODUCT]] | ||
+ | * [[Documentation/How_Tos/Calc: DMAX function|DMAX]] | ||
+ | * [[Documentation/How_Tos/Calc: DMIN function|DMIN]] | ||
+ | * [[Documentation/How_Tos/Calc: DAVERAGE function|DAVERAGE]] | ||
+ | * [[Documentation/How_Tos/Calc: DSTDEV function|DSTDEV]] | ||
+ | * [[Documentation/How_Tos/Calc: DSTDEVP function|DSTDEVP]] | ||
+ | * [[Documentation/How_Tos/Calc: DVAR function|DVAR]] | ||
+ | * [[Documentation/How_Tos/Calc: DVARP function|DVARP]] | ||
+ | * [[Documentation/How_Tos/Calc: DGET function|DGET]] | ||
+ | * [[Documentation/How_Tos/Calc: SUM function|SUM]] | ||
+ | * [[Documentation/How_Tos/Calc: SUMIF function|SUMIF]] | ||
+ | * [[Documentation/How_Tos/Calc: SUBTOTAL function|SUBTOTAL]] | ||
+ | * [[Documentation/How_Tos/Conditional Counting and Summation|Conditional Counting and Summation]] | ||
+ | * [[Documentation/How_Tos/Calc: Database functions#Overview|Database functions overview]] | ||
+ | * [[Documentation/How_Tos/Calc: Database functions|Database functions]] | ||
+ | * [[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/Database functions]] |
Latest revision as of 13:16, 30 January 2024
< {{#switch:Previous Page | Previous Section = Previous Section | Next Section = Next Section | Previous Page = Previous Page | Next Page = Next Page | }} | {{#switch:Next Page | Previous Section = Previous Section | Next Section = Next Section | Previous Page = Previous Page | Next Page = Next Page | }} > |
DSUM
Sums the cells in a column of a Calc 'database' table, in rows which meet specified criteria.
Syntax:
DSUM(database_table; field; criteria_table)
where
- database_table is a range defining the data to be processed.
- field is the column to sum. It may be a column number (1 is the first column of the database table, 2 is the second ...) or a column header (enclosed in quotation marks ””) or a cell referring to a column header.
- criteria_table is a range containing criteria, which are used to select which rows of the database_table to sum.
The Database functions overview fully describes the use of these parameters.
Example:
In this spreadsheet:
A | B | C | D | E | |
1 | Name | Grade | Age | Distance to School | Weight |
2 | Andy | 3 | 9 | 150 | 40 |
3 | Betty | 4 | 10 | 1000 | 42 |
4 | Charles | 3 | 10 | 300 | 51 |
5 | Daniel | 5 | 11 | 1200 | 48 |
6 | Eva | 2 | 8 | 650 | 33 |
7 | Frank | 2 | 7 | 300 | 42 |
8 | Greta | 1 | 7 | 200 | 36 |
9 | Harry | 3 | 9 | 1200 | 44 |
10 | Irene | 2 | 8 | 1000 | 42 |
11 | |||||
12 | |||||
13 | Name | Grade | Age | Distance to School | Weight |
14 | 2 |
DSUM(A1:E10; "Distance to School"; A13:E14)
- returns the combined distance to school of all children who are in the second grade (1950).
DSUM(A1:E10; 4; A13:E14)
- returns the same result.
DSUM(A1:E10; D1; A13:E14)
- also returns the same result.
Similar
Using Arrays shows a similar technique:
A | B | C | |
1 | Job Ref | Employee | Cost |
2 | 1 | Andy | £30 |
3 | 2 | Betty | £40 |
4 | 3 | Charles | £30 |
5 | 3 | Daniel | £50 |
6 | 4 | Eva | £20 |
To find the total cost where Job Ref = 3 (ie £80)
SUM( (A2:A6 = 3) * C2:C6 )
- will SUM() values in C2:C6 where the corresponding value in A2:A6 is = 3. Note that this uses the special array expression mechanism and must be entered by pressing Ctrl-Shift-Enter.
Issues:
The OOo2.3 Help implies that 0 as a field will include the entire database table. This seems to be wrong - only a single column can be summed.
{{#switch:EN
| RU = Смотрите также:
| UA = Дивіться також:
| EN = See Also
| PT = Ver também
| #default = See Also
}}