SUMIFS関数のOR条件
SUMIFS関数は、ExcelやGoogleスプレッドシートで、複数の条件に一致する数値の合計を求める関数です。通常、SUMIFS関数は条件を満たすセルの値を合計する際に、AND条件として機能します。しかし、OR条件を指定して数値を合計する方法もあります。
OR条件を指定する場合、SUM関数と配列を組み合わせることで、SUMIFS関数でも複数条件をOR条件で指定することができます。当記事では、SUMIFS関数で複数条件の計算にOR条件を指定する方法や、SUMPRODUCT関数を使う方法など、様々な活用法について解説します。
初心者の方でも分かりやすいように、図や具体例を用いながら解説し、複雑な条件でのデータ集計を簡単に実現できる方法を紹介しますので、ぜひ参考にしてください。
【参考】:Excel SUMIFS 関数で複雑な集計に対応! |Microsoft for business 【参考】:SUMIFS 関数|Microsoft サポート
SUMIFS関数とは
SUMIFS関数は、複数の検索条件を指定し、それらを満たすすべての引数を合計するための関数です。例えば、「商品名がりんごで、かつ販売日が2023年1月」のように、複数の条件に基づいて売上の合計などを計算できます。
SUMIF関数が複数条件による合計計算が面倒なのに対し、SUMIFS関数は複数の条件で集計を行うのが比較的容易なため、より柔軟なデータ集計が可能です。
OR条件とは
OR条件とは、複数の条件のうち、いずれか1つでも満たせば良いという条件設定のことです。たとえば、「商品名がりんごまたはバナナの売上を合計する」といった条件(OR)では、どちらかの条件を満たすデータが対象となります。
SUMIFSの基本的な書式
SUMIFS関数と、最初から複数条件の集計に対応するSUMIFS関数は、基本的な書式が異なりますので、ここで確認しておきましょう。
SUMIFS関数の書式
SUMIFS関数は次のように記述します。
=SUMIFS(合計範囲、 条件範囲1、 条件1, [条件範囲2、 条件2], ...)
■ 引数の意味 次にSUMIFS関数の引数の意味について確認しておきましょう。
・合計範囲:集計対象としたい数値が入ったセル範囲。 ・条件範囲1:条件を適用する範囲。条件に合うデータを探す列の範囲。 ・条件1:先の条件範囲1に対して指定する条件。 ・[条件範囲2、 条件2]:(任意)追加の条件範囲と条件で、これにより複数条件を指定できます。
■ SUMIFS関数の例 SUMIFS関数の実例を紹介します。次のような商品名と商品ごとの金額が示された一覧表データを、「商品名がりんごで、かつその金額が1,000円以上」という複数の条件で検索して、それぞれの合計値を算出する場合は、SUMIFS関数を次のように使用します。
=SUMIFS(B2:B5, A2:A5, "りんご", B2:B5, ">=1000")
この関数では、「A列の商品名がりんご」かつ「B列の金額が1,000円以上」という2つの条件にマッチするデータを集計しています。その結果として、1,200円のりんごと、1,000円のりんごが合算され、「2,200円」という結果が得られます。
このようにSUMIFS関数は、複数の条件を満たす数値を合計する関数であることが分かります。
SUMIFS関数でOR条件に対応
複数条件の集計でSUMIFS関数は一般的に利用されますが、いずれか1つを満たすOR条件の場合にはどのような計算式にすればいいのでしょうか。
OR条件の必要性
例えば、「商品名が 'りんご' または 'バナナ'」というように、どちらか1つでも満たせば合計したいというようなケースがOR条件です。このOR条件はSUMIFS関数単独で対応するのは難しいため、何らかの工夫が必要です。
OR条件を設定する方法
最も簡単なのは、個別にSUMIFS関数で計算を行い、それぞれの計算結果を合算する方法です。それぞれの条件に対して個別に合計を求め、それらを足し合わせます。実際にExcel上で行ってみましょう。
◼︎複数のSUMIFS関数を足し合わせる方法 この方法は、それぞれの条件に合うSUMIFS関数を使い、その結果を足し合わせることです。例えば、「商品名が 'りんご' または 'バナナ'」という条件の場合、次のように記述します。
=SUMIFS(B2:B5, A2:A5, "りんご") + SUMIFS(B2:B5, A2:A5, "バナナ")
この式では、先に「りんご」の売上金額の合計を計算し、その後「バナナ」の売上金額の合計を計算して、りんごの売上とバナナの売上の合計を足しています。
・りんごの合計:1,200 + 1,000 = 2,200 ・バナナの合計:1,500 ・集計結果:2,200 + 1,500 = 3,700
この方法はシンプルで分かりやすく、3つ以上の複数条件に対しても柔軟に対応できる点がポイントです。
◼︎SUMPRODUCT関数と配列数式を組み合わせる方法(高度な方法) もう1つの方法としては、SUMPRODUCT関数を使って配列数式を使用する方法があります。これは、複数の条件を1度に処理できる強力な方法ですが、やや高度なテクニックです。
SUMPRODUCT関数はExcelの強力な関数で、指定した範囲内の数値を掛け合わせ、その積の合計を計算します。主に複数の配列を扱う際に使用され、簡単な合計から複雑な条件付き合計まで幅広く対応できます。基本的な書式は次の通りです。
=SUMPRODUCT(配列1, [配列2], [配列3], ...)
【参考】:SUMPRODUCT 関数 | Microsoft サポート
では実際にSUMPRODUCT関数を使ってみましょう。
=SUMPRODUCT((A2:A5={"りんご","バナナ"}) * (B2:B5))
この式では、商品名が「りんご」または「バナナ」のデータを配列として処理し、該当する売上を合計します。配列数式は、特に複数の条件を1度に処理できるため、大規模なデータに対しても効率よく動作します。
注意点
SUMIFS関数による集計を行う際にはルールがありますので、次のような点に注意せねばなりません。
SUMIFS関数で範囲を措定する際は、引数の範囲が同じ列数であるため範囲とは異なるサイズを指定するとエラーになります。
また、複数の条件を設定する際は正確な条件設定が必要です。特に日付や数値の範囲を指定する場合は注意が必要です。検索条件は、関数に直接入力すること・セル参照することのいずれも可能です。
実務でよく使われる複数条件の例
ここでは実務でよく使われる複数条件の例を紹介します。これらを理解しておけば、日常業務での集計がより効率的に行えるようになります。
複数の条件を組み合わせる
次のようなデータから、「商品名が 'りんご' または 'バナナ' かつ金額が1,000円以上」という条件を設定したい場合、以下のように記述します。
=SUMIFS(B2:B5, A2:A5,"りんご", B2:B5,">=1000")+SUMIFS(B2:B5,A2:A5,"バナナ", B2:B5,">=1000")
・りんごの売上1,000円以上の合計:1,500 ・バナナの売上1,000円以上の合計:1,000 ・集計結果:1,500 + 1,000 = 2,500
数値の範囲を指定する
同じデータを使って、「売上金額が1,000円以上かつ1,500円未満」の売上を合計する場合には、次の関数式を使います。
=SUMIFS(B2:B5, B2:B5, ">=1000", B2:B5, "<1500")
日付の範囲を指定する
先ほどと同じデータを用いて「特定期間の売上額」を集計するには、日付の範囲を次のように指定して処理します。
=SUMIFS(B2:B5, C2:C5, ">=2024/1/1", C2:C5, "<=2024/1/31")
この数式を利用すると特定の期間のデータ集計に役立ちます。この例では2023年1月の販売額が分かります。
SUMIFS関数でOR条件の集計も可能
ここまでSUMIFS関数の基本書式を説明し、SUMIFS関数が複数条件に合うデータの合計に役立つ関数であると述べました。またOR条件を指定するには、複数のSUMIFS関数の合計計算の結果を集計したり、SUMPRODUCT関数を使ったりする方法があることを紹介しました。
SUMIFS関数は柔軟性のある関数で、複数の条件指定で同時に様々なデータの集計が行えるため、実務で様々な活用法があります。ぜひSUMIFS関数を習得して、実務に活かしてみましょう。
マイナビエージェントに無料登録して
転職サポートを受ける
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから