Access。平均値以上のデータを抽出するには、どうしたらいいの?
<Access:DAvg関数>
Excelだと、オートフィルターをつかうことで、平均値以上のデータを抽出することが簡単にできます。
では、Accessでは、どのようにしたらいいのでしょうか?
テーブルのフィルターで探してみると、数値フィルター内に、平均値以上というのはありません。
そもそも、テーブルのフィルターはどちらかといえば、「即席」という面があり、Accessで抽出といったら、やはりクエリをつかって抽出していくわけですね。
では、次のテーブルの売上高フィールドにある値が平均値以上のデータを抽出していくことにします。
作成タブの「クエリデザイン」をクリックします。
今回は、すべてのフィールドをつかってクエリを作っていくことにしますが、用途に合わせてフィールドを取捨していきましょう。
根本的な問題として、どうやったら「平均値」を算出することができるのか?
それをどうやって条件としてつかうのかと考えるところです。
Excelのように、どこかのセルに算出しておいて、その結果を使うのかなどアレコレ考えてしまいます。
幸いAccessには、DAvg関数というのがあって、その関数をつかうことで、簡単に、平均以上を算出することが出来るのです。
売上高フィールドの抽出条件に、
>=DAvg("[売上高]","T商品A売上")
と設定します。
今回は、「以上」という条件なので、比較演算子の「>=」をつかうことで、条件を設定することができます。
なので、仮に「平均値より大きい」ということでしたら「>」になるというわけですね。
また、このDAvg関数は、
DAvg(フィールド名,テーブル名,条件)
という引数をもっています。ポイントは、テーブル名→フィールド名という順番でないということ。結構間違いやすいので、注意が必要ですね。
では、クエリを実行して確認してみましょう。
このような結果となりました。
しかし本当に平均値以上なのでしょうか?
テーブルをExcelにエクスポートして確認してみましょう。
平均値以上のデータかどうか確認してみると、合致していることがわかりました。
無事に、平均値以上のデータを抽出することができたようです。
今回は、Accessのテーブルデータから平均値以上のデータを抽出する方法をご紹介いたしました。
DAvg関数は、比較演算子での抽出や、Between And演算子をつかった抽出ほど、有名ではありませんが、Excelと同じように、様々な関数が用意されていますので、ちょっとした抽出をしたい時には知っておくといいかもしれませんね。