Excel(エクセル)で複数の条件を満たした場所の個数を数える|DCOUNT関数、DCOUNTA関数の使い方

スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 2021 365

エクセルで複数の条件を満たした個数をカウントする際に便利なDCOUNT関数とDCOUNTA関数を紹介します。

2つの関数の違いは下の通り。

  • DCOUNT関数・・・数値が入力されているセルの数を数える
  • DCOUNTA関数・・・空白ではないセルの数を数える

使い方は同じなので、ここではDCOUNT関数を例として説明していきます。

条件付きで個数を数える関数としてはCOUNNTIF関数やCOUNTIFS関数があるのですが、複雑な複数の条件を付けて個数を数えたい時はここで紹介するDCOUNTやDCOUNTA関数が便利です。

 


DCOUNT関数・・・条件を満たすデータの中で数値が入力されているセルの個数を返す

=DCOUNT(データベース , フィールド , 検索条件)

  • データベース・・・見出しを含めた表全体を指定
  • フィールド・・・個数を数える列を指定(左からの列番号か見出しの文字列を指定)
  • 検索条件・・・検索条件を作成した表を指定

 


DCOUNTA関数・・・条件を満たすデータの中で空白ではないセルの個数を返す

=DCOUNT(データベース , フィールド , 検索条件)

  • データベース・・・見出しを含めた表全体を指定
  • フィールド・・・個数を数える列を指定(左からの列番号か見出しの文字列を指定)
  • 検索条件・・・検索条件を作成した表を指定

 

単一の条件の場合はCOUNTIF関数の方が簡単なので、下のリンク先をご覧ください。

Excel(エクセル)で条件に合ったデータを数える|COUNTIF関数
Excel(エクセル)で条件に合ったデータをカウントするCOUNTIF関数の説明です。ワイルドカードなど検索条件の使用例も紹介します。

また、単純な複数条件でバージョン2007以上を使用している場合はCOUNTIFS関数がお勧めです。

Excel(エクセル)で複数の条件に合ったデータを数える|COUNTIFS関数の使い方
Excel(エクセル)で複数の条件に合ったデータの個数を数えるCOUNTIFS関数の説明です。一定範囲のデータをカウントすることもできます。

 

条件付けのための表が必要になるのでちょっと面倒だにゃ

スポンサーリンク

DCOUNT関数の使い方

今回は、下の表から「国語」が「80点」以上で「提出物」に日付が入力されている個数を数えてみます。

「提出物」に日付があるということは、数値が入力されているということ。

そのため、「数値が入っているセルの個数を数える」DCOUNT関数を使用します。

最初にDCOUNT関数のポイントです。

DCOUNT、DCOUNTA関数は、検索条件を別の表で作成しておく

検索するための条件を、わざわざ別の表で作成して用意しておく必要があります。

ちょっと面倒ですね・・・。

でも、別の表を作成することで複数条件など、複雑な条件を指定する場合は利便性が高くなります。

 

今回は、「国語」が「80点以上」という条件を別の表で作成します。

その際、元の表の見出しを利用するのがおすすめです。

 

まず、見出しを選択して、
※見出しは条件で使用するものだけで良いのですが、条件の見た目が後で分かり易くなるので全体をコピーするのがお勧めです。

コピー。

どこか空いている場所に貼り付けます。

見出しを貼り付ける場所はどこでも良いのですが、表の下に貼り付ける場合は、1行以上空ける必要があります。

貼り付けた見出しを利用して、検索条件を作成します。

今回は「国語」が「80点以上」の個数をカウントしたいので、

下のように、「国語」の下に「>=80」と入力します。

今回の条件のための表はこれで終了。細かい条件の作成方法は後で説明していきます。

では、DCOUNT関数を使用して「国語」が「80点以上」の「提出物」に日付が入力されているセルの個数を数えます。

結果を表示するセルを選択して[関数の挿入]ボタンをクリック。

[関数の分類]を[データベース]か[すべて表示]に切り替えて「DOUNT」を選んで[OK]。


DCOUNT関数・・・条件を満たすデータの中で数値が入力されているセルの個数を返す

=DCOUNT(データベース , フィールド , 検索条件)

  • データベース・・・見出しを含めた表全体を指定
  • フィールド・・・個数を数える列を指定(左からの列番号か見出しの文字列を指定)
  • 検索条件・・・検索条件を作成した表を指定

 

引数の指定は3つ必要です。

まず、[データベース]には元の表全体をマウスで選択しましょう。その際、見出しを含めるのを忘れずに。

次の[フィールド]の場所は、カウントしたいデータが入力されている列を指定します。

その列が「表の左から何列目」かを数字で指定します。

今回の場合は「提出物」が左から6列目なので「6」と入力します。

この列指定は、対象の列見出しを文字で入力したり、下のようにセル番地で参照してもOKです。
※直接文字を入力する場合は「”」で囲む必要があります。

最後の[条件]は、先ほど作成した条件付けのための新たな表全体を選択します。こちらも見出しを含めて選択します。
※検索で使用する見出しが含まれていれば全体を選択しなくてもOK。

[OK]を押せば結果が表示されます。

結果は「5」つだったようです。

スポンサーリンク
スポンサーリンク

条件設定する表の作り方

条件を設定するための表作成が面倒に感じるかもしれませんが、その代わりに複雑な条件が作成可能です。

〇以上や〇以下の場合

条件には比較演算子を使用します。下を参考にしてください。

演算子意味使用例説明
=等しいA=BAとBは等しい
<>等しくないA<>BAとBは等しくない
>より大きいA>BAはBより大きい
<より小さいA<BAはBより小さい
>=以上A>=BAはB以上
<=以下A<=BAはB以下

※等しい場合の「=」は入力する必要はありません
※文字列だけを入力した場合は、常に「=」条件として扱われます。
※記号は全角ではなく半角で。

例えば下の表で、

国語が90点以上という条件の場合は、「国語」の下に「>=90」と入力します。

複数条件を作成する場合

複数条件を作成するときは、AND条件とOR条件の2つから選ぶことができます。

AND・・・複数の条件全てを満たしものだけを抽出する

OR・・・複数の条件どれかを満たした全てを抽出する

ここで条件を作成する際の大切なポイントです。

  • AND条件は同じ行に入力する
  • OR条件は行を分けて入力する

例えば3教科すべてが「80点以上」を条件としたい場合は下のように条件を同じ行に入力します。

3教科どれか1つでも「80点以上」になっていれば良いという条件であれば、下のように条件をずらして入力します。

日付で条件を指定する場合

日付で条件を指定する場合も比較演算子を使用します。

例えば「2022/8/25」以降の条件にしたい場合は「>=2022/8/25」となります。

〇日から〇日と指定したい場合は、AND条件になるので1行に条件を入れる必要があります。

そのため同じ見出しを2つ用意します。

例えば「2022/8/25」から「2022/8/30」までの条件にしたい場合は下のように条件を作成します。

ワイルドカードの使い方

ワイルドカードとは、類似した情報を持つデータを検索する場合などに使用する、テキストや文字をあらわすものです。

  • 「?」・・・任意の1文字を表す
  • 「*」・・・任意の複数文字列を表す

例えば2文字目が「田」で始まる名前を条件にしたい場合は、「?田」と入力します。

まとめ

COUNTIF関数の影になりがちなDCOUNT関数の説明でした。

別の表を作成することで、どのような条件で個数をカウントしたかを後から確認するのが楽になります。

COUNTIF関数やCOUNTIFS関数で条件が上手く作成できない時に思い出したい関数です。

 

DCOUNTの「D」は「DATABASE」の「D」だにゃ