Contact

DSUM in Calligra Sheets: Database Criteria and Worked Examples

Database Intermediate Calligra Sheets

Sum a database column with header-based criteria, AND/OR conditions and reproducible Calligra examples.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: With the worksheet below, =DSUM(A1:F9;"Amount";H1:H2) returns 350. Use DSUM to sum the selected amounts after applying a separate header-based criteria range.

Availability and version history

  • Introduced: First release not established; the name is present in Calligra 2.4.0 source.
  • Supported in: Calligra Sheets 26.08.2.
  • Scope: Desktop Sheets, with the database function module available. No retirement endpoint is established.
  • Checked: October 14, 2026. Official help and pinned source checked; examples independently calculated. Calligra was not run, so source-defined edge behavior is distinguished from displayed native results.

Syntax and arguments

=DSUM(Database; Field; Criteria)

All three arguments are required. Database includes its column headers. Field is a quoted header such as "Amount", or a valid one-based column number. Criteria is another range containing header names and at least one condition row. Semicolons separate arguments in these examples. Function help; three-argument registration.

Build the example database

Enter this table in A1:F9, including the header row. An empty table entry means leave the cell genuinely blank. Enter 7 as a number in F6 and =TRUE() as a Boolean in F7; do not type the word “blank” into the empty cells.

ID Team Amount Units Status Note
101 West 75 3 Paid alpha
102 East 120 4 Paid
103 West 150 5 Pending check
104 North 90 2 Paid
105 West 125 5 Paid 7
106 East 60 3 Pending TRUE
107 North 0 0 Paid
108 East 80 4 Paid

Create these separate criteria blocks. Repeat a header where the table asks for it; each block includes its own header row. In two-column blocks, put the semicolon-separated entries in adjacent cells, not together in one cell.

Range Header cell(s) First condition row Second condition row
H1:H2 Team West none
J1:K2 Team; Status West; Paid none
M1:M3 Team West East
O1:P2 Amount; Amount >=75; <=125 none
R1:R2 ID 103 none
T1:T2 Team North none
V1:V2 Status Paid none
X1:X2 Team Missing none

“None” means the range ends before another condition row. Type >=75 and <=125 as criterion text. Keep the conditions outside A1:F9.

Reproducible results

These formulas all use the Amount field. Numeric outputs are independent references, with repeating decimals rounded to twelve places.

Criteria Formula Expected result
West =DSUM(A1:F9;"Amount";H1:H2) 350
West and Paid =DSUM(A1:F9;"Amount";J1:K2) 200
West or East =DSUM(A1:F9;"Amount";M1:M3) 610
Amount from 75 through 125 =DSUM(A1:F9;"Amount";O1:P2) 490
ID 103 =DSUM(A1:F9;"Amount";R1:R2) 150
North =DSUM(A1:F9;"Amount";T1:T2) 90
Paid =DSUM(A1:F9;"Amount";V1:V2) 490
Missing team =DSUM(A1:F9;"Amount";X1:X2) 0

Practical example: total paid West orders

The two West/Paid rows contain 75 and 125. =DSUM(A1:F9;"Amount";J1:K2) returns 200. Conditions on the same criteria row act together: the order must belong to West and have Paid status. The Pending West amount 150 stays out.

If the database will grow, extend A1:F9 to include the new rows while keeping one header row. A formula cannot include rows outside its supplied range merely because they look like part of the table.

Advanced example: overlapping OR conditions

To total orders that are West or Paid, put Team in AH1, Status in AI1, West in AH2 and Paid in AI3. Leave AI2 and AH3 blank. Then enter =DSUM(A1:F9;"Amount";AH1:AI3). The expected result is 640.

Adding the separate West total 350 and Paid total 490 would give 840, double-counting the two West/Paid orders worth 200. A database row matching either criteria row is included once, so the OR block avoids that double-counting.

Criteria rules that prevent silent mistakes

Conditions on the same criteria row are ANDed; different criteria rows are ORed. Repeated headers let one field satisfy two conditions. A wholly blank condition row can match every database row, so do not extend a criteria range through spare empty rows. A header-only range has no condition row and selects no data rows.

The parser silently ignores unrecognized criteria headers. A misspelled header can therefore broaden the selection, potentially to every record. Match headers carefully and test the selected IDs before relying on an aggregate. Plain words such as West in this example avoid pattern metacharacters; wildcard and regular-expression behavior depends on workbook settings. Criteria parser; condition interpretation.

Errors and data checks

No matching rows produces zero in the pinned DSUM implementation. A zero total can also arise from real zero amounts or offsetting positive and negative entries, so it is not proof that no rows matched. Count matches separately when that distinction matters.

Official references