Excel SUMIF関数:使い方を徹底解説。条件指定でデータ集計を効率化

2026年1月2日

English version.

ExcelのSUMIF関数は、指定した条件を満たすセルの値を合計する関数です。

本記事では、SUMIF関数の基本的な使い方から、実務で役立つ応用例、よくある問題への対処法までを分かりやすく解説し、データ集計の効率化を支援します。

特定のカテゴリの売上集計や金額指定の合計など、実務での応用例やエラー対策、Microsoft 365以降のスピル機能も紹介し、あなたの業務効率向上をサポートします。

目次

はじめに:Excel SUMIF関数とは?データ集計の課題を解決する第一歩

SUMIF関数の概要:条件付き合計の基本機能

SUMIF関数は、指定したセル範囲内で検索条件を満たすセルの合計値を自動的に計算してくれるExcelの重要な関数です。

通常のSUM関数がすべての数値を無条件に合計するのに対し、SUMIF関数は「この条件を満たす場合のみ合計する」という柔軟な計算が可能になります。

例えば、商品一覧から「食品」カテゴリのみの売上を合計したり、「1000円以上」の商品だけを集計したりといった、条件付きの計算を簡単に実行できます。

なぜSUMIF関数を学ぶべきなのか:データ活用の重要性と効率化

日々の業務では、膨大なデータの中から特定の条件に合うものだけを抽出して分析する必要があります。

従来であれば、データを手動で抽出してから計算する必要がありましたが、SUMIF関数を使用することで、この作業を一つの数式で完結させることができます。

売上分析、経費管理、在庫集計など、様々な業務シーンで活用でき、作業時間の大幅な短縮と計算精度の向上を同時に実現できます。

また、SUMIF関数はSUM関数の拡張版として位置づけられ、さらに高度な複数条件での集計が可能なSUMIFS関数への橋渡しとしても重要な役割を果たします。

SUMIF関数の基本:構文と引数、基本的な使い方

SUMIF関数の構文要素(範囲、検索条件、合計範囲)を示す図と解説する猫のキャラクター

SUMIF関数の構文

SUMIF関数の基本構文は以下の通りです:

=SUMIF(範囲,検索条件,合計範囲)

この関数は最大3つの引数を使用し、条件に応じて柔軟な集計を実現します。

引数の詳細

範囲:検索条件の評価対象となるセル範囲

検索条件を適用するセル範囲を指定します。この範囲内で条件に合致するセルを探し、対応する値を合計の対象とします。

例:A1:A10(A列の1行目から10行目まで)

検索条件:合計する条件

どのような条件で合計するかを指定します。文字列の場合はダブルコーテーションで囲み、数値比較の場合は比較演算子を使用します。

例:

合計範囲:合計対象とするセル範囲(省略時の動作を含む)

実際に合計する値が入力されているセル範囲を指定します。この引数を省略した場合、「範囲」で指定したセル範囲が合計対象となります。

条件と集計する項目が異なる列にある場合は、この引数の指定が必須となります。

例:B1:B10(B列の1行目から10行目までの値を合計)

SUMIF関数の実用例:様々な条件パターンでの活用

特定の文字列に一致するデータを合計する

最も基本的なSUMIF関数の使用例として、特定のカテゴリに属するデータを合計する方法を見てみましょう。

集計元表と結果表

商品リストがあり、各商品には「種類」と「金額」の情報が含まれているとします。この中から特定の種類の商品の金額合計を求める場合を考えてみます。

集計元表:

  • C列:商品名
  • D列:種類(食品、日用品、文具など)
  • G列:金額
集計元となる商品リストのExcel表。商品名、種類、単価、数量、金額の列が含まれている

結果表:

  • C列:種類
  • D列:合計金額(SUMIF関数で計算)
SUMIF関数で「食品」カテゴリの合計金額を計算したExcelの集計結果と数式

引数設定の具体例と絶対参照の重要性

SUMIF関数を設定する際の引数は以下のようになります:

  • 範囲:集計元表の種類のセル範囲(例:$D$4:$D$9)
  • 検索条件:結果表の種類のセル(例:C14)
  • 合計範囲:集計元表の金額のセル範囲(例:$G$4:$G$9)

数式例:=SUMIF($D$4:$D$9,C14,$G$4:$G$9)

絶対参照($マーク)を使用する理由

