Access。クエリ。品川店と横浜店の売上金額合計を求めるにはExcelよりいいかも。
<Sum+IIf関数>
店舗名が品川店と横浜店の合計金額を求めたい場合、SUMIF関数一つだけではもとめることができません。
もし、SUMIF関数をつかう場合で、わかりやすくという前提ならば、次のような数式をつくります。
=SUMIF(D2:D169,"品川店",I2:I169)+SUMIF(D2:D169,"横浜店",I2:I169)
なんで、SUMIF関数が2つあるのかというと、2つめの引数の「検索条件」がOR条件に対応していないからです。
またOR関数をつかった数式に変えてみます。
=SUMIF(D2:D169,OR("品川店","横浜店"),I2:I169)
これだと、0になってしまいました。
原因は、先ほども紹介したように、検索条件にOR関数を使ったからです。
SUMPRODUCT関数をつかうなど、対応方法はありますが、算出するのはちょっと面倒です。
では、Accessのクエリだったらどうなるのでしょうか。
Accessのクエリデザインをつかって、演算フィールドをつくってみます。
テーブルは、Excelのでーたをインポートしています。
クエリデザインで演算フィールドをつくります。
そして、クエリデザインタブの集計ボタンをおして、集計行を表示します。
合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))
集計行には、演算 と設定します。
では実行してみましょう。
Excelで求めた値と同じ結果であることが確認できました。
では、演算フィールドを確認しておきましょう。
合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))
Sum関数は合算する関数です。
何を合算するのかというと、IIf関数で合致しているものです。
IIf([店舗名] In ("品川店","横浜店"),[金額],0) は、
もし、店舗名が、品川店または横浜店だったら金額フィールドをつかって、そうでなければ0をつかうという条件式なので、品川店と横浜店ならば、金額を足すことができるというわけです。
単純ですが、OR条件の合計の場合、Accessのクエリという方法もアリなのかもしれません。


![合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0)) 合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvfKHXUuMuYHpOVgd-AGW7kXhz8WRWCkrqXnkfEC_f1Th5-UJpYk986aiX7nzyjrgIqeXVNmq8Xar347hi6qx1C2vYliJbrOSBgnBe4fza4W4qz2xw4HhlfokEddJxISOM7QIBe1MmHo90O-FNb2EMEauzZ0XqneN7zkLnn_b-xCmvmmm4A3iMeTQuWeI/w400-h301/003.jpg)























