9/23/2023

Access。クエリ。Excelのように、平均値以上なら○と表示したい。【above average】

Access。クエリ。Excelのように、平均値以上なら○と表示したい。

<Access:DAvg関数>

テーブルをExcelにわざわざエクスポートしないで、Access上で処理できればいいなぁといことがあります。


例えば、次のテーブル。

Access
販売金額が平均以上なら○。

そうでなければ空欄のままと判定したいとします。


Excelなら算出した平均値をつかってIF関数で判定をさせるようにしますが、そういうわけにはいきません。


そこで、クエリで、演算フィールドをつくって、対応します。

作成タブのクエリデザインをクリックします。


クエリの設定を次のようにします。


販売金額フィールドのとなりに、「平均以上」という演算フィールドをつくります。


演算式は、

平均値以上: IIf([販売金額]>=DAvg("[販売金額]","T店舗販売"),"○","")


実行して確認しておきましょう。


平均値以上のデータに○が表示されていることが確認できます。

ちなみに、販売金額の平均値は1088.4です。


演算フィールドを確認しておきましょう。

平均値以上: IIf([販売金額]>=DAvg("[販売金額]","T店舗販売"),"○","")


ExcelではIF関数ですが、Accessで条件分岐をする関数はIif関数です。


論理式ですが、Excelのように、別のセルに平均値を算出しておき、それを使用するということはしませんので、論理式内に平均値を算出します。


平均値を算出するための関数は、DAvg関数をつかいます。

DAvg("[販売金額]","T店舗販売")


DAvg関数の引数は、フィールド名だけではダメで、テーブル名も必要です。


Accessでも、ExcelのようにIif関数をつかうことで、条件分岐の処理をすることができます。