範囲と合計範囲に絶対参照を使用することで、数式をコピーしても参照先の集計元表が固定されます。これにより、複数行に数式をコピーしても正しい計算が維持されます。

ワイルドカードを使用する:前方一致、部分一致、後方一致

SUMIF関数では、アスタリスク(*)を使用したワイルドカード検索が可能です。これにより、完全一致以外の柔軟な条件設定ができます。

ワイルドカード(アスタリスク)を使ったSUMIF関数で、部分一致の文字列検索を行うExcelの例。検索条件を数式に直接指定、セル参照で指定、ワイルドカードを数式で指定する3つのパターンを示している。

「*」(アスタリスク)の活用方法

  • 前方一致"犬*"(「犬」で始まる文字列)
  • 部分一致"*犬*"(「犬」を含む文字列)
  • 後方一致"*犬"(「犬」で終わる文字列)

これらの文字列比較方法により、柔軟な条件設定が可能になります。

検索条件を直接指定する例

=SUMIF($D$4:$D$9,"*食品*",$G$4:$G$9)

この数式では、B列で「食品」という文字を含む行のC列の値を合計します。

検索条件をセル参照で指定しワイルドカードと連結する例

検索条件をセルで管理したい場合は、文字列連結を使用します:

=SUMIF($D$4:$D$9,"*"&H2&"*",$G$4:$G$9)

H2セルに「食品」と入力されている場合、この数式は上記の直接指定と同じ結果を返します。

この方法により、検索条件を動的に変更できるため、より柔軟な分析が可能になります。

数値の閾値を設定して合計する:比較演算子の活用

SUMIF関数では、数値の大小比較による条件設定も可能です。

特定金額以上/以下の合計

売上データから一定金額以上の取引のみを集計したい場合に活用できます。

例:

  • 1000円以上の売上のみ合計:=SUMIF($G$4:$G$9,">=1000")
  • 500円未満の売上のみ合計:=SUMIF($G$4:$G$9,"<500")

比較演算子の指定方法と文字列連結(&)の利用

比較演算子は必ずダブルコーテーションで囲む必要があります。また、条件値をセル参照で指定する場合は、文字列連結演算子(&)を使用します。

=SUMIF($G$4:$G$9,">="&C21)

E2セルに「1000」と入力されている場合、この数式は「1000円以上」の条件で合計を計算します。

このように文字列連結を使用することで、条件値を動的に変更でき、分析の幅が大きく広がります。

SUMIF関数で特定の金額以上の合計を計算したExcelの例。数式バーに比較演算子とセル参照を組み合わせた条件が示されている

よくある問題と解決策

SUMIF関数が正しく計算されない時のチェックポイント

SUMIF関数の結果が期待と異なる場合、以下の点を順番に確認してください:

  1. セル範囲の指定は正しいか:意図したセル範囲が選択されているか確認
  2. 数値の形式は適切か:文字列として入力されていないか確認
  3. 条件指定の形式は正しいか:ダブルコーテーションの使用方法を確認
  4. データの不整合はないか:スペースや改行文字の混入を確認

数値が文字列として認識されている場合の対処法

問題の識別方法

数値が文字列として認識されている場合、以下の症状が現れます:

  • セルが左寄りで表示される
  • 数値計算に含まれない
  • セルの左上に緑の三角マークが表示される
Excelで数値が文字列として認識され、SUMIF関数の計算に影響を与えている状態

対処法

  1. VALUE関数を使用:数式セルで対象セルを数値に変換
  2. セルの書式設定を変更:対象セルを選択し、書式を「数値」に変更
  3. データの再入力:正しい数値形式で入力し直す

全角数字が混在する場合は、NUMBERVALUE関数の使用も効果的です(Excel 2013以降)。

SUM関数ではVALUE関数NUMBERVALUE関数を引数に直接指定できましたが、SUMIF関数では変換結果のセルを作る必要があります(SUMIF関数の引数がスピルに対応していない模様。アップデートで変わる可能性あり)。

=SUMIF(A2:A7,B9,C2:C7)
Excelで数値が文字列として認識され、SUMIF関数の計算に影響を与えている状態に対して、VALUE関数やNUMBERVALUE関数を使って数値に変換してから計算する例。中間セルあり

もし変換結果のセルを作らずに数式のみ同様の結果を出したい場合、SUM関数FILTER関数を使用します。

