The Excel DCOUNTA Function

Related Function:
Excel Database Functions

The Excel Database Functions are designed to assist you when working with an Excel database.

A database typically takes the form of a large table of data, where each row in the table stores an individual record. Each column in the spreadsheet table stores a different field (or type of information) for each record.

The database functions perform basic operations, such as count, max, min, etc, but they enable the user to specify criteria, so that the operation is performed on selected records only. Other records in the database are ignored.

Function Description

The Excel Dcounta function returns the number of non-blank cells, in a field (column) of a database for selected records only.

The records to be included in the count are those that satisfy a set of one or more user-specified criteria.

The function is very similar to the Excel Dcount function, the only difference being that the Dcounta function counts all non-blank cells where the Dcount function only counts cells containing numeric values.

The syntax of the Excel Dcounta function is:

DCOUNTA( database, [field], criteria )

where the arguments are:

database - A range of cells containing the database. The top row of the database should specify the field names.
[field] -

An optional argument which specifies the field (column) within the database for which you want to return the count of non-blank cells.

This can either be a field number, or can be the field name (i.e. the header in the top row of the database) encased in quotes (e.g. "Gender", "Subject", etc).

If the [field] argument is omitted, the Dcounta function simply returns the count of all records that satisfy the supplied criteria.
criteria -

A range of cells that contain the criteria, to specify which records should be included in the count.

The range can include one or more criteria, which are presented as a field name in one cell and the condition for that field in the cell below.

Gender Age
Male >8


The Excel Database functions allow the following wildcards to be used in text-related criteria:

?    -    matches any single character
*    -    matches any sequence of characters

(If you actually want to find the ? or * character, type the ~ symbol before this character in your search).

E.g. the condition "a*e" will match all cells containing a text string beginning with "a" and ending in "e".

The criteria supplied beneath each field heading can be either:

or or

Note that the Excel database functions are not case sensitive. So, for example, the criteria ="Math" will be satisfied by cells containing the text "Math" or "math".

Excel Dcounta Function Examples

  A B C D E
1 Name Gender Age Subject Score
2 Amy Female 8 Math 63%
3 Amy Female 8 English 78%
4 Amy Female 8 Science 39%
5 Bill Male 8 Math 55%
6 Bill Male 8 English 71%
7 Bill Male 8 Science awaiting
8 Sue Female 9 Math  
9 Sue Female 9 English 52%
10 Sue Female 9 Science 48%
11 Tom Male 9 Math 78%
12 Tom Male 9 English 69%
13 Tom Male 9 Science 65%

The following examples are based on the above simple database on the right, which stores the examination marks scored by four children in three different subjects.

Example 1

The example below uses the Dcounta function to count the number of Science examination scores recorded for male students. The criteria are specified in cells G1 - H2 and the Dcounta formula is shown in cell G3:

  G H
1 Subject Gender
2 Science Male
3 =DCOUNTA( A1:E13, "Score", G1:H2 )

The above Dcounta function finds that there are 2 rows for which the Gender is "Male" and the Subject is "Science". As the "Score" column for both of these rows is non-blank, the function returns the value 2

Note that, in the above example, the Dcounta function has counted cell E7, in which the Score field contains the text "awaiting". (This would have been excluded from the count if the Dcount function had been used instead of the Dcounta function).

Example 2

In the example below, the Dcounta function is used to find the number of Math examination scores recorded for females.

  G H
1 Subject Gender
2 Math Female
3 =DCOUNTA( A1:E13, "Score", G1:H2 )

The above Dcounta function finds two rows for which the Subject is "Math" and the Gender is "Female". However, only one of these rows has a non-blank "Score", and so the function returns the value 1.

Note that, in the above two examples, instead of typing in "Score" for the [field] argument, we could have simply used the number 5 (to denote the 5th column of the database).

Example 3

In the example below, the Dcounta function is used to find the number of English examination scores that are higher than 60%.

In this case, the [field] argument is omitted, so the Dcounta function simply counts all rows satisfying the supplied criteria:

  G H
1 Subject Score
2 English >60%
3 =DCOUNTA( A1:E13, , G1:H2 )

The above Dcounta function finds three rows for which the Subject is "English" and the Score is greater than 60%. The function therefore returns the count 3.

For further examples of the Excel Dcounta function, see the Microsoft Office website.