Excelでデータを集計する際、「特定の文字列を含むセルだけ数えたい」という要望はよくあります。「○○という文字を含む」「複数条件で文字列含む」「除外する文字列条件」など、多様なケースでCOUNTIFS関数とワイルドカードを組み合わせるとはかどります。この記事では、これらのケースをわかりやすく整理し、実務で使える最新情報を交えて解説します。
Excel COUNTIFS 文字列 含む条件で集計する基本
ExcelのCOUNTIFS関数は、複数の条件を同時に指定してセルを数えることができる強力な関数です。その中で「文字列を含む」条件、すなわち部分一致を含む条件を扱うときの基本を押さえておきましょう。範囲(criteria_range)と条件(criteria)の組み合わせで指定し、条件部分にワイルドカードを使うことで「含む」を実現できます。条件は文字列で指定するため、引用符で囲むことと、ワイルドカード記号の使い方に注意が必要です。複数範囲を指定する場合は、範囲同士が同じサイズであることが原則です。
COUNTIFSの基本構文と役割
COUNTIFS関数の基本の形は次のとおりです。第1引数に検索範囲、続けてその範囲に対する条件を指定し、必要であれば第2引数以降に別の範囲と条件ペアを追加できます。複数条件すべてを満たすセル(行)をカウントするため、AND条件が標準です。また、1つの条件のみであればCOUNTIF関数で十分なことがあります。
部分一致(文字列を含む)条件の設定方法
文字列を含む条件を指定するには、条件にワイルドカード「*」を使います。例えば、A列のセルで「営業」という文字を含むものを数えるときは、=COUNTIFS(A2:A100, "*営業*")
のようにします。「*」は任意の文字列、0文字以上を表します。また条件をセル参照で指定する場合は、=COUNTIFS(A2:A100, "*" & 某セル & "*")
と記述します。セル参照を使うと、検索対象を柔軟に切り替えられるため実務で重宝します。
注意点:大文字・小文字や特殊記号など
部分一致の条件付けで注意する点としては、まずExcelでは文字列の大文字・小文字は区別されないということです。つまり「営業」でも「営 業」でも一致とみなされます。また、検索文字列やセルの先頭・末尾に余分な空白がないか確認が必要です。ワイルドカード自体(* ?)を文字として検索したいときは、チルダ「~」を使ってエスケープ処理を行います。
COUNTIFSで文字列を含む複数条件を組み合わせる応用

データを絞り込む際には、文字列を含む条件と他の条件(数値範囲・日付・等しい/異なるなど)を組み合わせるケースが多いです。ここではCOUNTIFS関数で文字列含む条件と他の条件のAND条件、またOR条件に類似する処理を行う方法を解説します。
文字列含む条件と数値・日付条件の組み合わせ
たとえば、「住所欄で『東京』を含む」かつ「売上が1000以上」の件数を集計したい場合、以下のように記述します。=COUNTIFS(住所範囲, "*東京*", 売上範囲, ">=1000")
このように、文字列含む条件は範囲とワイルドカード付き文字列で、数値や日付の条件は比較演算子で指定します。条件範囲のセル数が一致していれば複数指定可能です。
複数の文字列をすべて含む場合(AND条件)
あるセル内に複数の文字列をすべて含ませたいときには、COUNTIFSを重ねるか、複数条件を同じ範囲に対して指定します。例えば、「東京」と「営業」を含むセルを数えるには次のようにします。=COUNTIFS(A2:A100, "*東京*", A2:A100, "*営業*")
この式は、対象セルに「東京」かつ「営業」の両方の文字列が含まれるもののみをカウントします。
複数の文字列のいずれかを含む場合(簡易的なOR条件)
COUNTIFSは標準ではAND条件ですが、OR条件を扱いたいケースではCOUNTIFSとSUMを組み合わせます。たとえば、「東京を含む」または「大阪を含む」セルの数を数えたいときは、=COUNTIFS(A2:A100, "*東京*") + COUNTIFS(A2:A100, "*大阪*")
のようにして各条件を個別にカウントして合算します。ただし、この方法では「東京と大阪の両方を含む」セルが重複して数えられる可能性があるので、重複排除が必要なときは別の工夫が要ります。
COUNTIFSならではの特殊ケースとその対処