=SUM(FILTER(VALUE(B2:B7),A2:A7="食品"))
Excelで数値が文字列として認識され、SUMIF関数の計算に影響を与えている状態に対して、VALUE関数やNUMBERVALUE関数を使って数値に変換してから計算する例。中間セルあり

エラー値が含まれる場合の注意点と対処法

IFERROR関数との組み合わせ

SUMIF関数の計算範囲にエラー値(#N/A、#VALUE!など)が含まれると、SUMIF関数全体がエラーとなってしまいます。

SUMIF関数の範囲にエラー値が含まれることで関数全体がエラーになるExcelの画面

この問題を解決するには、IFERROR関数と組み合わせます:

=IFERROR(SUMIF(A2:A6,"食品",B2:B6),0)

この数式では、エラーが発生した場合に0を返すため、計算を継続できます。

SUMIF関数の範囲にエラー値が含まれることで関数全体がエラーになる問題にISERROR関数を使って対処する例。エラーがあれば0になる。=IFERROR(SUMIF(A2:A6,"食品",B2:B6),0)

エラーを0として集計したい場合はIFERROR関数でエラーを0に変換した結果をSUMIF関数の引数にします。

エラーを0にして集計する例。中間セルあり

IFERROR関数同様に引数に利用できないため(アップデートで改善される可能性あり)、変換結果のセルを作らずに数式のみ同様の結果を出したい場合、SUM関数FILTER関数を使用して同様の結果を算出します。

=SUM(FILTER(IFERROR(B2:B7,0),A2:A7="食品"))
エラーを0にして集計する例。中間セルなし

SUMIF関数によるエラー回避の例

もし集計対象が正の数だけの場合、簡易な方法として、条件設定でエラーを除外することも可能です:

=SUMIF(B2:B6,">0")

この数式では、0より大きい数値のみを合計するため、エラー値は自動的に除外されます。

より具体的な活用例

プラス数値のみを合計する方法など、実務でよく使われるパターンも参考になります。

絶対参照とワイルドカードの詳細解説

絶対参照の重要性の詳細

絶対参照($マーク)を使用しない場合、数式をコピーした際に参照範囲がずれてしまい、正しい計算ができません。

例:

  • 正しい設定:=SUMIF($B$2:$B$20,A2,$C$2:$C$20)
  • 誤った設定:=SUMIF(B2:B20,A2,C2:C20)

複雑なワイルドカード条件の例

複数の条件を組み合わせる場合:

=SUMIF(B2:B20,"食品*",C2:C20)+SUMIF(B2:B20,"飲料*",C2:C20)

ただし、このような複雑な条件の場合は、SUMIFS関数の使用も検討してください。

スペースや改行文字の混入への対処法

範囲にスペースや改行文字が混入すると検索条件に一致しなくなる場合があります。

範囲にスペースや改行文字が混入し検索条件に一致しなくなる例

制御文字などを削除するCLEAN関数、前後のスペースを削除するTRIM関数を利用して整形すれば対処可能です。

=CLEAN(TRIM(A2))
CLEAN関数とTRIM関数でスペースと改行に対処する例

しかしこのケースでは元の表の問題が大きいため、数式で対処するよりも元の表を修正する方が後々のメリットになります。長期的に利用しない表であれば数式で対処しても問題ありません。

関数の処理速度やパフォーマンスに関する情報

大量データでの注意点

  • データ範囲が大きくなると、計算時間が長くなる可能性があります
  • 複数条件での集計には、SUMIFS関数の使用を検討してください

SUMIF関数の高度な応用:データ集計をさらに効率化

スピル機能が、一つの数式から複数の結果が魔法のように放出されるイメージ。猫のキャラクターが魔法の杖を振って、複数の結果を生み出している様子。効率化、自動化のメリットを視覚的に表現。

スピル機能の利用方法とメリット

Microsoft 365やExcel2019以降での対応

スピル機能は、一つの数式で複数の結果を同時に表示できる高度な機能です。SUMIF関数でスピル機能を活用するには、検索条件を複数セルの範囲で指定します。

数式入力の手間削減と自動拡大

従来の方法では、各行に個別にSUMIF関数を入力する必要がありましたが、スピル機能を使用すると一つのセルに入力するだけで、複数行に自動的に数式が展開されます。通常の数式との違いは、検索条件をセル範囲で指定することです。

例:

=SUMIF(D4:D9,C14:C17,G4:G9)

この数式をD14セルに入力すると、D17まで自動的に計算結果が表示されます。

SUMIF関数をスピル機能で記述し、一つの数式で複数の合計結果を自動展開するExcelの画面
スピル機能によりSUMIF関数の計算結果が自動的に複数セルに表示されたExcelの表

コピー忘れリスクの排除と数式編集の効率化

スピル機能により、以下のメリットが得られます:

  • 数式のコピー&ペースト作業が不要
  • 元の数式を編集すると、すべての結果が自動更新
  • 人的ミスによる計算エラーのリスクが減少

絶対参照が不要になるメリット

スピル機能では、相対参照でも正しく動作するため、絶対参照の設定が不要になります。これにより、数式がより簡潔になり、理解しやすくなります。

行の追加・削除に対する堅牢性

途中に行を追加した場合でも、スピル機能により自動的に数式が調整されるため、手動でのコピー&ペースト作業が不要になります。

BYROW関数を使った行方向のスピル

BYROW関数とSUMIF関数を組み合わせることで、各行に対して条件付き合計を実行できます。

=BYROW(A1:C10,LAMBDA(r,SUMIF(r,">=5")))

この数式では、A1:C10の各行について、5以上の値のみを合計します。

BYROW関数とSUMIF関数で各行の条件付き合計をスピル機能で計算するExcelの画面

BYCOL関数を使った列方向のスピル

同様に、BYCOL関数を使用すると列方向の処理が可能です。

=BYCOL(A1:C10,LAMBDA(c,SUMIF(c,">=5")))

この数式では、A1:C10の各列について、5以上の値のみを合計します。

BYCOL関数とSUMIF関数で各列の条件付き合計をスピル機能で計算するExcelの画面

注意:高度な機能について

BYROW関数BYCOL関数LAMBDA関数は、Microsoft 365の最新機能です。これらの機能は非常に強力ですが、高度な技術を要求するため、まずはSUMIF関数の基本を完全に理解してから学習することをお勧めします。

SUMIFS関数との連携:複数条件での集計

SUMIF関数で基本を習得した後は、複数条件での集計が可能なSUMIFS関数への発展も可能です。

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

例:食品カテゴリかつ1000円以上の商品の合計

=SUMIFS(C2:C20,B2:B20,"食品",C2:C20,">=1000")

生成AIの活用

生成AIを活用したSUMIF関数学習法

なぜ学習に生成AIを使うのか?

生成AIは、SUMIF関数の学習において以下のようなメリットを提供します。

  • 個別最適化された解説:ユーザーの理解度や疑問点に応じて、SUMIF関数の説明を調整し、具体的な例や追加情報を提供します。
  • 即座の疑問解消:参考書やオンライン記事では解決に時間を要する疑問も、生成AIであればリアルタイムで回答を得られます。
  • 多様な学習アプローチの提示:SUMIF関数だけでなく、関連する関数や応用例についても、AIが網羅的に情報を提供できます。

学習手順とプロンプト例(Gemini/ChatGPT共通)

基本理解の促進
  • 「ExcelのSUMIF関数について、初心者にも分かりやすく基本から教えてください。具体的な構文と引数の意味、簡単な使用例を3つ挙げてください。」
  • 「SUMIF関数で条件に文字列を指定する場合と数値比較を指定する場合の違いについて、具体例を交えて説明してください。」
応用的な概念の質問
  • 「SUMIF関数でワイルドカードを使った部分一致検索をする方法について、前方一致・部分一致・後方一致の数式例とその動作原理を教えてください。」
  • 「SUMIF関数とIFERROR関数を組み合わせることで、エラー値が含まれるデータの条件付き合計をどのように計算できますか?数式例とその動作原理を教えてください。」
演習問題の要求
  • 「SUMIF関数とSUMIFS関数を使ったExcelの演習問題を3つ作成してください。問題文と、それぞれに対応する数式、計算結果の例を提示してください。」

生成AIに業務課題を相談しSUMIF関数で解決する実践例

なぜ業務課題解決に生成AIを使うのか?

生成AIは、以下の点で業務課題解決に貢献します。

  • 複雑な要件への対応:ユーザーの具体的な業務要件に基づいた数式の提案が可能です。
  • 最適な関数選定の支援:SUMIF関数だけでなく、SUMIFS関数やピボットテーブルなど、状況に応じた最適な手法選びをサポートします。
  • 効率的な数式構築:冗長な手作業を減らし、効率的な数式を構築するためのヒントを提供します。
課題解決手順とプロンプト例(Gemini/ChatGPT共通)

具体的な課題設定と現状説明

  • 「Excelで月次の売上データ(A列に日付、B列に商品カテゴリ、C列に売上金額)があります。このデータから、特定のカテゴリ(例:『食品』)の総売上を計算したいのですが、どのようなSUMIF関数を使えば良いですか?具体的な数式を教えてください。」
  • 「Excelで顧客データ(A列に顧客名、B列に地域、C列に購入金額)があります。特定の地域(例:『関東』を含む地域名)の購入金額合計をSUMIF関数で集計するための数式を教えてください。」

エラー処理や応用的な相談

  • 「上記(特定カテゴリの総売上)のデータに、一部入力ミスで文字列やエラー値が含まれる可能性があります。これらを無視して数値のみを正確に合計するにはどうすれば良いですか?複数の方法があれば教えてください。」
  • 「売上データで、金額が1000円以上かつ特定の部門の売上のみを集計したいです。SUMIF関数とSUMIFS関数のどちらを使うべきか、それぞれの数式例とメリット・デメリットを教えてください。」

注意点

  • 機密性の高い実データはAIに入力せず、ダミーデータや抽象化した情報を用いるようにしてください。
  • AIの回答は、誤情報を含む可能性があるため、必ずExcelで実際に試して最終確認を行ってください。

生成AI利用時の注意点と補足

生成AIは強力なツールですが、利用には以下の注意点があります。

AIの情報の正確性

AIの生成する情報は完璧ではないため、必ずExcelで検証することが重要です。AIが事実に基づかない情報を生成する現象(ハルシネーション)についても理解しておくことをお勧めします。

プロンプトの質

より良い回答を引き出すためには、具体的で明確なプロンプトを作成することが鍵となります。効果的な指示方法については、詳細記事をご参照ください。

情報セキュリティとプライバシー

業務データをAIに入力する際は、情報漏洩のリスクを考慮する必要があります。機密性の高いデータの取り扱いや安全な活用方法については、AI利用における情報セキュリティで詳しく解説しています。

まとめ:SUMIF関数をマスターしてデータ集計のプロフェッショナルへ

SUMIF関数の重要性と日々の業務への活用

SUMIF関数は、条件付きデータ集計における最も重要な関数の一つです。シンプルな構文でありながら、文字列検索、ワイルドカード、数値比較など、幅広い条件設定に対応し、日常業務の効率化に大きく貢献します。

売上分析、予算管理、在庫集計、顧客データ分析など、あらゆるビジネスシーンで活用できる汎用性の高さが、SUMIF関数の最大の魅力です。

適切な条件設定とエラー対策を理解することで、データ分析の精度と効率を大幅に向上させることができるでしょう。

さらなる効率化のための次のステップ

SUMIF関数を十分に理解した後は、以下のステップで更なるスキル向上を目指しましょう:

  1. 関連関数の学習:SUMIF関数を習得した後は、複数条件での集計が可能なSUMIFS関数の学習もお勧めします。実際、ExcelではMAXIFS関数やMINIFS関数は存在しますが、MAXIF関数やMINIF関数は存在しないなど、複数条件対応版が標準となっています。SUMIFS関数は、SUMIF関数の上位互換として、単一条件でも複数条件でも同様に使用できるため、実務では非常に重宝します。その他、AVERAGEIF関数(条件付き平均)、COUNTIF関数(条件付きカウント)なども併せて学習すると効果的です
  2. 他の基本関数との組み合わせAVERAGE関数COUNT関数などとの連携を試す
  3. ピボットテーブルの活用:大量データの集計にはピボットテーブルも効果的
  4. 実践的なデータ分析:SUMIF関数を活用したデータ分析の基本にも挑戦してみましょう
  5. 生成AIの活用:ChatGPTやGeminiなどを使った効率的な学習や業務課題解決も検討してみましょう

これらのスキルを段階的に身につけることで、データ活用のプロフェッショナルとして、より価値の高い業務に集中できるようになります。SUMIF関数の習得は、その重要な第一歩となるでしょう。