DMIN in ONLYOFFICE: Find the Smallest Matching Database Amount
Find a conditional minimum, include real zeros and negative adjustments, and avoid mistaking no-match output for an observed value.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =DMIN(A1:D8,"Amount",Q1:Q2) has the independent target −5. The negative East adjustment is a real selected value; it must not disappear because the other amounts are positive.
Syntax and field selection
=DMIN(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 DMIN 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 minima for different selections
| Formula | Target | Why |
|---|---|---|
=DMIN(A1:D8,"Amount",Q1:Q2) |
−5 | Smallest of five East amounts |
=DMIN(A1:D8,3,F1:G2) |
20 | East amounts at least 20 |
=DMIN(A1:D8,"Amount",I1:I3) |
−5 | East or West |
=DMIN(A1:D8,"Amount",M1:M2) |
−5 | Blank criterion includes all |
=DMIN(A1:D8,"Amount",S1:S2) |
0 | Unique North amount |
A minimum is a selected observation, not a total, an average or the smallest absolute magnitude. Here −5 is smaller than 0. If adjustments should be excluded for a particular report, express that requirement in criteria rather than quietly replacing negatives with zero.
Advanced: require a positive lower band
Create F7 Amount and G7 Amount, with F8 >=10 and G8 <=20. These two conditions on one row select 10,20,15. =DMIN(A1:D8,"Amount",F7:G8) has target 10, while the corresponding DMAX has target 20. Duplicate the header only in the criteria block, not in the database itself.
To exclude nonpositive East records, create F4 Team and G4 Amount with F5 East and G5 >0. =DMIN(A1:D8,"Amount",F4:G5) has independent target 10. This differs from the East-only minimum−5 because the selection changed. Document the criterion in the report so a reader can reconstruct the difference.
For a compact negative-only check, create A12:B14 with headers Team,Amount and two East records−8 and−3. =DMIN(A12:B14,"Amount",Q1:Q2) has independent target−8. DMAX on that block would give−3. These are order statistics, not a reason to clip values at zero.
No-match and mixed-type limits
For the South criterion, =DMIN(A1:D8,"Amount",K1:K2) is source-predicted 0. It is not evidence that a zero-valued South record exists. The valid North result is also 0, so use a separate populated-ID count to distinguish those cases before interpretation.
If a criterion matches a record whose selected field is genuinely empty, the shared helper can return #DIV/0! before DMIN runs. If the selected field name is invalid while criteria match, #VALUE! is source-predicted. Error suppression should not turn all these conditions into a claimed minimum of 0.
The implementation sorts raw selected values and converts the first result. A mathematically clean minimum therefore requires a clean numeric field. Do not generalize this guide into a promise that text labels, numeric-looking text, booleans or cell errors are always ignored. Validate imported Amount cells before reporting the result.
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 DMIN help: function purpose and three-argument interface.
- Tagged shared criteria implementation: matching, field selection and blank/error paths.
- Tagged DMIN implementation: operation-specific calculation.