Access。クエリ。Excelのように、平均値以上なら○と表示したい。
<Access:DAvg関数>
テーブルをExcelにわざわざエクスポートしないで、Access上で処理できればいいなぁといことがあります。
例えば、次のテーブル。
販売金額が平均以上なら○。
そうでなければ空欄のままと判定したいとします。
Excelなら算出した平均値をつかってIF関数で判定をさせるようにしますが、そういうわけにはいきません。
そこで、クエリで、演算フィールドをつくって、対応します。
作成タブのクエリデザインをクリックします。
クエリの設定を次のようにします。
販売金額フィールドのとなりに、「平均以上」という演算フィールドをつくります。
演算式は、
平均値以上: IIf([販売金額]>=DAvg("[販売金額]","T店舗販売"),"○","")
実行して確認しておきましょう。
平均値以上のデータに○が表示されていることが確認できます。
ちなみに、販売金額の平均値は1088.4です。
演算フィールドを確認しておきましょう。
平均値以上: IIf([販売金額]>=DAvg("[販売金額]","T店舗販売"),"○","")
ExcelではIF関数ですが、Accessで条件分岐をする関数はIif関数です。
論理式ですが、Excelのように、別のセルに平均値を算出しておき、それを使用するということはしませんので、論理式内に平均値を算出します。
平均値を算出するための関数は、DAvg関数をつかいます。
DAvg("[販売金額]","T店舗販売")
DAvg関数の引数は、フィールド名だけではダメで、テーブル名も必要です。
Accessでも、ExcelのようにIif関数をつかうことで、条件分岐の処理をすることができます。