DVAR in Calligra Sheets: Database Criteria and Worked Examples
Calculate conditional sample variance in Calligra, with n−1, reproducible criteria and independent squared-deviation checks.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: With the worksheet below, =DVAR(A1:F9;"Amount";H1:H2) returns 1458.333333333333. Use DVAR to calculate sample variance for matching 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
=DVAR(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 | =DVAR(A1:F9;"Amount";H1:H2) |
1458.333333333333 |
| West and Paid | =DVAR(A1:F9;"Amount";J1:K2) |
1250 |
| West or East | =DVAR(A1:F9;"Amount";M1:M3) |
1226.666666666667 |
| Amount from 75 through 125 | =DVAR(A1:F9;"Amount";O1:P2) |
532.5 |
| ID 103 | =DVAR(A1:F9;"Amount";R1:R2) |
#DIV/0! |
| North | =DVAR(A1:F9;"Amount";T1:T2) |
4050 |
| Paid | =DVAR(A1:F9;"Amount";V1:V2) |
2026.666666666667 |
| Missing team | =DVAR(A1:F9;"Amount";X1:X2) |
#DIV/0! |
Practical example: sample variation within West
The West amounts 75, 150 and 125 have mean 350/3. Their squared deviations sum to 8750/3, about 2916.666666666667. DVAR divides by n−1=2, giving 4375/3, about 1458.333333333333.
Variance has squared units. If Amount is measured in dollars, the result is in dollars squared, not dollars. The square root is the sample standard deviation, about 38.188130791299 for these three values.
Advanced example: check the sample/population distinction
For the same three rows, DVARP divides the squared-deviation sum by 3 and gives 8750/9, about 972.222222222222. Multiplying that population variance by 3/2 reproduces DVAR. This relationship uses the same selected data and requires at least two observations.
A constant added to every selected value changes the mean but not the variance. Multiplying every amount by 10 multiplies the variance by 100, giving about 145833.333333333333. Use these properties as checks when normalizing units.
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
DVAR needs at least two nonempty selected field values. The one-record ID 103 criterion and the no-match criterion return #DIV/0! in the pinned implementation. An unrecognized field returns #VALUE!.
The current source counts nonempty values and passes them through value arithmetic; it does not explicitly filter all nonnumeric types. Use a clean numeric field. This source behavior is why the examples do not promise that text or errors are silently ignored.