Documentation/How Tos/Calc: DSUM function

From OpenOffice.org Wiki

Jump to: navigation, search


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:

 ABCDE
1NameGradeAgeDistance to SchoolWeight
2Andy3915040
3Betty410100042
4Charles31030051
5Daniel511120048
6Eva2865033
7Frank2730042
8Greta1720036
9Harry39120044
10Irene28100042
11     
12     
13NameGradeAgeDistance to SchoolWeight
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:

 ABC
1Job RefEmployeeCost
21Andy£30
32Betty£40
43Charles£30
53Daniel£50
64Eva£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.


See Also

Personal tools
Create a book