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