実務では「含む」条件が絡むと、意図した通りに動かないケースも出てきます。ここでは、よくある特殊なケースと、それに対する実践的な対応策を解説します。
ワイルドカード文字そのものを含むセルを数えたいとき
アスタリスク「*」や疑問符「?」を文字として含むデータを数えたいとき、それらをワイルドカードとして解釈させてはいけません。そのような場合、条件にチルダ「~」を付けてエスケープします。たとえば、「*」という文字を含むセルは、=COUNTIFS(A2:A100, "*~**")
のように記述します。これで「*」を通常の文字として扱うようになります。
255文字を超える長い文字列を含む条件の問題
Excelには、条件文字列が255文字を超えると部分一致のワイルドカードを使う条件で誤った結果を返すことがあるという制限があります。このような長い文字列を扱う必要がある場面では、文字列を複数の部分に分けて結合したり、別の関数を併用したりすることで回避できます。たとえば、文字列を & 演算子で複数に分けて連結するという方法があります。
セル参照を使う動的な検索条件の設定
条件を固定文字列ではなく、セル内の文字列を参照するようにすると非常に柔軟になります。例えば、検索語をセルC1に入力し、それを元に「含む条件」を作る場合、=COUNTIFS(A2:A100, "*" & C1 & "*")
のようにします。この形式だと、検索語を変えるだけで条件を切り替えられるので、複数のキーワードを検討する際にも効率的です。
Excel COUNTIFS 文字列 含む応用的な実践例と比較
ここまでに学んだCOUNTIFSの文字列含む条件を、実際の業務でどう活用するか、比較しながら応用例を見ていきます。複数のデータセットや条件を比較することにより、最適な式の設計ができるようになります。
前方一致・後方一致との比較
「含む」条件は前方一致や後方一致とも似ていますが、それらとの違いを理解しておく必要があります。前方一致とは「文字列で始まる」、後方一致とは「文字列で終わる」条件です。前方一致は 条件文字列&"*"、後方一致は "*"&条件文字列 のように書きます。含むはその両方を組み合わせた「*検索語*」の形です。用途に応じてどのパターンが適切かを選ぶことが大切です。
COUNTIFとの違いと適切な使い分け
COUNTIFは条件が単一のとき優れていますが、複数の条件(AND条件など)を扱いたいときはCOUNTIFSを使う必要があります。前述の例のように、文字列を含む条件+数値条件などがあるとき、COUNTIFSの方が自然で可読性も高くなります。一方、OR条件を扱う際はCOUNTIFの複数呼び出し+合算という形が簡易で使いやすいです。
複数範囲にまたがる条件の指定
COUNTIFSでは複数の範囲と条件ペアを指定できます。たとえば、列Aの内容にある文字列を含み、列Bで数値範囲を指定し、列Cは特定の文字列を含むもの、という条件をまとめて指定できます。ただし、各範囲の縦横のサイズが一致していないとエラーになるため、範囲の整合性を確認することが重要です。
Excel COUNTIFS 文字列 含むでよくあるトラブルと解決策

「含む」条件を使う際に陥りやすいトラブルと、その解決策を把握しておくと、エラー防止や結果の信頼性向上につながります。
余分な空白・見た目に見えない文字による誤差
データのセルに余分な前後空白や全角・半角スペース、非表示文字(改行コードなど)があると、「含む」条件が思っていたものと異なる結果になることがあります。TRIM関数やCLEAN関数を使って事前処理をすることでこうした問題を防げます。
文字列長制限とパフォーマンスの問題
条件指定に使用する文字列が長くなると、Excel側で処理が重くなる場合があります。特に大きなデータセット(数万~数十万件以上)では、ワイルドカードを頻繁に含む式は計算時間やメモリ使用量に影響します。可能な限り検索語をシンプルにし、必要ならフィルターや補助列を使うとよいでしょう。
OR条件での重複カウントを避ける方法
先に述べたように、OR条件を簡易的に実現しようとすると重複カウントのリスクがあります。重複を避けたい場合は、次のような方法が使えます。たとえば、SUMPRODUCT関数を使うか、COUNTIFSで除外条件を併用する、もしくはユニーク関数などで重複を集約してからカウントする方法が考えられます。
IF関数や他の関数との組み合わせでさらに柔軟に
COUNTIFSだけでは対処しきれないケースもあり、他の関数と組み合わせることで解決できることがあります。式の可読性や保守性を保ちつつ、多様な条件に対応できるようになるでしょう。
SUMPRODUCTを使って複雑な条件でOR処理を行う
OR条件を含む処理を一つの式で行いたいときは、SUMPRODUCT関数を使って真偽値を掛け合わせたり足し合わせたりする方法があります。たとえば、複数の文字列含む条件をひとつの範囲に対してOR条件で設定したいとき、=SUMPRODUCT(--(範囲1="*東京*")+--(範囲1="*大阪*")>0)
のような式を使えば、「東京または大阪を含む」セルを1回だけカウントできます。
配列数式や動的配列機能の活用
最新のExcelでは動的配列機能があり、配列数式を使うことで条件の組み合わせをより自由に操作できます。たとえば、検索語をリスト化して一括で評価する、UNIQUE関数で重複を排除してから集計するなど、作業の効率化につながります。
実例:アンケートデータで複数回答を含むセルの集計
アンケートで「複数回答」や「選択肢がカンマなどで区切られている」セルを集計する場合、「含む」条件が必要です。例えば、選択肢「デザイン」「トレンド」を含むセルを調べたいとき、検索語をセルに入力し、=COUNTIFS(回答範囲, "*" & C1 & "*")
の形を使うと、複数回答の中に目的の語句を含むものも正しく集計できます。こうしたケースではワイルドカードとセル参照が組み合わさるパターンが特に役立ちます。
まとめ
ExcelでCOUNTIFS関数を使って文字列を含む条件でセルを数えるには、ワイルドカード「*」「?」をうまく使うことが肝心です。特に「*検索語*」の形を使うことで、含む条件をシンプルに指定できます。
また、文字列含む条件と数値や日付などの他の条件を組み合わせることで、より実践的な集計が可能になります。AND条件はCOUNTIFSで、OR条件はSUM+COUNTIFSやSUMPRODUCTの活用が有効です。
特殊なケース、たとえばワイルドカード自体を文字として扱いたい場合、文字列長が255文字を超える場合、セルに見えない空白や特殊文字が混ざっている場合などにも気を配ることで、誤差のない集計ができます。
これらの方法を実際のデータで試してみて、最も合った設計を選んで使いこなしていけば、Excelによる文字列検索を含む集計作業は格段に効率的になります。
コメント