※本ページにはプロモーション(広告)が含まれています
「SUMIF関数を使ったのに結果が0になってしまう」「条件に合うはずのデータが合計されない」「#VALUE!エラーが出て困っている」——Excelを使っていると、こうしたSUMIF関数のトラブルに直面することがよくあります。
実はSUMIF関数が正しく動作しない原因の多くは、データの型の不一致・条件の書き方・スペースの混入といった、ちょっとした落とし穴にあります。このガイドでは、よくある原因を7つに分類し、それぞれの対処法をわかりやすく解説します。
この記事でわかること
- SUMIF関数の基本構文と正しい使い方
- 結果が0になる・合計されない主な原因と解決方法
- 数値と文字列の型の違いによる問題とVALUE関数での修正方法
- ワイルドカード・比較演算子の正しい書き方
- TRIM関数で空白・スペースを除去する方法
- 日付条件・絶対参照のよくある間違いと対策
- SUMIFSとの使い分けと複数条件の設定方法
- #VALUE!エラーの原因と対処法
SUMIF関数の基本構文
トラブルを解決する前に、まずSUMIF関数の正しい構文を確認しておきましょう。
| 引数 | 説明 | 例 |
|---|---|---|
| 範囲 | 条件を検索するセル範囲 | A2:A100 |
| 条件 | 集計対象を絞り込む条件(数値・文字列・セル参照・比較演算子など) | “東京”, “>1000”, B2 |
| 合計範囲 | 合計する数値が入ったセル範囲(省略可) | C2:C100 |
基本的な使用例
たとえば、A列に「商品名」、B列に「売上金額」があるとき、商品名が「りんご」の売上合計を求めるには次のように書きます。
この構文が正しく動作しているかを確認したうえで、以下の原因チェックに進みましょう。
原因1:数値と文字列の型の違い(最も多いトラブル)
SUMIF関数が0を返す原因のうち、最も多いのが「見た目は数字なのに、Excelが文字列として認識している」パターンです。
症状の確認方法
セルの値が「数値」か「文字列」かを見分けるには、以下の点をチェックしてください。
- セルの内容が左揃えになっている → 文字列として認識されている可能性が高い
- セルの左上に小さな緑の三角マークがある → Excelが「数値らしき文字列」として警告している
- セルの書式設定が「文字列」になっている
対処法1:VALUE関数で数値に変換する
文字列として入力されている数値をVALUE関数で数値に変換します。
変換後の値を別の列に作成してから、SUMIF関数の参照先をその列に変更します。
対処法2:列ごと一括変換する(貼り付け技)
- 空白のセルに「1」を入力してコピー(Ctrl+C)する
- 文字列数値が入ったセル範囲を選択する
- 右クリック → 「形式を選択して貼り付け」を選ぶ
- 「演算」欄で「乗算」を選択して「OK」をクリックする
この操作で、文字列の数値が数値データに一括変換されます。
対処法3:SUMIF側でVALUEを使う
合計範囲のデータが文字列数値の場合、SUMPRODUCT関数と組み合わせることで対応できます。
原因2:条件の書き方ミス
SUMIF関数の条件(第2引数)は、書き方のルールが細かく決まっています。ちょっとした記述ミスで条件が一致しなくなります。
比較演算子は文字列として書く
「1000以上」「0より大きい」などの条件を書くときは、比較演算子をダブルクォーテーションで囲む必要があります。
| やりたいこと | 正しい書き方 | 間違った書き方 |
|---|---|---|
| 1000以上 | “>=1000” | >=1000 |
| 0より大きい | “>0” | >0 |
| 100以下 | “<=100" | <=100 |
| 0以外(空欄除外) | “<>0″ | <>0 |
セル参照と比較演算子を組み合わせる
条件をセルの値と比較したい場合は、演算子とセル参照を「&」でつなぎます。
D2セルに1000と入力されていれば、「1000以上」の条件でSUMIFが動作します。
ワイルドカードで部分一致条件を設定する
「〇〇を含む」「〇〇で始まる」といった部分一致の条件を指定するには、ワイルドカード文字を使います。
| ワイルドカード | 意味 | 使用例 | マッチする例 |
|---|---|---|---|
| * | 0文字以上の任意文字列 | “東京*” | 東京、東京都、東京23区 |
| ? | 任意の1文字 | “東?” | 東京、東大(2文字のみ) |
| ~* | ワイルドカードをエスケープ(*自体を検索) | “~*” | 「*」という文字自体 |
=SUMIF(A2:A100, “*りんご*”, B2:B100)
原因3:空白・スペース・改行が含まれる場合
データを外部システムからコピーしたとき、見た目には気づかない先頭・末尾の半角スペースや全角スペースが混入していることがあります。これがSUMIF条件の不一致を引き起こします。
スペースの有無を確認する方法
次の数式でセルの文字数を確認します。もし内容が「東京」(2文字)なのに3以上の数値が返ってきたら、スペースが混入しています。
TRIM関数で余分なスペースを除去する
TRIM関数は、文字列の先頭・末尾の余分なスペースと、単語間の連続スペースを取り除きます。
修正したデータを別の列に作成してから、SUMIF関数の参照先をその列に変更してください。
SUBSTITUTE関数で全角スペースも除去する
TRIM関数は半角スペースには対応していますが、全角スペースは除去できません。全角スペースが混入している場合はSUBSTITUTE関数を組み合わせます。
「 」の部分には全角スペースを入力します。これでTRIM後に残った全角スペースもまとめて除去できます。
CLEAN関数で改行文字を除去する
セル内改行(Alt+Enterで挿入した改行)が含まれている場合、CLEAN関数で取り除けます。
原因4:日付条件の扱い方
SUMIF関数で日付を条件にする場合、いくつかの注意点があります。
日付の比較演算子の書き方
日付条件は、比較演算子と日付文字列を組み合わせて指定します。
セル参照で日付を指定する場合
日付が入力されているセルを参照するときは、TEXT関数でシリアル値を文字列に変換して使います。
または、DATEVALUE関数を組み合わせる方法もあります。
D2に日付シリアル値が入っている場合は、そのまま「&」でつなぐ方法でも動作することがあります。ただし、日付の書式設定が文字列になっている場合は前者のTEXT関数を使う方法が確実です。
日付範囲で集計する(月別集計など)
特定の月だけを集計したい場合は、SUMIFS関数で開始日と終了日を両方指定します。
原因5:絶対参照・相対参照のミス
SUMIF関数を複数のセルにコピーして使う場合、範囲が相対参照になっていると、コピー先でずれてしまうことがあります。
相対参照と絶対参照の違い
| 参照の種類 | 記述例 | コピー時の動作 |
|---|---|---|
| 相対参照 | A2:A100 | コピー先に合わせてずれる |
| 絶対参照 | $A$2:$A$100 | ずれない(固定される) |
| 複合参照(行のみ固定) | A$2:A$100 | 行はずれない、列はずれる |
正しい絶対参照の書き方
範囲は固定して条件セルだけを変化させたい場合、次のように書きます。
D2は相対参照にしておくことで、数式をD3、D4……とコピーしたとき、D3、D4の値で条件が変化します。「$」は「F4」キーを押すことで切り替えられます。
原因6:SUMIFSとの使い分け(複数条件での集計)
「条件が2つ以上ある」場合にSUMIFを使うと、うまく動作しないことがあります。2つ以上の条件を指定するにはSUMIFS関数を使いましょう。
SUMIF vs SUMIFS の違い
| 関数 | 条件数 | 構文 | 引数の順番 |
|---|---|---|---|
| SUMIF | 1つのみ | SUMIF(範囲, 条件, 合計範囲) | 合計範囲は最後 |
| SUMIFS | 複数(最大127組) | SUMIFS(合計範囲, 条件範囲1, 条件1, …) | 合計範囲が最初 |
SUMIFSの使用例
「地域が東京」かつ「売上が1000以上」の合計を求める場合:
OR条件(いずれか)を扱いたい場合
SUMIFSはAND条件(すべて一致)のみ対応しています。OR条件(いずれか一致)を扱うには、複数のSUMIFを合計します。
原因7:#VALUE!エラーの対処法
#VALUE!エラーはSUMIF関数でも発生することがあります。主な原因と対処法を確認しましょう。
#VALUE!エラーの主な原因
| 原因 | 症状 | 対処法 |
|---|---|---|
| 範囲のサイズが異なる | 範囲と合計範囲の行数が違う | 範囲と合計範囲を同じ行数にそろえる |
| 3D参照(複数シート参照) | Sheet1:Sheet3!A1 のような参照 | SUMIF は3D参照非対応。シートを統合するかSUMPRODUCTを使う |
| 配列数式との競合 | Ctrl+Shift+Enterで入力されている | 通常のEnterで入力し直す |
| 条件の文字数が255文字超 | 条件文字列が極端に長い | 条件を短くする or セル参照に変更する |
IFERROR関数でエラーを隠す
一時的にエラーを非表示にしたい場合は、IFERROR関数を組み合わせます。
ただし、エラーの根本原因を解消せずにIFERRORで隠すだけでは問題が残りますので、必ず原因を調べて修正してください。
実用例:売上集計シートでSUMIFを活用する
例1:商品別売上集計
A列に商品名、B列に売上金額が入ったリストから、商品別の合計金額を別シートに集計する例です。
別シートを参照する場合は、シート名を「’」(シングルクォート)で囲み、「!」の後に範囲を指定します。スペースを含むシート名は必ずシングルクォートで囲んでください。
例2:在庫管理で特定カテゴリの在庫数を集計
A列にカテゴリ、B列に商品名、C列に在庫数があるとき、カテゴリ「電子機器」の在庫合計を求めます。
例3:月別・担当者別の売上集計(SUMIFS)
A列に担当者名、B列に売上日(日付型)、C列に売上金額がある場合、特定の担当者の1月分の売上を集計します。
SUMIF・SUMIFS・COUNTIFの使い分け比較表
| 関数 | 用途 | 条件数 | 返す値 | こんな時に使う |
|---|---|---|---|---|
| SUMIF | 条件付き合計 | 1つ | 合計値 | 商品Aの売上合計 |
| SUMIFS | 複数条件付き合計 | 複数(AND) | 合計値 | 東京の1月の売上合計 |
| COUNTIF | 条件付きカウント | 1つ | 件数 | 商品Aの販売件数 |
| COUNTIFS | 複数条件付きカウント | 複数(AND) | 件数 | 東京で1000円以上の件数 |
| AVERAGEIF | 条件付き平均 | 1つ | 平均値 | 商品Aの平均単価 |
トラブルシューティング:チェックリスト
SUMIF関数が正しく動作しない場合は、以下のチェックリストで原因を絞り込んでください。
SUMIF問題チェックリスト
- □ 合計範囲の数値が左揃えになっていないか(文字列の疑い)
- □ セルに緑の三角マークが表示されていないか
- □ 比較演算子(>=など)をダブルクォートで囲んでいるか
- □ セル参照と演算子を「&」でつないでいるか
- □ 条件に余分なスペースが含まれていないか(LEN関数で確認)
- □ 日付条件はTEXT関数で文字列に変換しているか
- □ 数式をコピーした際に範囲がずれていないか($で固定)
- □ 条件が2つ以上ならSUMIFではなくSUMIFSを使っているか
- □ SUMIFSで「合計範囲」が最初の引数になっているか
- □ 別シート参照で「’」(シングルクォート)を使っているか
参考:おすすめのExcel学習書籍
SUMIF関数を含むExcelの関数をより深く学びたい方には、以下の書籍がおすすめです。
- Excel 最強の教科書(完全版)【毎日の業務が劇的に効率化する一冊】 – 関数の基礎から応用まで体系的に学べる一冊
- できるExcel 関数 Office 365/2019/2016/2013/2010対応 – 関数の使い方を図解でわかりやすく解説
よくある質問(FAQ)
まとめ
ExcelのSUMIF関数が正しく動作しない原因と解決策をまとめます。
SUMIF問題の主な原因と対処法まとめ
- 数値と文字列の型の違い → VALUE関数や「貼り付け&乗算」で数値に変換
- 比較演算子の書き方ミス → ダブルクォートで囲む / セル参照は「&」でつなぐ
- スペース・改行の混入 → TRIM関数・SUBSTITUTE関数・CLEAN関数で除去
- 日付条件のミス → TEXT関数でシリアル値を文字列に変換
- 絶対参照の漏れ → 「$」を付けて範囲を固定する
- 複数条件はSUMIFS → 引数の順番(合計範囲が最初)に注意
- #VALUE!エラー → 範囲のサイズをそろえ、3D参照を避ける
SUMIF関数のトラブルの大半は、データの型とスペースの問題です。まずLEN関数でデータの文字数を確認し、次に型の確認(左揃え・緑三角マーク)を行うことで、原因を素早く特定できます。このガイドのチェックリストを活用して、確実に問題を解消してください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!