ExcelとGoogleスプレッドシートでSUMIFS関数をOR条件で使う方法

SUMIFS関数は複数の条件に一致するデータを集計できる便利な関数ですが、標準ではAND条件(すべての条件を満たす)でしか動作しません。「AまたはB」というOR条件で集計したい場合、工夫が必要です。この記事では、ExcelとGoogleスプレッドシートそれぞれでOR条件を実現する具体的な方法を解説します。

SUMIFS関数の基本(AND条件の動作)

SUMIFS関数は、複数の条件をすべて満たす行の数値を合計する関数です。

=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)

▼ 基本的な使用例(AND条件)

以下のようなデータで、「担当者が田中」かつ「エリアが関東」の売上合計を求める場合:

=SUMIFS(C2:C10, A2:A10, "田中", B2:B10, "関東")

この数式は「田中かつ関東」という2つの条件を同時に満たす行のみを集計します。

OR条件が必要になる場面

実務では、「エリアが関東または関西」「商品AまたはB」といった「いずれかの条件を満たす」OR条件での集計が必要になるケースがあります。

SUMIFS関数で同じ列に対して複数の条件を指定しようとすると、結果は「0」になります。

=SUMIFS(C2:C10, B2:B10, "関東", B2:B10, "関西")

この数式は「関東かつ関西」という矛盾する条件になるため、該当するデータが存在せず0を返します。

ExcelでOR条件を実現する方法

方法1:SUM関数と配列定数を組み合わせる

最も効率的な方法は、SUM関数でSUMIFS関数を包み、配列定数を使う方法です。

▼ 基本構文

=SUM(SUMIFS(合計範囲, 条件範囲, {"条件A", "条件B"}))

▼ 実践例:エリアが関東または関西の売上合計

=SUM(SUMIFS(C2:C10, B2:B10, {"関東", "関西"}))

▼ 動作の仕組み

方法2:複数のSUMIFS関数を足す

シンプルに複数のSUMIFS関数を加算する方法もあります。

=SUMIFS(C2:C10, B2:B10, "関東") + SUMIFS(C2:C10, B2:B10, "関西")

この方法は直感的ですが、条件が増えると数式が長くなります。

3つ以上のOR条件を指定する

配列定数を使えば、3つ以上の条件も簡単に指定できます。

=SUM(SUMIFS(C2:C10, B2:B10, {"関東", "関西", "中部"}))

AND条件とOR条件を組み合わせる

「エリアが関東または関西」かつ「売上が500以上」のような複合条件も実現できます。

=SUM(SUMIFS(C2:C10, B2:B10, {"関東", "関西"}, C2:C10, ">=500"))

▼ 条件の組み合わせパターン

Googleスプレッドシートでの実装方法

Googleスプレッドシートでは、SUMPRODUCT関数を使う方法が確実です。

SUMPRODUCT関数を使ったOR条件

▼ 基本構文

=SUMPRODUCT((条件範囲="条件A")+(条件範囲="条件B"), 合計範囲)

▼ 実践例:担当者が田中または佐藤の売上合計

=SUMPRODUCT((A2:A10="田中")+(A2:A10="佐藤"), C2:C10)

▼ 記号の意味

AND条件とOR条件を組み合わせる

「担当者が田中」かつ「エリアが関東または関西」の場合:

=SUMPRODUCT((A2:A10="田中")*((B2:B10="関東")+(B2:B10="関西")), C2:C10)

実践例:営業データの集計

▼ データ例

担当者 エリア 売上
田中 関東 500
佐藤 関西 300
鈴木 関東 450

▼ ケース1:エリアが関東または関西の売上合計(Excel)

=SUM(SUMIFS(C2:C10, B2:B10, {"関東", "関西"}))

結果:500 + 300 + 450 = 1,250

▼ ケース2:担当者が田中または佐藤の売上合計(Googleスプレッドシート)

=SUMPRODUCT((A2:A10="田中")+(A2:A10="佐藤"), C2:C10)

結果:500 + 300 = 800

よくある間違いと対処法

SUM関数を忘れる

配列定数を使う場合、SUM関数で包まないと結果が横に展開されてしまいます。

▼ 間違った例

=SUMIFS(C2:C10, B2:B10, {"関東", "関西"})

この数式では、「関東」の合計と「関西」の合計が別々のセルに表示されます。

▼ 正しい例

=SUM(SUMIFS(C2:C10, B2:B10, {"関東", "関西"}))

セル参照ができない

配列定数 {} 内では、セル参照が使えません。条件を直接入力する必要があります。

▼ 動作しない例

=SUM(SUMIFS(C2:C10, B2:B10, {E2, F2}))

セル参照を使いたい場合は、TEXTSPLIT関数やINDIRECT関数を組み合わせる高度なテクニックが必要になります。

条件範囲のサイズ不一致

合計範囲と条件範囲のサイズが異なると、#VALUE!エラーが発生します。

=SUM(SUMIFS(C2:C10, B2:B5, {"関東", "関西"}))

すべての範囲を統一してください。

DSUM関数という選択肢

ExcelではDSUM関数を使うことで、OR条件を直感的に指定できます。

▼ DSUM関数の構文

=DSUM(データベース範囲, 集計列, 条件範囲)

DSUM関数は条件表を別途作成する必要がありますが、複雑な条件を視覚的に管理できるメリットがあります。

まとめ

SUMIFS関数でOR条件を実現する方法は、ExcelとGoogleスプレッドシートで異なります。

▼ Excel

▼ Googleスプレッドシート

▼ 使い分けのポイント

OR条件での集計は一見複雑に見えますが、仕組みを理解すれば様々な集計業務で活用できます。

コメント