PlanMaker DCOUNT Function: Count numeric values in matching records
Use DCOUNT in FreeOffice PlanMaker 2024 with a headed database, explicit criteria, worked results and data-type limits.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: =DCOUNT(A11:D20,"Amount",A1:A2) returns 3 for the database below. Six records match East, but only three matching Amount cells contain numbers. With the field omitted, =DCOUNT(A11:D20,,A1:A2) counts the 6 matching records instead.
Syntax and range contract
=DCOUNT(DatabaseArea, Column, SearchCriteriaArea)
The result is the count of numeric cells, or matching records when the field position is empty. DatabaseArea contains the header row and records beneath it. Column identifies the result field by its quoted header, such as "Amount", or by its one-based position inside the database. SearchCriteriaArea contains its own header row and the condition rows below it. Keep header spelling consistent and avoid ambiguous duplicate database headers.
In A11:D20, Amount is field 4, regardless of where a copied database starts on the worksheet. Thus =DCOUNT(A11:D20,4,A1:A2) targets the same field as the quoted-header form. A wrong field number or a header that does not identify a database column is not a request to scan every column.
Enter the example database
Create the database in A11:D20, including the header row. Enter pending as text, leave D18 genuinely empty, and enter D20 as logical TRUE, not the text string "TRUE". The mixed types are intentional so that the example reveals which records contribute to the result.
| Row | A: ID | B: Region | C: Item | D: Amount |
|---|---|---|---|---|
| 11 | ID | Region | Item | Amount |
| 12 | 1 | East | Pen | 10 |
| 13 | 2 | East | Pen | 20 |
| 14 | 3 | East | Book | 30 |
| 15 | 4 | West | Pen | -5 |
| 16 | 5 | West | Book | 0 |
| 17 | 6 | East | Pen | pending |
| 18 | 7 | East | Book | (leave genuinely empty) |
| 19 | 8 | West | Pen | 40 |
| 20 | 9 | East | Pen | TRUE |
Put Region in A1 and East in A2. This is the two-cell criteria range A1:A2. Keep it above the database, with no overlap: that placement is explicitly required by the FreeOffice 2024 database-function instructions. The database header belongs inside the first range; the criteria header belongs inside the third range.
Now enter =DCOUNT(A11:D20,"Amount",A1:A2) in J2. Leave the source cells unchanged while checking the result.
East matches IDs 1, 2, 3, 6, 7, and 9. Only Amount values 10, 20, and 30 are numeric, so the selected-field count is 3. Text pending, logical TRUE, and the genuine blank do not increase that count. The official reference explicitly includes dates among numeric cells and excludes text and logical values.
Combine conditions deliberately
These small criteria blocks use the same database. Enter comparisons such as >=1 as criterion text, not as formulas that return TRUE or FALSE.
| Block | Cells to enter | Meaning |
|---|---|---|
| C1:D2 | C1 Region; D1 Item; C2 East; D2 Pen |
East and Pen |
| F1:F3 | F1 Region; F2 East; F3 West |
East or West |
| A5:B6 | A5 ID; B5 ID; A6 >=1; B6 <=2 |
ID at least 1 and at most 2 |
Conditions in the same criteria row are joined by AND. Separate criteria rows are alternatives joined by OR. Repeating a field header in two columns lets two bounds apply to the same field. Keep the range exactly as shown: an additional blank criteria row can change selection behavior and is not a harmless spacer.
| Formula | Result: independently calculated and native-tested |
|---|---|
=DCOUNT(A11:D20,"Amount",C1:D2) |
2 |
=DCOUNT(A11:D20,"Amount",F1:F3) |
6 |
=DCOUNT(A11:D20,"Amount",A5:B6) |
2 |
The first and third blocks select IDs 1 and 2 as their numeric contributors, giving amounts 10 and 20. The OR block selects all records once, with numeric amounts 10, 20, 30, -5, 0, 40. Text and logical content matter separately for DCOUNTA. These row lists make the expected results independently reproducible without relying on another spreadsheet engine.
Practical use: separate record count from numeric coverage
Use two adjacent results: =DCOUNT(A11:D20,,A1:A2) for the number of East records, and =DCOUNT(A11:D20,"Amount",A1:A2) for the number with numeric amounts. The independently expected results are 6 and 3. The coverage ratio is 3/6 = 50%. This does not say why the remaining amounts are nonnumeric or absent; inspect those records before interpreting the percentage.
The omitted-field form preserves an empty second argument, with two adjacent separators. It is not the same as shortening the formula to two arguments. The shared official help specifically illustrates omitted-field DCOUNT as a record count.
For a report that simply counts all selected records, the omitted-field form avoids making the total depend on which field happens to contain numbers. Alternatively, count a guaranteed numeric ID field when that guarantee is part of your data definition. Do not use an unreliable amount column as a proxy for the number of orders.
Errors and selection pitfalls
A selected numeric zero is counted. It is not treated as an empty cell. Negative numbers count too; the OR example has six numeric amounts even though one is negative and another is zero. A value stored as text is not made numeric just because it looks like a number on screen.
The tested South no-match selection returns 0. That must be distinguished from an invalid field label or malformed database range, which is a setup problem. The tested nonexistent field label "Missing" returns #REF!; other malformed-range errors were not mapped. A date-formatted numeric serial is counted as a number; a text date requires separate validation.
For a no-match check, put Region in D5 and South in D6 and use D5:D6 as the criteria range. For field validation, replacing "Amount" with "Missing" deliberately requests a nonexistent header. Keep those checks separate: an empty selection and a malformed request are different situations.
Use an exact criteria range rather than selecting entire columns. Preserve genuine blanks when building this example; do not type the explanatory text from the table into D18. Wildcards, formula criteria, case sensitivity, error-valued records, and text-number coercion are not established by these bounded examples.
Observed criteria boundaries
In FreeOffice PlanMaker 2024 rev F1238.1005, =DCOUNT(A11:D20,"Amount",F5:F6) returns 6 when F5 contains Region and F6 is genuinely empty. This blank condition selects the entire database in this tested layout. Keep the criteria range narrow so an unintended blank condition does not broaden the question.
The nonexistent field request =DCOUNT(A11:D20,"Missing",A1:A2) returns #REF! in the same build. These specific results are native observations, not an error-code specification for all malformed databases or criteria.
Compatibility and related functions
The examples use English function names and comma separators from the official help. Follow the separators accepted by your installed locale. Database and criteria references are ordinary cell ranges; a worksheet’s visible filter state is not a substitute for the explicit third argument. When copying formulas, lock ranges with dollar signs if they should not move.
Native example

FreeOffice PlanMaker 2024 rev F1238.1005: selected cell J2 contains =DCOUNT(A11:D20,"Amount",A1:A2) and displays 3. The screenshot shows the criteria above the database, the genuinely blank Amount at D18, and Boolean TRUE at D20. Additional result rows show AND, OR, repeated-field criteria, and boundary checks.
Version and evidence scope
The official FreeOffice PlanMaker 2024 DCOUNT reference and shared database instructions were checked October 18, 2026. They establish the documented interface and criteria construction. The first introduction release is unknown from these references; current documentation does not establish deprecation, retirement, or identical support in every edition.
The 9 selected formulas for this function were tested on October 18, 2026 in FreeOffice PlanMaker 2024 rev F1238.1005, 64-bit. The native PMDX workbook was saved, closed, and reopened with formulas and results preserved; the typed input grid was checked, including the genuine blanks and Boolean TRUE. Independent row selection and arithmetic agree with the bounded expected results. Advanced coverage ratios, combined spreads, subgroup explanations, and additional suggested formulas are independent reasoning rather than separately executed native tests. Proprietary implementation code has not been inspected, and these observations do not establish behavior for every data type, range, edition, or file format.