SUMIF関数の使い方|単一条件で合計を求める基本技
SUMIF関数は、指定した条件に一致するセルの合計を求める関数です。「特定の商品カテゴリだけの売上合計」「ある担当者の受注金額合計」のように、1つの条件で絞り込んだ集計を行えます。Excelの集計業務で最も基本となる関数の1つです。
SUMIF関数の基本構文
SUMIF関数は3つの引数で構成されています。条件範囲、条件、合計対象範囲の順番で指定します。
=SUMIF(条件範囲, 条件, [合計対象範囲])
引数の説明
| 引数 | 説明 | 必須/任意 |
|---|---|---|
| 条件範囲 | 条件を判定するセル範囲 | 必須 |
| 条件 | 条件範囲に適用する条件 | 必須 |
| 合計対象範囲 | 合計を求めるセル範囲 | 任意 |
合計対象範囲を省略した場合
合計対象範囲を省略すると、条件範囲そのものが合計対象になります。数値データの中から条件に一致するものだけを合計したい場合に便利です。
=SUMIF(A2:A10, ">=1000")
この数式は、A2からA10のうち1000以上のセルの合計を返します。
基本的な使い方:文字列を条件にする
最もよく使うパターンは、特定の文字列に一致するデータを合計するケースです。
商品カテゴリ別の売上合計
以下の売上データから、カテゴリごとの合計を求めます。
| A列:商品名 | B列:カテゴリ | C列:売上金額 |
|---|---|---|
| ノートPC | パソコン | 198000 |
| マウス | 周辺機器 | 3500 |
| デスクトップPC | パソコン | 245000 |
| キーボード | 周辺機器 | 8900 |
| モニター | 周辺機器 | 42000 |
「パソコン」カテゴリの売上合計を求めます。
=SUMIF(B2:B6, "パソコン", C2:C6)
結果は443000(198000 + 245000)です。B列が「パソコン」に一致する行のC列を合計しています。
セル参照で条件を指定する
条件を直接記述する代わりに、セル参照を使うと柔軟な集計が可能です。
=SUMIF(B2:B6, E2, C2:C6)
E2セルに「周辺機器」と入力すれば54400が、「パソコン」と入力すれば443000が返されます。ドロップダウンリストと組み合わせると、選択肢を切り替えるだけで集計結果を確認できます。
比較演算子を使った数値条件
SUMIF関数では、比較演算子を使って数値の範囲条件を指定できます。演算子と数値を文字列として記述する点に注意してください。
使用できる比較演算子
| 演算子 | 意味 | 記述例 |
|---|---|---|
| > | より大きい | ”>50000” |
| >= | 以上 | ”>=50000” |
| < | より小さい | ”<50000” |
| <= | 以下 | ”<=50000” |
| = | 等しい | ”=50000” |
| <> | 等しくない | ”<>50000” |
一定金額以上の売上合計
売上金額が5万円以上のデータだけを合計します。
=SUMIF(C2:C100, ">=50000")
合計対象範囲を省略しているため、C列の中で50000以上のセルがそのまま合計されます。
セル参照と比較演算子の組み合わせ
基準値をセルで指定する場合は、演算子と文字列結合演算子(&)を使います。
=SUMIF(C2:C100, ">=" & E2)
E2セルに入力した数値以上の売上を合計します。演算子部分はダブルクォーテーションで囲み、セル参照と&で結合するのがポイントです。
ワイルドカードを使った部分一致
文字列条件では、ワイルドカードを使って部分一致の集計ができます。
ワイルドカードの種類
| 記号 | 意味 | 使用例 |
|---|---|---|
| * | 任意の文字列(0文字以上) | “東京” |
| ? | 任意の1文字 | ”??支店” |
| ~ | エスケープ文字 | ”~*含む” |
部分一致で売上を合計する
担当者の売上データから、名前に「田」が含まれる担当者の売上合計を求めます。
| A列:担当者 | B列:売上 |
|---|---|
| 田中太郎 | 850000 |
| 佐藤花子 | 720000 |
| 山田一郎 | 690000 |
| 鈴木次郎 | 580000 |
| 内田美咲 | 910000 |
=SUMIF(A2:A6, "*田*", B2:B6)
結果は2450000(田中太郎850000 + 山田一郎690000 + 内田美咲910000)です。
前方一致・後方一致
特定の文字で始まる、または終わるデータを集計できます。
# 「東京」で始まる支店の売上合計
=SUMIF(A2:A100, "東京*", B2:B100)
# 「支店」で終わる拠点の売上合計
=SUMIF(A2:A100, "*支店", B2:B100)
実務での活用例
空白以外のセルを合計する
備考欄が入力されている行だけの金額を合計します。
=SUMIF(D2:D100, "<>", C2:C100)
「<>」は「空白でない」を意味します。D列に何らかの値が入力されている行のC列を合計します。逆に、特定の列が空白の行だけを合計する場合は、条件に空文字("")を指定します。
月別売上集計
日付データと組み合わせて月別の集計を行う例です。B列に月名、C列に売上金額が入っている場合を想定します。
=SUMIF(B2:B200, "4月", C2:C200)
月ごとの売上合計をまとめた集計表を作成する際に、各月の行にこの数式を入力します。
在庫管理での入出庫集計
入出庫の区分ごとに数量を集計する例です。
| A列:日付 | B列:区分 | C列:商品名 | D列:数量 |
|---|---|---|---|
| 4/1 | 入庫 | ボールペン | 500 |
| 4/2 | 出庫 | ボールペン | 120 |
| 4/3 | 入庫 | ノート | 300 |
| 4/5 | 出庫 | ボールペン | 80 |
# 入庫数量の合計
=SUMIF(B2:B100, "入庫", D2:D100)
# 出庫数量の合計
=SUMIF(B2:B100, "出庫", D2:D100)
入庫合計から出庫合計を引くことで、現在の在庫数量を算出できます。
よくあるエラーと対処法
結果が0になる
条件に一致するデータが存在しない場合、SUMIF関数は0を返します。意図しない場合は以下を確認してください。
- 文字列の全角・半角が一致しているか
- 条件範囲と合計対象範囲の開始行が揃っているか
- セルの値が文字列として格納されていないか(数値が文字列として保存されているケース)
合計対象範囲のサイズに関する注意
SUMIF関数では、合計対象範囲の大きさは条件範囲の大きさに基づいて自動調整されます。ただし、条件範囲と合計対象範囲の開始位置がずれていると、意図しない結果になります。
# 条件範囲と合計対象範囲の行数が異なっていてもエラーにならない
# ただし合計対象範囲は条件範囲と同じ行数で処理される
=SUMIF(A2:A10, "東京", C2:C5)
この場合、合計対象範囲はC2:C10として処理されます。混乱を避けるため、範囲のサイズは揃えることをおすすめします。
まとめ
SUMIF関数は、1つの条件に一致するデータの合計を求める基本的な集計関数です。
- 条件範囲、条件、合計対象範囲の3つの引数で構成される
- 比較演算子を使って数値の範囲条件を指定できる
- ワイルドカード(*、?)で部分一致の集計が可能
- 空白・非空白を条件にした集計もできる
- 複数条件が必要な場合はSUMIFS関数を使用する
なお、SUMIF関数はGoogle スプレッドシートでも同じ構文で利用できます。売上管理や在庫管理など、日常業務のさまざまな集計場面で活用できます。まずはSUMIF関数の基本をマスターし、必要に応じてSUMIFS関数へステップアップしましょう。