Tracks
Excel で SUMIF() を使うには、=SUMIF(range, criteria, [sum_range]) と入力します。ここで、range は判定対象のセル範囲、criteria は一致させたい条件、sum_range は合計するセル範囲です。これにより、フィルターや手作業での加算をせずに、特定の条件を満たす値だけを合計できます。
この記事では、SUMIF() の構文を詳しく分解し、手順を追った例を解説し、SUMIF() を SUMIFS() や COUNTIF() といった関連関数と比較し、初心者が混乱しがちなミスについても取り上げます。
Excel の SUMIF() 関数とは?
SUMIF() は、あなたが指定した条件を満たす数値だけを合計する Excel 関数です。平たく言えば、Excel に「何を探すか」を伝えると、一致した値だけを足してくれます。
単純な SUM() 公式 は範囲のすべてを合計します。一方で SUMIF() はより選別します。各セルを条件に照らして確認し、合格したものだけを加算します。一致しないセルは Excel がスキップします。
例えば、次のような場合にこの関数を使えます。
- 小売店で、特定の1商品だけの売上合計を知りたい。
- 支出を管理していて、食料品や家賃など特定カテゴリの合計を出したい。
- チームを管理していて、特定の従業員の稼働時間だけを合計したい。
SUMIF() は、全体の合計ではなく、その一部だけが必要なときに最適です。
SUMIF() の構文
SUMIF() の構文は次のとおりです。
=SUMIF(range, criteria, [sum_range])
この構文では、
-
range: 条件の判定対象となるセル範囲です。ここを見て一致・不一致を判断します。 -
criteria: 範囲内で何を探すかを示します。語句、数値、あるいは「>100」のような記号を含む表現でも構いません。 -
sum_range(省略可): 一致が見つかったときに実際に合計する数値のある範囲です。省略した場合は、range自体の値を合計します。
3 つの要素がどのように連携するか、簡単な例で見てみましょう。
=SUMIF(A2:A11, "Apples", B2:B11)
この数式では、
-
A2:A10 が range(判定対象)で、ここで Apples を探します。
-
Apples が criteria(一致させたい語)です。
-
B2:B10 が
sum_range(一致した売上数値がある範囲)です。
つまり、A 列で Apples を探し、一致のたびに同じ行の B 列の数値を加算します。

条件に基づいて値を合計するために SUMIF() を適用。画像: 著者作成。
Excel で SUMIF() を使う方法
Excel で SUMIF() を使うには、次の手順に従ってください。
手順 1:範囲を特定する
以下のデータセットを例として使用します。

SUMIF() 用データセット。画像: 著者作成。
条件を適用する範囲を選択します。今回は Apples を検索したいので、Product 列にある A2:A11 が範囲になります。
手順 2:条件を設定する
今回必要なのは Apples なので、criteria は Apples です。
条件は数式に直接入力しても、条件を含むセルを参照しても構いません。ここでは直接入力するため、テキストなので二重引用符で囲む必要があります。
手順 3:合計範囲を設定する合計範囲は実際の数値がある場所です。売上を合計したいので、合計範囲は B2:B11 になります。
合計範囲は、検索対象の範囲と同じサイズ・位置である必要はありません。ただし行ごとに対応している必要があります。つまり、SUMIF() が加算する値は、条件が一致した行と同じ行の値でなければなりません。
ここまでで、数式は次のようになります。
=SUMIF(A2:A11, "Apples", B2:B11)
このように動作します。
- 行 2 は Apples なので、120 が加算されます。
- 行 3 は Oranges なのでスキップされます。
- 行 4 は再び Apples なので、150 が加算されます。
- 同様に、行 8 と 11 でも一致するため、90 と 130 が加算されます
最終結果は 490

SUMIF() で製品売上を合計。画像: 著者作成。
SUMIF() の例
ここからは、SUMIF() が役立ついくつかの場面を見ていきます。条件の種類が少しずつ異なるので、1 つずつ取り上げます。
指定値より大きい/小さい数値の合計
特定の語句と一致させるのではなく、ある数値より上や下のものを拾いたい場合があります。
売上が 100 を超えるものの合計を得るには、次のように書きます。
=SUMIF(B2:B11, ">100", B2:B11)
この表では、100 を超える値は 120、150、110、130 です。これらを合計すると 510 になります。
ここでは判定対象と合計範囲が同じです。数値自体を判定しており、別の列に照合していないためです。
売上が 50 未満の場合の合計は、次のようになります。
=SUMIF(B2:B11, "<50", B2:B11)
この表には 50 未満の値がないため、エラーではなく一致なしとして 0 を返します。

