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 つあります。
製品テーブルでの使い方を見てみましょう。
「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()
|
|
動作
|
一致する値を合計
|
一致するセルをカウント
|
|
結果の種類
|
合計値
|
件数
|
|
合計範囲が必要か
|
必要
|
不要
|
|
適用に最適
|
売上や工数などの合計
|
出現回数などの頻度
|
一方は 合計、もう一方は件数を返します。元の売上表で並べて見てみましょう。
ここでは 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() に進む合図です。
Excel で
SUMIF()を使うには、=SUMIF(range, criteria, [sum_range])と入力します。ここで、rangeは判定対象のセル範囲、criteriaは一致させたい条件、sum_rangeは合計するセル範囲です。これにより、フィルターや手作業での加算をせずに、特定の条件を満たす値だけを合計できます。この記事では、
SUMIF()の構文を詳しく分解し、手順を追った例を解説し、SUMIF()をSUMIFS()やCOUNTIF()といった関連関数と比較し、初心者が混乱しがちなミスについても取り上げます。Excel の SUMIF() 関数とは?
SUMIF()は、あなたが指定した条件を満たす数値だけを合計する Excel 関数です。平たく言えば、Excel に「何を探すか」を伝えると、一致した値だけを足してくれます。単純な SUM() 公式 は範囲のすべてを合計します。一方で
SUMIF()はより選別します。各セルを条件に照らして確認し、合格したものだけを加算します。一致しないセルは Excel がスキップします。例えば、次のような場合にこの関数を使えます。
SUMIF()は、全体の合計ではなく、その一部だけが必要なときに最適です。SUMIF() の構文
SUMIF()の構文は次のとおりです。この構文では、
range: 条件の判定対象となるセル範囲です。ここを見て一致・不一致を判断します。criteria: 範囲内で何を探すかを示します。語句、数値、あるいは「>100」のような記号を含む表現でも構いません。sum_range(省略可): 一致が見つかったときに実際に合計する数値のある範囲です。省略した場合は、range自体の値を合計します。3 つの要素がどのように連携するか、簡単な例で見てみましょう。
この数式では、
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()が加算する値は、条件が一致した行と同じ行の値でなければなりません。ここまでで、数式は次のようになります。
このように動作します。
最終結果は 490
SUMIF() で製品売上を合計。画像: 著者作成。
SUMIF() の例
ここからは、
SUMIF()が役立ついくつかの場面を見ていきます。条件の種類が少しずつ異なるので、1 つずつ取り上げます。指定値より大きい/小さい数値の合計
特定の語句と一致させるのではなく、ある数値より上や下のものを拾いたい場合があります。
売上が 100 を超えるものの合計を得るには、次のように書きます。
この表では、100 を超える値は 120、150、110、130 です。これらを合計すると 510 になります。
ここでは判定対象と合計範囲が同じです。数値自体を判定しており、別の列に照合していないためです。
売上が 50 未満の場合の合計は、次のようになります。
この表には 50 未満の値がないため、エラーではなく一致なしとして 0 を返します。
より大きい/小さい条件に一致する数値の合計。画像: 著者作成。
日付の合計
日付は Excel では数値として保存されます。各日付は固定の起点からの通し番号です。そのため、通常の数値と同様に比較演算子を日付にも使えます。
たとえば C 列に注文日があり、2026 年 3 月 1 日 以降の売上合計を求めたいとします。数式は次のようになります。
下のスクリーンショットでは、一致した日付とその合計をハイライトしています。
ここでは日付を直接入力する代わりに
DATE()関数を使用しています。これは地域設定によって Excel の日付の解釈が異なる可能性があるため、エラーを避けるのに有効です。もし特定の月、たとえば 2026 年 3 月 の費用を求めるなら、単一点ではなく範囲を確認するので 1 つではなく 2 つの条件が必要になります。
これはまさに
SUMIF()の限界で、詳細は後述の比較セクションで扱います。SUMIF() による日付条件一致の売上合計。画像: 著者作成。
条件にセル参照を使う
これまで条件は「Apples」や「>100」のように直接入力してきました。これは動作しますが、柔軟性に欠けます。別の製品を確認するたびに数式を編集しなければなりません。
より良い方法は、セル参照を使うことです。たとえば A6 セルに Grapes という語があるとします。数式は次のようになります。
これで Grapes の値をすべて合計できます。別の製品を確認したいときは A6 の内容を変えるだけで、数式自体は触らずに済みます。
条件のハードコードではなくセル参照を使用。画像: 著者作成。
SUMIF() でワイルドカードを使う方法
ワイルドカードは、正確なテキストがわからないときにパターンで一致させます。例えば、正確な語は不明だが頭文字が B の語だとわかっている場合などです。
SUMIF()で使えるワイルドカードは 2 つあります。*任意の文字列(0 文字、1 文字、何文字でも)に一致します。?ちょうど 1 文字に一致します。製品テーブルでの使い方を見てみましょう。
「A」で始まる製品
頭文字が A のすべての製品の売上合計を出したいとします。 「Apples」「Apricots」「Avocados」「Almonds」 それぞれに個別の数式を書く代わりに、ワイルドカード 1 つでまとめて対応できます。
文字 A の後ろのアスタリスクは、「A に続く任意の文字列」に一致させるという意味です。表の中で A で始まる製品がすべて対象になります。つまり 120 + 90 + 60 + 75 で 345 になります。
* ワイルドカードで「A」で始まる製品を抽出。画像: 著者作成。
特定の文字列を含む名称
ワイルドカードは語の中間でも使えます。例えば、名前のどこかに「an」を含むすべての製品を対象にしたいとします。これは Bananas と Oranges の両方を拾います。
この場合の数式は次のようになります。
両側のアスタリスクは、an の前後に何が来ても構わない、という意味です。テキストのどこかに an が含まれていれば一致と見なします。
この数式を表に適用すると、Bananas と Oranges の売上が合計され、175 になります。
* は特定の文字(列)を含む製品を抽出。画像: 著者作成。
* ではなく ? を使う場面
?はちょうど 1 文字に一致します。例えば製品コードがあり、文字 A の後にちょうど 1 桁の数字が続くコードだけを対象にしたいなら、次のように書きます。これは A1、A2、A3 に一致しますが、A10 や A11 のように A の後に 2 文字あるものは一致しません。
? ワイルドカードでパターン一致。画像: 著者作成。
まとめ:
文字数が変動する場合は
*を使う。期待する文字数が正確に決まっている場合は
?を使う。SUMIF() と SUMIFS() の比較
SUMIFS() は
SUMIF()と同じ役割を果たします。SUMIF()は 1 つの条件だけを判定。SUMIFS()は複数の条件を同時に判定。簡単に比較します。
SUMIF()
SUMIFS()
条件数
1 つ
複数
構文の順序
最初に範囲、次に条件
最初に合計範囲、次に範囲と条件の組
適用に最適
単一条件のシンプルな合計
複数条件に依存する合計
SUMIFS() の構文は次のとおりです。
SUMIF()との違いは、sum_rangeの位置です。SUMIF()では最後、SUMIFS()では最初に書きます。例で確認しましょう。
売上表で、Apples のうち、売上が 100 より大きいものだけの合計を求めるとします。条件は 2 つです。
SUMIF()と違い、SUMIFS()なら対応できます。次のようにします。ここでは、B2:B11 が先頭の
sum_rangeです。次に条件の組として、A2:A11 と Apples、B2:B11 と >100 を指定します。Excel は各行で両方の条件を確認し、両方満たす場合にだけ売上を加算します。SUMIFS() は複数条件を同時に判定。画像: 著者作成。
SUMIF() と COUNTIF() の比較
SUMIF()と COUNTIF() は、いずれも条件を確認してから処理を行う点は似ていますが、役割は異なります。SUMIF()は条件に一致する値を合計します。COUNTIF()は条件に一致するセル数を数えます。簡単に比較します。
SUMIF()
COUNTIF()
動作
一致する値を合計
一致するセルをカウント
結果の種類
合計値
件数
合計範囲が必要か
必要
不要
適用に最適
売上や工数などの合計
出現回数などの頻度
一方は 合計、もう一方は件数を返します。元の売上表で並べて見てみましょう。
ここでは Apples について、次の 2 点を知りたいとします。
売上合計には
SUMIF()を使います。製品が Apples の各行の売上を合計し、490 になります。
件数には
COUNTIF()を使います。これは 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() に進む合図です。