「特定の条件を満たすデータだけを合計したい」というニーズは、ビジネスの集計作業で毎日のように発生します。ExcelのSUMIF関数とSUMIFS関数は、まさにその要求に応える関数です。SUMIF関数は1つの条件に合うセルを合計し、SUMIFS関数は複数の条件を同時に満たすセルを合計します。SUM関数だけでは対応できない「東京支店の売上合計だけ出したい」「男性かつ30代の購入金額を集計したい」といった実務課題を、数式1本で解決できます。本記事ではSUMIF・SUMIFS関数の基本構文から、ワイルドカード・日付条件・複数条件の実践パターン・よくあるエラーの対処法まで、2026年最新版で体系的に解説します。MOS Excel 365試験の出題ポイントについても詳しく説明するので、試験対策にも活用してください。
SUMIF関数とは何か(基本概念と活用メリット)
SUMIF関数が解決する「条件付き集計」の問題
SUMIF関数は「指定した条件に一致するセルの値を合計する」関数です。例えば売上リストに「支店名」「売上金額」の2列があるとき、「東京支店の売上だけを合計したい」という処理をSUM関数だけで行うには、まず東京支店の行を目視で選んで足し算する必要があります。データが数百行・数千行になると手作業は現実的ではありません。SUMIF関数を使えば「=SUMIF(支店名の範囲,”東京”,売上金額の範囲)」という1本の数式で瞬時に集計できます。
SUMIF関数を活用するメリットは3つあります。第一に、大量データでも条件に合う値を瞬時に集計できること。第二に、データが追加されても合計範囲を広くしておけば自動で集計対象に含まれること。第三に、条件を変えればさまざまな切り口での集計が簡単にできること。Excel中級者への登竜門的な関数であり、MOS Excel 365試験では全体問題の8~12%を占める頻出分野です。
SUMIF関数の基本構文(3つの引数)
SUMIF関数の構文は「=SUMIF(範囲, 検索条件, 合計範囲)」です。引数は3つあります。①「範囲」は条件を照合するセル範囲で、例えば「A2:A100」のように列全体を指定します。②「検索条件」は照合する条件で、「”東京”」のように文字列はダブルクォーテーションで囲みます。数値や比較演算子を使う場合は「”>100″」のように演算子を含む文字列として書きます。③「合計範囲」は条件に合致した行の中で実際に合計する値が入っている範囲です。
「合計範囲」を省略すると「範囲」自体が合計対象になります。例えば「=SUMIF(A2:A100,”>0″)」とするとA2:A100の中でプラスの値だけを合計します。条件には「=」(等しい)「>」(大きい)「<」(小さい)「>=」(以上)「<=」(以下)「<>」(等しくない)の比較演算子が使えます。また「*」(任意の文字列)「?」(任意の1文字)のワイルドカードも使用可能です。
SUMIF関数の引数に日付条件を使う方法
日付の比較条件をSUMIF関数に使う場合は比較演算子と組み合わせます。「=SUMIF(B2:B100,”>=”&DATE(2026,1,1),C2:C100)」とすると2026年1月1日以降の行の合計を求められます。「&」で演算子文字列とDATE関数の結果を連結するのがポイントです。DATE関数を使わずに「”>=2026/1/1″」と直接書く方法もありますが、環境によっては日付の認識が不安定になるため、DATE関数との組み合わせが確実です。
TODAY関数を組み合わせて「今月分だけ合計する」数式も実務でよく使います。「=SUMIF(B2:B100,”>=”&EOMONTH(TODAY(),-1)+1,C2:C100)」は当月1日以降のデータを合計します。EOMONTH(TODAY(),-1)で前月末日を求め、+1で当月1日を算出しています。日付条件は実務の週報・月次集計で頻繁に登場するパターンなのでしっかり押さえておきましょう。
SUMIF関数のワイルドカードと部分一致の使い方
ワイルドカード「*」を使った部分一致集計
SUMIF関数の検索条件にワイルドカード「*」を使うと、特定の文字を「含む」条件で集計できます。「=SUMIF(A2:A100,”*東京*”,C2:C100)」とすると、A列に「東京」という文字列を含むすべての行(「東京支店」「東京本社」「東京第二営業所」等)のC列の値を合計します。前方一致は「”東京*”」、後方一致は「”*東京”」、完全一致は「”東京”」(ワイルドカードなし)です。
「?」は任意の1文字に一致します。「=SUMIF(A2:A100,”??支店”,C2:C100)」とすると「2文字+支店」(「東京支店」「大阪支店」等)のみが集計対象になり、「東京第一支店」(5文字+支店)は対象外になります。文字数を絞り込む必要があるときに活用できます。ワイルドカードを文字として検索したい場合(「*」や「?」そのものを探す場合)は、「~*」「~?」のようにチルダを前置します。
別シートのデータを参照するSUMIF関数の書き方
別シートのデータを参照する場合は範囲に「シート名!」を付けます。「=SUMIF(Sheet2!A2:A100,”東京”,Sheet2!C2:C100)」のように書くと、Sheet2のA列が「東京」に一致する行のC列を合計します。シート名にスペースや記号が含まれる場合はシングルクォーテーションで囲んで「=SUMIF(‘売上データ2026′!A2:A100,”東京”,’売上データ2026’!C2:C100)」と書きます。別ブックのデータを参照する場合は「[ブック名.xlsx]シート名!範囲」という形式になりますが、参照元ブックを開いた状態で数式を入力することを推奨します。
SUMIFS関数で複数条件を組み合わせる
SUMIFS関数の基本構文(SUMIF関数との違い)
SUMIFS関数の構文は「=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)」です。SUMIF関数と引数の順序が異なる点が最大の注意点です。SUMIF関数は「範囲→条件→合計範囲」ですが、SUMIFS関数は「合計範囲→条件範囲1→条件1→条件範囲2→条件2…」と合計範囲が最初に来ます。最大127組の条件範囲と条件を指定できます。
例えば「東京支店かつ商品カテゴリが食品の売上合計」は「=SUMIFS(C2:C100,A2:A100,”東京”,B2:B100,”食品”)」と書きます。SUMIFS関数はAND条件(すべての条件を同時に満たす行だけを合計)で動作します。OR条件(いずれかの条件を満たす行を合計)を実現したい場合は、条件ごとにSUMIF関数を呼び出して足し算する「=SUMIF(A2:A100,”東京”,C2:C100)+SUMIF(A2:A100,”大阪”,C2:C100)」という書き方か、後述のSUMPRODUCT関数を使います。
SUMIFS関数で日付の範囲(開始日~終了日)を指定する
日付の範囲を条件にするにはSUMIFS関数の条件を2つ組み合わせます。「=SUMIFS(C2:C100,B2:B100,”>=”&DATE(2026,4,1),B2:B100,”<="&DATE(2026,6,30))」とすると2026年4月1日から6月30日(第1四半期)の合計を求められます。同じ列(B列)を条件範囲として2回指定し、それぞれ「以上」と「以下」の条件を組み合わせるのがポイントです。このパターンは月次・四半期・年次集計の定番として頻繁に使われます。
セル参照を使って条件を可変にする書き方も実務では標準的です。「=SUMIFS(C2:C100,B2:B100,”>=”&E1,B2:B100,”<="&F1)」とすれば、E1セルに開始日、F1セルに終了日を入力するだけで集計期間を自由に変えられます。ダッシュボード型の集計表を作る場合に重宝するテクニックです。条件セルの書式が日付になっているか事前に確認してください。
SUMIFS関数とCOUNTIFS関数の組み合わせ活用
SUMIFS関数で合計を、COUNTIFS関数で件数を求める2本立ての集計は実務の定番パターンです。例えば「東京支店の売上合計と件数を同時に集計する」場合、合計は「=SUMIFS(C2:C100,A2:A100,”東京”)」、件数は「=COUNTIFS(A2:A100,”東京”)」と書きます。COUNTIFS関数の構文はSUMIFS関数から合計範囲を除いた形(「条件範囲1, 条件1, 条件範囲2, 条件2…」)です。合計÷件数で平均単価を算出するなど、2つを組み合わせた分析が実務で活躍します。
SUMIF・SUMIFS関数でよく発生するエラーと対処法
#VALUE!エラーの原因と解決策
#VALUE!エラーはSUMIF・SUMIFS関数で頻出するエラーです。主な原因は合計範囲に数値以外(文字列・空白)が混入していること、または引数の範囲のサイズが一致していないことです。合計範囲に「100円」のような単位付き文字列が入っていると数値として認識されないためエラーになります。対処法はVALUE関数で数値に変換するか、入力データ側を修正することです。
SUMIFS関数では条件範囲と合計範囲の行数(または列数)が一致していない場合も#VALUE!エラーが出ます。例えば合計範囲がC2:C100(99行)に対して条件範囲がA2:A101(100行)だとエラーになります。すべての範囲が同じ行数になっているかを確認してください。また条件範囲や合計範囲が複数列にまたがる指定(「A2:B100」のような2列範囲)はSUMIF・SUMIFS関数では使えません。必ず1列(または1行)の範囲を指定します。
条件が正しく一致しない場合のデバッグ方法
SUMIF関数が0を返す(条件が1件も一致しない)場合のデバッグ手順を説明します。まず検索条件の文字列とデータの間にスペースや全角半角の違いがないかを確認します。「東京 」(末尾スペースあり)と「東京」は別文字列として扱われます。TRIM関数でスペースを除去した範囲に対してSUMIFを実行するか、データ入力時にスペースが入らないよう制御することが根本解決です。
次にデータの型を確認します。数値に見えても文字列として保存されているセルはよくあります。ISNUMBER関数で確認し、文字列になっていればVALUE関数で数値化してから集計してください。比較演算子を使った条件では、演算子を文字列として指定していること(「”>100″」のようにダブルクォーテーションが必要)を確認します。「>100」と直接書くとエラーになります。セル参照と組み合わせるときは「”>”&E1」のように「&」で連結します。
0が返る意図しない集計と防御的な数式設計
SUMIF・SUMIFS関数が意図せず0を返すパターンとして、条件に一致する行が本当に存在しない場合と、合計範囲のセルが文字列「0」として入力されている場合があります。前者はCOUNTIF関数で件数を確認して判断します。「=COUNTIF(A2:A100,”東京”)」が0であれば条件に一致するデータ自体がないということです。後者はセルを選択して数式バーの左側の型表示(「数値」か「文字列」か)を確認してください。
集計結果が空欄または「-」を表示したい場合はIFERROR関数と組み合わせます。「=IFERROR(SUMIFS(C2:C100,A2:A100,E1),”-“)」とするとSUMIFS関数がエラーを返した場合に「-」を表示できます。ただしSUMIF・SUMIFS関数はエラー時以外は0を返すため、0の場合も「-」を表示させたい場合は「=IF(SUMIFS(…)=0,”-“,SUMIFS(…))」のようにIF関数で制御します。
MOS Excel試験でSUMIF・SUMIFS関数が出題される場面
MOS Excel 365試験でのSUMIF・SUMIFS出題パターン
MOS Excel 365試験においてSUMIF・SUMIFS関数は全体問題の8~12%を占める頻出分野です。代表的な出題タスクは「指定した条件に合うセルの合計をSUMIF関数で求めてください」という形式です。問題文に条件の列・合計の列・合計するセルが明記されます。例えば「B列の部署が”営業部”の場合に対応するC列の売上金額を合計するSUMIF関数を、D2セルに入力してください」のような問題です。
SUMIFS関数は「2つ以上の条件を同時に満たす行の合計を求める」問題で出題されます。問題文に「かつ」「AかつB」のような語が含まれる場合はSUMIFS関数のシグナルです。試験では関数名を正確に入力すること(SUMIF/SUMIFSを混同しない)と、引数の順序を誤らないことが合否を分けます。特にSUMIFS関数は合計範囲が最初に来る点(SUMIF関数と逆)を試験前に繰り返し確認してください。
試験でよくある操作ミスと対策
MOS試験でのSUMIF・SUMIFS関数のミスで最も多いのは引数の順序の混同です。SUMIF関数の引数順序「範囲→条件→合計範囲」とSUMIFS関数の「合計範囲→条件範囲1→条件1→…」を混同するケースが頻発します。入力補助のポップアップ(関数の引数ツールチップ)を確認しながら入力する習慣をつけると防止できます。関数の引数ダイアログ(Fx ボタン)を活用するのも有効な対策です。
比較演算子を使った条件のダブルクォーテーション忘れも頻繁に起こるミスです。「=SUMIF(A2:A100,>=100,C2:C100)」と書くと>=が演算子として解釈されエラーになります。「”>=”&100」または「”>=100″」が正しい書き方です。セル参照を条件に使う場合は「”>”&E1」のように演算子文字列とセル参照を「&」で連結します。試験問題では数値の条件とセル参照の条件が混在することがあるため、どちらのパターンかを問題文から判断する練習をしてください。
SUMIF・SUMIFS関数の試験対策学習順序
MOS Excel試験でSUMIF・SUMIFS関数を学習する効率的な順序を説明します。①SUMIF関数の基本(文字列一致)→②SUMIF関数の数値条件(比較演算子)→③ワイルドカードを使った部分一致→④SUMIFS関数の基本(2条件AND)→⑤SUMIFS関数の日付範囲条件の順が推奨です。各ステップで実際に手を動かしてExcelに数式を入力することが不可欠です。
①②を合計20~30回練習したら③に進み、同様の練習量を確保してください。MOS公式問題集やFOM出版のテキスト付属練習ファイルを使って、本番と同じ操作環境で繰り返すとより効果的です。SUMIF関数とSUMIFS関数の引数順序の違いを体に覚え込ませることが合格への近道です。試験では入力後に関数の引数ダイアログで引数が正しく入っているかを確認してから確定する習慣をつけてください。
【PR】MOS Excel 365 対策テキストはこちら
▶ Amazonで対策本を見る
※本記事はAmazonアソシエイトを含みます(PR)
SUMIF・SUMIFS・SUMPRODUCT関数の比較表
| 比較項目 | SUMIF関数 | SUMIFS関数 | SUMPRODUCT関数 |
|---|---|---|---|
| 条件の数 | 1つのみ | 最大127つ | 条件数に実質制限なし |
| AND条件 | 不可(1条件のみ) | 対応(全条件AND) | 対応 |
| OR条件 | 複数SUMIF合算で対応 | 複数SUMIFS合算で対応 | 配列演算で直接対応 |
| 引数の順序 | 範囲→条件→合計範囲 | 合計範囲→条件範囲1→条件1… | 配列1*配列2*…の構文 |
| ワイルドカード | 使える(* ?) | 使える(* ?) | 使えない(別処理必要) |
| 旧バージョン互換 | ◎(Excel 2003以降) | ○(Excel 2007以降) | ◎(Excel 2003以降) |
| MOS試験出題頻度 | ★★★(最頻出) | ★★★(最頻出) | ★(まれに出題) |
| 計算速度(大量データ) | ○(高速) | ○(高速) | △(大規模データで低速) |
よくある質問
SUMIF関数とSUMIFS関数はどちらを使うべきですか?
条件が1つだけならSUMIF関数、2つ以上ならSUMIFS関数を使います。SUMIFS関数は1条件でも使えるため、将来的に条件を追加する可能性がある場合は最初からSUMIFS関数で書いておくと拡張が楽です。注意点として両者は引数の順序が異なります。SUMIF関数は「範囲→条件→合計範囲」、SUMIFS関数は「合計範囲→条件範囲1→条件1→…」です。混同しないよう関数入力時のツールチップを必ず確認してください。
SUMIF関数でOR条件(AまたはBに一致する行の合計)はできますか?
SUMIF関数はAND条件しか扱えないため、OR条件は複数のSUMIF関数を足し算することで実現します。「東京または大阪の売上合計」は「=SUMIF(A2:A100,”東京”,C2:C100)+SUMIF(A2:A100,”大阪”,C2:C100)」と書きます。条件が多い場合はSUMPRODUCT関数で「=SUMPRODUCT(((A2:A100=”東京”)+(A2:A100=”大阪”)>0)*C2:C100)」のように書く方法もあります。ただしMOS試験ではSUMIF関数の足し算パターンが問われるケースが多いので、両方の書き方を把握しておくことを推奨します。
SUMIF関数の検索条件にセル参照を使うにはどうすればよいですか?
検索条件を文字列やセル参照に直接指定できます。「=SUMIF(A2:A100,E1,C2:C100)」とするとE1セルの値を条件として使います。比較演算子と組み合わせる場合は「”>”&E1」のように演算子文字列と「&」で連結します。例えば「=SUMIF(B2:B100,”>=”&E1,C2:C100)」はE1の値以上の行を合計します。セル参照を使うとダッシュボード型の集計表が作りやすくなり、条件セルの値を変えるだけで集計結果が即座に切り替わります。
MOS Excel試験でSUMIF関数はどれくらい出題されますか?
MOS Excel 365試験全体の約8~12%がSUMIF・SUMIFS関数関連のタスクです。全体35~40問中3~5問程度が対象とみてください。SUMIF関数の基本的な1条件集計からSUMIFS関数の複数条件集計まで幅広く出題されます。確実に得点するためには①引数の順序を体に覚え込ませること、②比較演算子をダブルクォーテーションで囲む書き方を反射的に出せること、の2点に集中して練習することが最重要です。
SUMIFS関数で空白セルを条件にするにはどうすればよいですか?
空白セルを条件にする場合は「””」をダブルクォーテーション2つで指定します。「=SUMIFS(C2:C100,B2:B100,””)」とするとB列が空白の行のC列を合計します。反対に空白でない行を合計するには「”<>“」を使います。「=SUMIFS(C2:C100,B2:B100,”<>“)」でB列に何か入力されている行のC列を合計できます。ISBLANK関数はSUMIF・SUMIFS関数の条件には使えないため、「””」や「”<>“」を使うことを覚えておいてください。