より大きい/小さい条件に一致する数値の合計。画像: 著者作成。
日付の合計
日付は Excel では数値として保存されます。各日付は固定の起点からの通し番号です。そのため、通常の数値と同様に比較演算子を日付にも使えます。
たとえば C 列に注文日があり、2026 年 3 月 1 日 以降の売上合計を求めたいとします。数式は次のようになります。
=SUMIF(C2:C11, ">"&DATE(2026,3,1), B2:B11)
下のスクリーンショットでは、一致した日付とその合計をハイライトしています。
ここでは日付を直接入力する代わりに DATE() 関数を使用しています。これは地域設定によって Excel の日付の解釈が異なる可能性があるため、エラーを避けるのに有効です。
もし特定の月、たとえば 2026 年 3 月 の費用を求めるなら、単一点ではなく範囲を確認するので 1 つではなく 2 つの条件が必要になります。
これはまさに SUMIF() の限界で、詳細は後述の比較セクションで扱います。

SUMIF() による日付条件一致の売上合計。画像: 著者作成。
条件にセル参照を使う
これまで条件は「Apples」や「>100」のように直接入力してきました。これは動作しますが、柔軟性に欠けます。別の製品を確認するたびに数式を編集しなければなりません。
より良い方法は、セル参照を使うことです。たとえば A6 セルに Grapes という語があるとします。数式は次のようになります。
=SUMIF(A2:A11, A6, B2:B11)
これで Grapes の値をすべて合計できます。別の製品を確認したいときは A6 の内容を変えるだけで、数式自体は触らずに済みます。

条件のハードコードではなくセル参照を使用。画像: 著者作成。
SUMIF() でワイルドカードを使う方法
ワイルドカードは、正確なテキストがわからないときにパターンで一致させます。例えば、正確な語は不明だが頭文字が B の語だとわかっている場合などです。
SUMIF() で使えるワイルドカードは 2 つあります。
-
*任意の文字列(0 文字、1 文字、何文字でも)に一致します。 -
?ちょうど 1 文字に一致します。
製品テーブルでの使い方を見てみましょう。
「A」で始まる製品
頭文字が A のすべての製品の売上合計を出したいとします。 「Apples」「Apricots」「Avocados」「Almonds」 それぞれに個別の数式を書く代わりに、ワイルドカード 1 つでまとめて対応できます。
=SUMIF(A2:A8, "A*", B2:B8)
文字 A の後ろのアスタリスクは、「A に続く任意の文字列」に一致させるという意味です。表の中で A で始まる製品がすべて対象になります。つまり 120 + 90 + 60 + 75 で 345 になります。

* ワイルドカードで「A」で始まる製品を抽出。画像: 著者作成。
特定の文字列を含む名称
ワイルドカードは語の中間でも使えます。例えば、名前のどこかに「an」を含むすべての製品を対象にしたいとします。これは Bananas と Oranges の両方を拾います。
この場合の数式は次のようになります。
=SUMIF(A2:A8, "*an*", B2:B8)
両側のアスタリスクは、an の前後に何が来ても構わない、という意味です。テキストのどこかに an が含まれていれば一致と見なします。
この数式を表に適用すると、Bananas と Oranges の売上が合計され、175 になります。

* は特定の文字(列)を含む製品を抽出。画像: 著者作成。
* ではなく ? を使う場面
? はちょうど 1 文字に一致します。例えば製品コードがあり、文字 A の後にちょうど 1 桁の数字が続くコードだけを対象にしたいなら、次のように書きます。
=SUMIF(A2:A7, "A?", B2:B7)
これは A1、A2、A3 に一致しますが、A10 や A11 のように A の後に 2 文字あるものは一致しません。

