DAVERAGE in ONLYOFFICE: Average Only the Matching Numeric Field
Calculate a conditional database average, audit the denominator, and distinguish no matches, blank criteria and text-conversion caveats.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =DAVERAGE(A1:D8,"Amount",Q1:Q2) has the independent target 14 for the database below. The five East amounts sum to 70; their mean is 70/5. The zero from North is not part of that selection.
Syntax and field selection
=DAVERAGE(database, field, criteria)
All three arguments are explicit in this guide. Database includes its header row; field is a quoted header or one-based column position within that database; criteria is a separate rectangle with recognized headers and at least one row beneath them. The official DAVERAGE reference documents this interface.
Build the database and criteria blocks
Create a blank sheet named DatabaseChecks. Enter this database in A1:D8, including the header row. Entries marked empty must be genuinely empty cells, not the word “empty”, a space or a formula returning empty text.
| Row | A: ID | B: Team | C: Amount | D: Note |
|---|---|---|---|---|
| 2 | 101 | East | 10 | ready |
| 3 | 102 | West | 40 | ready |
| 4 | 103 | East | 20 | empty |
| 5 | 104 | East | 30 | hold |
| 6 | 105 | North | 0 | ready |
| 7 | 106 | East | -5 | review |
| 8 | 107 | East | 15 | empty |
These are fictional records. Amount is deliberately numeric, including a genuine zero and a negative adjustment. Note provides a separate text/blank field for count comparisons. Headers are unique and consistent.
Build these separate criteria blocks; none overlaps A1:D8:
| Purpose | Exact entries | Range |
|---|---|---|
| East only | Q1 Team; Q2 East | Q1:Q2 |
| East AND amount at least 20 | F1 Team; G1 Amount; F2 East; G2 >=20 | F1:G2 |
| East OR West | I1 Team; I2 East; I3 West | I1:I3 |
| No matching team | K1 Team; K2 South | K1:K2 |
| All records | M1 Team; M2 genuinely empty | M1:M2 |
| Unique ID 103 | O1 ID; O2 numeric 103 | O1:O2 |
| Unique ID 105 | S1 ID; S2 numeric 105 | S1:S2 |
Enter >=20 as criterion text, not a formula. Place result formulas in U2:U15, outside every data/criteria block. The extra spaces used in this explanation are not part of the header text.
Worked averages: one condition, AND and OR
| Formula | Target | Independent calculation |
|---|---|---|
=DAVERAGE(A1:D8,"Amount",Q1:Q2) |
14 | (10+20+30−5+15)/5 |
=DAVERAGE(A1:D8,3,F1:G2) |
25 | (20+30)/2 |
=DAVERAGE(A1:D8,"Amount",I1:I3) |
18.3333333333333 | 110/6 |
=DAVERAGE(A1:D8,"Amount",M1:M2) |
15.7142857142857 | 110/7 |
Field 3 means the third column within the supplied database, Amount; it is not a worksheet column number independent of the database’s position. The blank criterion includes North’s zero, which adds one observation without increasing the total. That is why the all-record mean differs from the East/West mean even though both sums are 110.
Advanced: audit the denominator before interpreting the mean
For this clean numeric Amount field, compare =DSUM(A1:D8,"Amount",Q1:Q2) with =DCOUNT(A1:D8,"Amount",Q1:Q2). Their targets are 70 and 5. Dividing those targets gives 14. A mean based on the number of rows in the full database,70/7, would answer the wrong question.
A zero amount is a real measurement, not missing data. A blank selected field is different: the helper skips it. A grouped average is not a weighted average unless the database and formula deliberately represent the weights. Do not average the East and West group averages directly when their group sizes differ: (14+40)/2=27 is not the combined six-record mean 110/6.
No matches and text-bearing fields
For K1:K2, the source predicts =DAVERAGE(A1:D8,"Amount",K1:K2) returns #DIV/0!. There is no denominator, so zero would be misleading. An invalid selected field, such as “Missing”, is source-predicted #VALUE! for the matching East criteria.
The implementation uses JavaScript numeric parsing on selected values, rather than first insisting that each value has spreadsheet numeric type. A string beginning with digits may therefore contribute numerically. Do not describe DAVERAGE here as universally ignoring all text; keep Amount numeric and validate imported fields. A wholly nonnumeric selected Note field has no usable denominator and is source-predicted #DIV/0!.
Criteria logic and important ONLYOFFICE source limits
Conditions in one criteria row are combined with AND; separate rows supply OR alternatives. The first main OR row above matches East, and the second matches West. A record matching both alternatives is collected once in the inspected helper.
A blank criterion means no restriction for that column in the checked source. Thus M1:M2 selects all records; it is not a request to find blank Team cells. An accidental blank OR row can similarly broaden the selection. Keep the criteria rectangle tight rather than including unused rows for convenience.
Bare text is another trap: the helper appends a wildcard to a text criterion without an operator. East can therefore match a longer prefix such as Eastside. This database contains no such team, so the main results are unambiguous. To request explicit equality in a future test, store =East as text, for example by typing a leading apostrophe before it; do not accidentally enter it as a formula. Wildcard, case and locale edge behavior needs its own bounded validation.
There is also a version-specific OR caveat. The inspected helper can return early when the first recognized criteria row has no matches, before considering later OR rows. Do not promise order-independent OR behavior from this implementation. Reversing a deliberately unmatched first row and a matching second row is a separate source-predicted regression probe, not a native test performed here.
Unknown criterion headers are not a safe way to request “no match”: the helper skips unrecognized headers and, if none are recognized, can select every record. Copy valid headers exactly and distinguish a misspelled criterion heading from an unknown selected field. These observations come from the shared source helper, not from applying another product’s database-function rules.
Related functions
Availability, compatibility and verification
The function is currently documented in ONLYOFFICE’s unversioned Spreadsheet Editor help. Its first introduction release/date, final supported version and any retirement announcement are not established by these sources. Documentation presence does not establish support in every older Desktop Editors build, Docs deployment or mobile client.
This guide checks official SDKJS tag v10.0.0.169, commit 3679e0375a758d7dc59d31337a45461be3525ed8, alongside current help on October 18, 2026. Main arithmetic is independently calculated; implementation-specific branches are labeled source-predicted. No ONLYOFFICE engine or application was executed for these examples. No native screenshots or recalculated workbook are claimed.
Formulas use English names and comma separators. Adapt separators to the actual editor locale. Similar function names elsewhere do not guarantee identical criteria matching, text coercion, errors or blank-field handling. Keep the database header in the formula range and preserve genuinely empty cells when transferring the example.
References checked October 18, 2026
- Official DAVERAGE help: function purpose and three-argument interface.
- Tagged shared criteria implementation: matching, field selection and blank/error paths.
- Tagged DAVERAGE implementation: operation-specific calculation.