Excel(エクセル)のDCOUNTA関数の使い方|複数の条件を満たす空白以外のセルを数える
使用関数:DCOUNTA
DCOUNTA(ディーカウント・エー)関数とは?
DCOUNTAは指定した条件を満たす空白でないデータの個数を数える関数です。Excel(エクセル)の関数で名前の冒頭に「D」が付くものは「データベース関数」に属し、データベースで使用することを前提とした機能を持っています。
データベースとはExcelの原則(データを項目別に列見出しで分類し、1行1データにまとめる)に沿って作成されているデータ表のことです。
データベースについて、データベースの作り方などを初心者にも分かりやすく解説しています。
DCOUNTAはデータベースの指定した列から指定した条件でデータを検索し、その個数を数えます。複数の条件をAND条件・OR条件のどちらでも指定できる便利な関数です。
DCOUNT関数とDCOUNTA関数の違い
DCOUNTの他にDCOUNT関数があります。名前も機能も似ていますがカウントするデータの種類が違います。
- DCOUNTは範囲内の数値を数える関数です。日付・時刻も数値データなのでカウントされます。
- DCOUNTAは範囲内の数値・日付・文字列・数式・論理値など全てのデータの個数を数える関数です。
カウントしないのは空白だけで、この「空白」は文字通りセルの中が空っぽという意味です。入力されている数式の結果が空白文字=””だと見た目には空っぽですが、これはデータとしてカウントされます。
DCOUNT関数の使い方の詳細ページです。初心者にも分かりやすくまとめています。
DCOUNTA関数の使い方・基本
DCOUNTA関数の簡単な使用例です。
3回開催された理事会に3回とも出席した理事の人数をカウントします。
データベース関数は「関数ライブラリ」に載っていないので、引数のダイアログを開く時は「関数の挿入」ボタンをクリックします。
「関数の挿入」が開いたら「関数の分類」ボックスの▼を押して下へスクロールし、「データベース」をクリックします。
「関数名」の一覧が「データベース」配下のものに切り替わるので、「DCOUNTA」を選択し、「OK」。
DCOUNTA関数の引数ダイアログが開きます。
DCOUNTA関数の書式
データベース関数の引数は一律に「データベース」「フィールド」「条件」の3つです。
書式の構成はこうなります。
第一引数「データベース」
この引数には列見出しも含めて表の範囲を指定します。
第二引数「フィールド」
「フィールド」は表の列見出しのことです。集計するデータ範囲ではなく、集計する列の見出しのセルを指定します。この例では「第3回」の列見出しをクリックで指定します。列の番号(範囲の左から何番目の列か)の数字「5」を指定してもOKです。
第三引数「条件」
「条件」は値の検索条件です。これは別に「条件表」を作っておきます。必ず、条件表にも列見出しと同じ項目名を付けておき、項目名と条件を全て選択して指定します。
この例では「第1回:出席」「第2回:出席」というAND条件の表を作成して指定しました。
DCOUNTA関数で条件を満たす「第3回」列のデータがカウントされました。
数式はこうなります。=DCOUNTA(A2:E12,E2,G2:H3)
「データベースから「第1回、第2回とも出席」の条件を満たすレコード(行)を抽出し、その行の「第3回」の列にデータがあればカウントする」
DCOUNTA関数で複数の条件を指定する方法
DCOUNTAは条件を指定してカウントする関数ですが、検索条件を指定してカウントする関数ならCOUNTIF・COUNTIFSがよく使われます。条件を直接引数に入力してカウントしたいなら、COUNTIF・COUNTIFS関数を使いましょう。
COUNTIF・COUNTIFS関数の使い方の詳細ページです。初心者にも分かりやすくまとめています。
条件表には条件を検索する元表の列(フィールド)と対応する「列見出し」を置きます。「身長」フィールドの値を条件にするなら同じ「身長」という列見出しを作り、その下のセルに条件を入力します。同じ列見出しを複数並べることもできます。
DCOUNTA関数にAND条件を指定する
DCOUNT関数ではAND条件とOR条件のどちらも指定できますが、条件表の並べ方にルールがあります。
指定した全ての条件に一致する値を取り出す「AND条件」は同じ行に横並びにします。
下図の条件表は「身長165cm以上、かつ、体重65kg未満」「身長165cm以上、かつ、180cm未満」という横並びのAND条件です。
DCOUNTA関数にOR条件を指定する
指定した条件のどちらかが一致する値を取り出す「OR条件」は縦方向に並べます。
複数のフィールド(列)でOR条件を指定する条件表
2つの違う列見出しで複数の条件を指定する「35歳以上か、または、体重が70kg以上」というOR条件は、行を1段ずらして入力します。
同一のフィールド(列)でOR条件を指定する条件表
同じ列見出しで複数のOR条件を指定する場合は、同じ列に縦方向に並べます。
DCOUNTA関数にANDとORの複合条件を指定する
AND条件とOR条件を組み合わせる例です。
上の例は【「30歳以上で体重65kg以上(AND条件)」または「男性で体重60kg未満(AND条件)」】=OR条件
下の例は【「男性で体重65kg以上(AND条件)」または「男性で身長170cm以上(AND条件)」】=OR条件
- DCOUNTA関数はデータベースから条件に一致する空白以外のデータをカウントします
- DCOUNTA関数は関数ライブラリにはないので、「関数の挿入」から操作します
- DCOUNTA関数の引数「データベース」と「条件(条件表)」は列見出しを含めて指定します
- DCOUNTA関数の引数「フィールド」を省略すると、数値データにかかわらず、条件と合致するレコード(行データ)の個数をカウントできます
- DCOUNTA関数の引数「条件」には検索条件を入力したセル範囲の「条件表」を作って指定します
- DCOUNTA関数の条件表のAND条件は同じ行に横並べにします
- DCOUNTA関数の条件表のOR条件は異なる行に縦並べにします
- DCOUNTA関数の条件表には同じ列見出しを並べて複数の条件指定ができます