? ワイルドカードでパターン一致。画像: 著者作成。
まとめ:
-
文字数が変動する場合は
*を使う。 -
期待する文字数が正確に決まっている場合は
?を使う。
SUMIF() と SUMIFS() の比較
SUMIFS() は SUMIF() と同じ役割を果たします。
-
SUMIF()は 1 つの条件だけを判定。 -
SUMIFS()は複数の条件を同時に判定。
簡単に比較します。
|
SUMIF() |
SUMIFS() |
|
|
条件数 |
1 つ |
複数 |
|
構文の順序 |
最初に範囲、次に条件 |
最初に合計範囲、次に範囲と条件の組 |
|
適用に最適 |
単一条件のシンプルな合計 |
複数条件に依存する合計 |
SUMIFS() の構文は次のとおりです。
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …)
SUMIF() との違いは、sum_range の位置です。SUMIF() では最後、SUMIFS() では最初に書きます。
例で確認しましょう。
売上表で、Apples のうち、売上が 100 より大きいものだけの合計を求めるとします。条件は 2 つです。
SUMIF() と違い、SUMIFS() なら対応できます。次のようにします。
=SUMIFS(B2:B11, A2:A11, "Apples", B2:B11, ">100")
ここでは、B2:B11 が先頭の sum_range です。次に条件の組として、A2:A11 と Apples、B2:B11 と >100 を指定します。Excel は各行で両方の条件を確認し、両方満たす場合にだけ売上を加算します。

SUMIFS() は複数条件を同時に判定。画像: 著者作成。
SUMIF() と COUNTIF() の比較
SUMIF() と COUNTIF() は、いずれも条件を確認してから処理を行う点は似ていますが、役割は異なります。
-
SUMIF()は条件に一致する値を合計します。 -
COUNTIF()は条件に一致するセル数を数えます。
簡単に比較します。
|
SUMIF() |
COUNTIF() |
|
|
動作 |
一致する値を合計 |
一致するセルをカウント |
|
結果の種類 |
合計値 |
件数 |
|
合計範囲が必要か |
必要 |
不要 |
|
適用に最適 |
売上や工数などの合計 |
出現回数などの頻度 |
一方は 合計、もう一方は件数を返します。元の売上表で並べて見てみましょう。
ここでは Apples について、次の 2 点を知りたいとします。
- 合計でいくら売れたか
- 一覧の中で Apples は何回現れるか
売上合計には SUMIF() を使います。
=SUMIF(A2:A11, "Apples", B2:B11)
製品が Apples の各行の売上を合計し、490 になります。
件数には COUNTIF() を使います。
=COUNTIF(A2:A11, "Apples")
これは Apples を含む行数を数え、4 を返します。

