【DCOUNTA関数】データベース関数って使ったことある?
データベース関数とは、セル範囲の行をレコード、列をフィールドとして、セル範囲全体をリストとして、その範囲(データベースと言う)に対して条件を指定して様々なデータを取り出すのに便利に作られている関数です。
通常、セル範囲からデータを取り出したり集計を行う場合は、数式の中に条件を組み込むことが多いですが、この関数を使うと数式と条件を切り離すことが簡単になります。
つまり、簡単な分析を色々な条件を試しながら行いたい場合など、条件を別セルで容易することが出来るので非常に便利です。
データベース関数は色々ありますが、今回は、その中でも空白でないデータの数を集計する「DCOUNTA関数」を紹介します。
DCOUNTA関数
データベースの中から、指定した条件に合致する、指定したフィールドの空白でないセルの個数を出す関数です。(「DCOUNT関数」は数値の入っているセルを数えます。)
・データベースには、セル範囲を指定します。各列の一番上には見出しが必要です。
・フィールドは、列見出しのことです。集計する対象の見出しか列番号を指定します。
・条件範囲は、条件を入力した範囲になります。こちらも範囲の一番上は見出しが必要です。
使い方
【サンプル】
こんな表を用意しました。あんま意味はないです。
フィールドは、表の一番上の「日付~個数」までの項目ですね。「H5:H6」に見出し付きで条件範囲を用意しています。
結果を、H12セルに表示させたいので、ここに数式を入れていきます。
入れる数式はこちらです。
=DCOUNTA(B4:F18,D4,H5:H6)
こんな感じになりますね。今回は「性別」のフィールドで集計するので、「D4」を指定しています。ここの指定方法は「”性別”」でも「3」でもOKです。「3」は列番号です。表の一番左の列を「1」とした時に、そっから数えた数です。
別の書き方1
=DCOUNTA(B4:F18,”性別”,H5:H6)
別の書き方2
=DCOUNTA(B4:F18,3,H5:H6)
条件(H6セル)に「>=5/2」をいれると次のようになります。
「>=5/2」は「5月2日以降」という意味です。空白でないデータは7個あるので、結果に「7」が表示されていますね。
このようにすることで、条件を変えるだけで、データベースから集計を行えるようになります。
日付を変えてみましょう。
以上です。
ちなみに、DCOUNTAが空白では無いセルを数えているかどうか念の為確認します。
同じサンプルのD14セルとD15セルを空白にします。
H12セルには「=DCOUNTA(B4:F18, D4, H5:H6)」とフィールドを「性別」で選んだ状態の数式になっているので、条件の5月2日以降の性別列で空白でないセルの数は5つなので「5」になるはずですね。
ちゃんと「5」になりました。
別の条件の指定
例えば、条件を「性別」に変更したら次のようになります。今回数えるのは名前列としましょう。
H12セルには次の数式が入ります。
=DCOUNTA(B4:F18,C4,H5:H6)
名前列を数えたいので、フィールドを「名前」に変更しています。
※サンプルのC14セルも空白に変更しています。
H5セルに「性別」、H6セルに完全一致の条件式で下記を入力します。
=”=女”
ちょっと癖のある書き方なので慣れて下さい。入力した式と実際にH6セルに表示される見え方が違うので注意が必要です。
H12セルには、性別列で「女」になっているデータの名前列が空白では無いデータの個数が表示されますので、H12セルには「6」が表示されます。
まとめ
落ち着いてどこが何を表しているのかを整理して組み立てていくことが大切です。
データベース関数をうまく組み合わせることで、データ抽出がサクサク出来る表が作れそうですね!データベース関数は他にも色々あります(最初に「D」がつく関数です)が、得られる結果が違うだけで使い方は基本的には同じです!今後ぼちぼち紹介していきます。
条件の指定方法などは、別記事で紹介させてもらいます!
おまけ
その他のデータベース関数と条件の指定方法についてはこちら!
コメント