7/19/2026

Access。クエリ。品川店と横浜店の売上金額合計を求めるにはExcelよりいいかも。

Access。クエリ。品川店と横浜店の売上金額合計を求めるにはExcelよりいいかも。

<Sum+IIf関数>

店舗名が品川店と横浜店の合計金額を求めたい場合、SUMIF関数一つだけではもとめることができません。


もし、SUMIF関数をつかう場合で、わかりやすくという前提ならば、次のような数式をつくります。

=SUMIF(D2:D169,"品川店",I2:I169)+SUMIF(D2:D169,"横浜店",I2:I169)

=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のクエリデザインをつかって、演算フィールドをつくってみます。

合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))

テーブルは、Excelのでーたをインポートしています。


クエリデザインで演算フィールドをつくります。


そして、クエリデザインタブの集計ボタンをおして、集計行を表示します。


合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))


集計行には、演算 と設定します。


では実行してみましょう。


Excelで求めた値と同じ結果であることが確認できました。


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


合計金額: Sum(IIf([店舗名] In ("品川店","横浜店"),[金額],0))


Sum関数は合算する関数です。

何を合算するのかというと、IIf関数で合致しているものです。


IIf([店舗名] In ("品川店","横浜店"),[金額],0) は、

もし、店舗名が、品川店または横浜店だったら金額フィールドをつかって、そうでなければ0をつかうという条件式なので、品川店と横浜店ならば、金額を足すことができるというわけです。


単純ですが、OR条件の合計の場合、Accessのクエリという方法もアリなのかもしれません。