COUNTIF() はセルに現れる回数をカウント。画像: 著者作成。
COUNTIF() は合計するものがないため範囲と条件だけで済みます。これに対し SUMIF() はどこかから数値を引いて合計するので、合計範囲も必要です。
SUMIF() のよくあるミス
シンプルな数式でも、ちょっとしたミスは入り込みます。よくあるミスと、その直し方を紹介します。
範囲の不一致
判定範囲と合計範囲が行ごとに対応していない場合に起こります。例えば判定範囲が A2:A11 なのに、合計範囲が B2:B10 の場合、1 行分のズレが生じ、エラーメッセージなしに合計が間違うことがあります。
対処法:両方の範囲が同じ行から始まり、同じ行で終わるようにします。判定範囲が A2:A11 なら、合計範囲も 2 行目から 11 行目までにします。
合計範囲の指定漏れ
B 列を合計したいのに、条件は A 列で判定するとしましょう。もし数式に A2:A11 と条件だけを書いて合計範囲を省くと、Excel は A 列自体を合計すると解釈します。そのため結果が誤ってしまいます。
対処法:判定する列と合計する列が異なる場合は、必ず合計範囲を指定します。両者が同じ列であれば省略も可能ですが、明確さのために記載することをおすすめします。
条件の書式ミス
>100 を引用符なしで書くとエラーになります。">100" のように二重引用符で囲む必要があります。シングルクォートでもエラーになります。
対処法:テキストや比較記号を含む条件は必ず引用符で囲みます。100 のような単独の数値を一致させる場合は引用符は不要です。記号や語を含む時点で引用符が必要です。
数値が文字列として保存されている
見た目は数値でも、Excel が文字列として扱っている場合があります。これは CSV ファイルやシステムのエクスポートから取り込んだときによく起こります。
この場合、Excel は通常テキストを左寄せ表示するため、数値が左寄せになっていると気づくことがあります。
こうしたときに ">100" のような比較を使う SUMIF() は正しく動作しません。Excel は文字列を数値と同じようには比較できないためです。
対処法:文字列を数値に変換します。[ホーム]タブ > [数値]グループで、ドロップダウンから[標準]または[数値]を選択します。
テキスト値の余分なスペース
例えば、あるセルは「Apples"、別のセルは末尾にスペースのある「Apples 」だとします。見た目は同じでも、SUMIF() には別物と見なされ一致しません。
対処法:数式を実行する前にTRIM() 関数で余分なスペースを取り除きます。これで "Apples" と "Apples " が同一として扱われます。
SUMIF() のベストプラクティス
スプレッドシートが大きくなるほど、SUMIF() を使いやすくする習慣が役立ちます。以下をおすすめします。
-
条件はハードコードせずセル参照を使う:数式に直接「Apples」と入力しても動きますが、別の項目を確認するたびに数式を編集する必要が出ます。セルを参照すれば、そのセルの値を変えるだけで済み、数式はそのままで構いません。
-
範囲のサイズを揃える:判定範囲と合計範囲は常に同じ行数をカバーするようにします。一方が 2 行目から 11 行目まで、もう一方が 10 行目で終わっていると、合計が正しく対応しません。
-
拡張するデータには Excel テーブルを使う:通常の範囲(A2:A11 など)は、データが増えても自動で新しい行を含みません。データを Excel テーブルに変換しましょう。テーブルは行追加に合わせて自動拡張され、
SUMIF()の参照範囲も一緒に広がるため、手動更新は不要です。 -
簡単な例で数式を検証する:答えがわかっている 5~6 行で期待通りの結果になるかを確認します。数百行に広げる前に初期のミスを検出できます。
-
条件が複数なら SUMIFS() を使う:製品と日付範囲など、同時に 2 つ以上を確認する必要が出たら
SUMIFS()に切り替えます。SUMIF()で無理に対応しようとすると、読みにくく壊れやすい回避策になりがちです。
まとめ
SUMIF() は、1 つの条件に合致する値を合計する最もシンプルな方法です。範囲、条件、合計範囲を指定すれば、あとは関数が処理してくれます。
まずは製品名の一致や、ある値より大きい数値といった単純な条件から始めてください。慣れてきたら、ワイルドカードやセル参照を使うことで、内部の仕組みを変えずに柔軟性を高められます。
同時に 2 つ以上を確認する必要が出てきたら、SUMIFS() に進む合図です。
複雑なテーマをわかりやすくすることが好きなコンテンツストラテジストです。Splunk、Hackernoon、Tiiny Host などの企業で、読者にとって魅力的で有益なコンテンツの制作を支援してきました。
FAQs
SUMIF() 関数は大文字・小文字を区別しますか?
いいえ。SUMIF() は大文字・小文字を区別しません。例えば、条件が "Apples"、"APPLES"、"apples" のいずれでも、同じセルに一致します。
SUMIF() の数式で「等しくない」を使うには?
二重引用符で囲んだ <> 演算子を使います。例えば、次の数式は Apples 以外のすべての製品の売上を合計します。
=SUMIF(A2:A10,"<>Apples",B2:B10)
SUMIF() は別のワークシートの値も合計できますか?
はい。ワークシート名をセル範囲の前に含めます。
=SUMIF(Sales!A2:A100,"Apples",Sales!B2:B100)
ワークシート名にスペースが含まれる場合は、単一引用符で囲みます。
=SUMIF('Monthly Sales'!A2:A100,"Apples",'Monthly Sales'!B2:B100)
なぜ SUMIF() の数式で Excel がカンマではなくセミコロンを使うのですか?
Excel の引数セパレーターは PC の地域設定に依存します。地域によってはカンマではなくセミコロンを使用します。
そのため同じ数式が次のように表示されることがあります。
=SUMIF(A2:A10;"Apples";B2:B10)
動作は同じで、区切り記号だけが異なります。
SUMIF() は名前付き範囲でも使えますか?
はい。名前付き範囲を使うと、数式が読みやすくなります。A 列と B 列にそれぞれ Products、Sales と名前を付けた場合、数式は次のようになります。
=SUMIF(Products,"Apples",Sales)
名前付き範囲は、同じ行をカバーするように揃えてください。
