「この表で、備考欄に何か入力されている行の金額だけを合計したいんだけど…」
「商品名に『限定』って入っているものだけを数えたいな」
Excelで集計作業をしていると、こんな風に「文字の有無」や「特定の文字」を条件にして計算したい場面はありませんか?
この記事では、このような悩みを解決する為に「文字を条件にした計算」をする方法を解説します。
Excelで「文字が入っている」を条件に計算する基本
Excelで「文字が入っている(=空欄ではない)」という条件で合計や個数を数えるには、条件付き集計関数を使います。その中でも最もよく使うのが、SUMIF関数とCOUNTIF関数です。
計算の主役!SUMIF関数とCOUNTIF関数の役割

これらの関数を使う上で最も重要なのが、「文字が入っている」という条件をExcelに伝えるための検索条件の記述方法です。
「文字が入っている(空欄ではない)」の条件の書き方
文字が入っていることを条件にするには、「等しくない」という意味の比較演算子< >(小なり記号と大なり記号)と、「空欄」を意味する” “(ダブルクォーテーション2つ)を組み合わせます。
条件の書き方
“< >”&””
意味
空欄ではない(=文字や数値など、何かが入力されている)

この条件をSUMIF関数やCOUNTIF関数の引数に設定することで、目的の計算が可能になります。
【実践編】文字が入っている行だけ「合計」する方法(SUMIF)
ここでは、具体的なデータを使ってSUMIF関数の使い方を見ていきましょう。
SUMIF関数を使って空欄を除外して合計する
以下の売上表を使って、備考欄(A列)に何か文字が入力されている行の売上金額(B列)だけを合計してみましょう。
【データ表】

【合計を求める数式】
合計を出したいセル(例: D2セル)に、以下の数式を入力します。
=SUMIF(A:A, “<>”&””, B:B)
【数式の意味】
この数式の結果、備考欄に文字が入っている行の金額(5,000 + 12,000 + 7,000)が合計され、24,000が算出されます。

【応用編】特定の文字を「含む」行だけ計算する方法
ここからは、さらに一歩進んだテクニックとして、セルに特定の文字が入っている場合を条件にする方法を解説します。
ワイルドカード「*」とSUMIF関数を組み合わせる
特定の文字(例: 「限定」)がセルの一部にでも含まれていれば条件に一致させるために、ワイルドカード(*)を使います。
検索条件の書き方
“限定“
意味
「限定」という文字が前後のどこに含まれていても一致
① 特定の文字を含む行だけ「合計」する(SUMIF)
以下の商品リストから、商品名(A列)に「Tシャツ」という文字が含まれる行の在庫数(B列)を合計します。
【データ表】

【合計を求める数式】
=SUMIF(A:A, “*Tシャツ*”, B:B)
【数式の意味】
この結果、「限定Tシャツ」「シンプルTシャツ」「Tシャツ(セール品)」の在庫数が合計され、15 + 25 + 10 = 50 が算出されます。

② 特定の文字を含むセルの「個数」を数える(COUNTIF)
商品名に「限定」が含まれる商品がいくつあるか、個数を数えたい場合は、COUNTIF関数を使います。
【個数を求める数式】
=COUNTIF(A:A, “*限定*“)
上記のデータ例では、結果は2(「限定Tシャツ」と「ポストカード(限定版)」の2つ)が算出されます。

【豆知識】複数の条件を指定して計算したい場合は?
もし、「A列に文字が入っていて、かつC列が『完了』となっている行」のように、複数の条件を満たすセルを計算したい場合は、SUMIFS関数を使います。
複数の条件すべてを満たす行の合計を求める関数
SUMIFS関数で「空欄ではない」と「特定の文字」をAND条件にする
「備考欄(A列)が空欄ではない」かつ「地域(C列)が東京」の売上金額(B列)を合計します。

【SUMIFSの基本構文】
=SUMIFS(合計対象の範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)
【数式と意味】
=SUMIFS(B:B, A:A, “<>”&””, C:C, “東京”)

SUMIFS関数は、SUMIFと引数の順番が違う(合計範囲が最初に来る)点にだけ注意して使ってみてくださいね。

【要注意!】文字を条件に計算するときの落とし穴と解決策
SUMIFやCOUNTIF関数は非常に便利ですが、思わぬエラーや計算ミスにつながる「落とし穴」がいくつかあります。
ここでは、特によくある3つの注意点と、その解決策をお伝えします。
注意点1:SUMIFとSUMIFSは「引数の順番」が違う!
これは特に混乱しやすいポイントです。
どちらの関数も条件付きの合計を求めますが、引数を記述する順番が異なります。
| 関数名 | 構文(引数の順番) |
|---|---|
| SUMIF (条件1つ) | =SUMIF(条件範囲, 検索条件, 合計範囲) |
| SUMIFS (条件複数) | =SUMIFS(合計範囲, 条件範囲1, 条件1, …) |
SUMIFSは、最初に合計範囲を指定します。
「複数の条件があるから、まずどこを合計するか決める!」と覚えておくと忘れにくいでしょう。
注意点2:条件範囲と合計範囲の「行数」を一致させる
SUMIF関数やSUMIFS関数を使う際、「条件範囲」と「合計範囲」は同じ行数(または列数)になるように設定するのが鉄則です。
たとえば、A列でA2:A100を条件範囲にしているのに、B列で合計範囲をB3:B101のようにずらしてしまうと、Excelは対応する行を正しく判断できず、意図しない結果になったり、#VALUE!エラーが出たりする原因になります。
もし、データが今後増える可能性がある場合は、A:A や B:B のように列全体を選択すると、範囲のズレを気にせず使えて便利です。
(ただし、合計範囲となる列に合計したくない数値が入っていないかだけは確認しましょう。)
注意点3:数値が「文字列」になっていると計算されない
合計したいはずのセルに数値が入っているのに、合計結果が「0」になってしまうことがあります。これは、その数値がExcel上で「文字列」として認識されているのが原因かもしれません。
確認方法
セル内の数値が左寄せになっていたり、セルの左上に緑色の三角が表示されていたりする場合、文字列として認識されている可能性が高いです。
- 文字列になっているセルを選択し、エラーチェックの「!マーク」をクリックして「数値に変換」を選びます。
- または、空いているセルに1を入力し、そのセルをコピーした後、文字列の数値が入ったセル範囲を選択し、「形式を選択して貼り付け」で「乗算」を選択して貼り付けます。
この「文字列になった数値」は、見た目は数字でも計算対象外になってしまうため、SUMIF系の関数を使う前には必ずチェックしてみてください。
まとめ:文字の計算はSUMIF・COUNTIF関数で解決!

この記事では、Excelで「文字が入っているところだけ」や「特定の文字を含むところだけ」を計算する方法を解説しました。
| やりたいこと | 使う関数・条件 |
|---|---|
| 空欄ではない行を合計したい | SUMIF関数と検索条件”<>”&”” |
| 空欄ではないセルの個数を数えたい | COUNTIF関数と検索条件”<>”&”” |
| 特定の文字を含む行を合計したい | SUMIF関数と検索条件”文字“(ワイルドカード) |
| 複数の条件を満たす行を合計したい | SUMIFS関数とそれぞれの条件 |
これらの関数とワイルドカードの組み合わせは、Excelでのデータ集計の幅を大きく広げてくれます。
もし今お使いのExcel表で「文字の有無で集計ができないかな?」と感じている部分があれば、ぜひ今日学んだテクニックを試してみてください。
最後までお読みいただき、ありがとうございました。
コメント