ITライター 立山秀利
今回は、複数の条件に一致するデータの数を求めるDCOUNTA関数の使い方を解説する。
指定した複数の条件に一致するデータを表から抽出し、その数を求めたいケースはしばしばある。例えば、ある企業の営業部門で、所属課や支社に応じて売上高が一定以上となる担当者の数を求めたいケースだ。
そのような場合はDCOUNTA関数を利用するのがおすすめだ。指定した条件に一致するデータの数を求める関数である。COUNTIFSなど類似の関数と異なるのは、条件を表の形で指定できること。条件を変更したければ、条件の表の値を変更するだけで済むので、条件を変えながら目的のデータの数を求める作業を効率よく行える。
例えば、先述の例のような売上表があるとする。実際の売上データはA7~D21セルに入力されており、6行目が表の列見出し(列ラベル)である。この表において、支社や売上など指定した条件に一致する担当者の数をF3セルに求めたいとする。
図1
まずはDCOUNTA関数で用いる条件の表を作成する。今回は図2のように、A2~D3セルに設けるとする。2行目は列見出しであり、売上表の列見出しと同じ文言にそろえる。条件の値は3行目に入力する。
図2
この条件の表を用いて、DCOUNTA関数によって目的の条件に一致する担当者数を求める。DCOUNTA関数の書式は次の通りだ。
-----------------------------------------
=DCOUNTA(データベース, フィールド, 条件)
------------ ---------- -----
( A6:D21, A6, A2:D3)
-----------------------------------------
また、各引数の説明は以下になる。
-------------------------------------------------------------------------
データベース 集計元となる表のセル範囲を指定。列見出しも含む
フィールド 集計元となる表でデータの数を求めたい列見出しのセルを指定
条件 条件の表のセル範囲を指定。列見出しも含む
-------------------------------------------------------------------------
今回の例では、引数「データベース」には売上の表であるA6~E21セルを指定する。引数「フィールド」には、C列「担当者」の列見出しのセルであるA6セルを指定すればよい。引数「条件」には、条件の表のセル範囲であるA2~D3セルを指定する。引数「データベース」と「条件」はともに、表の列見出しのセルも含めるよう指定する。
F3セルにDCOUNTA関数を入力できたら、条件の表のA3~D3セルに条件の値を入力し、合計額を求めてみよう。まずは「売上が16,000,000円以上」の担当者数を求めてみよう。この表では各担当者のデータが1行ごとに入力されているので、データの数を担当者の数と見なせる。
D3セルに売上の条件として、「>=16000000」を入力する。「>=」は「~以上」を意味する演算子だ。単に「16000000」と入力すると、売上が\16,000,000と完全に一致するデータが数えられるが、「>=」を付けることで、16,000,000円以上のデータを数えられる。
D3セルに「>=16000000」を入力すると、売上が16,000,000円の担当者数が求められる。
図3
(画像をクリックすると拡大表示します)
続けて、C3セルに「仙台」と入力してみよう。すると、売上が\16,000,000以上で、かつ、支社が仙台の担当者数が求められる。
図4
(画像をクリックすると拡大表示します)
このようにDCOUNTA関数を用いれば、表形式の条件をいろいろ変えながら、目的のデータの数を効率よく求めることができる。
立山秀利(たてやま・ひでとし)
カーナビのソフトウェア開発、Webプロデュース業務を経て、現在は、システムやネットワーク、Microsoft Officeを中心に執筆中。 主な著書に『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』などがある。
(監修:日経BPコンサルティング)