Excelで「特定の文字を含むセルの件数を数えたい」ときは、COUNTIF関数でワイルドカードの*を使えばすぐ解決できます。仕事中によくある「商品名に特定の語句が入っている行だけ数えたい」「メモ欄に特定ワードを含む件数を集計したい」といった場面で便利ですよ。

結論:COUNTIFで「文字列を含む」を数える関数

=COUNTIF(A:A,"*りんご*") で、A列の中から「りんご」を含むセルの件数を数えられます。

ポイントは、検索したい文字列の前後に*を付けることです。*は「0文字以上の文字列」を表すので、「前に何があっても、後ろに何があってもOK」という意味になります。

  • =COUNTIF(A:A,"*りんご*"):りんごを含むセルを数える
  • =COUNTIF(B2:B100,"*株式会社*"):株式会社を含むセルを数える
  • =COUNTIF(C:C,"*東京*"):東京を含むセルを数える

完全一致ではなく「含まれていればOK」という条件にしたいときは、この形を覚えておけば大丈夫です。

COUNTIFで文字列を含む件数を数える手順

ここでは、A列にある文字データの中から「りんご」を含むセルの件数を数える手順を紹介します。初心者の方でも迷わないように、順番に進めましょう。

  1. 件数を表示したい空いているセルをクリックします。
  2. =COUNTIF(と入力します。
  3. 数えたい範囲を指定します。例:A:A または A2:A100
  4. 続けてカンマを入力します。
  5. 条件をダブルクォーテーション付きで入力します。例:"*りんご*"
  6. 最後に)を入力してEnterキーを押します。

完成形は次のようになります。

=COUNTIF(A:A,"*りんご*")

もし範囲を列全体ではなく一部だけにしたいなら、次のように指定すればOKです。

=COUNTIF(A2:A200,"*りんご*")

セル参照で検索文字を変えられる形にする

毎回関数を書き換えるのが面倒なときは、検索したい文字を別セルに入れて、そのセルを参照すると便利です。たとえばE1セルに「りんご」と入力しておけば、関数は次のようにできます。

=COUNTIF(A:A,"*"&E1&"*")

この形なら、E1の文字を変えるだけで集計条件も切り替わります。日々の確認作業や集計表でかなり時短になりますよ。

よく使う応用パターン

前方一致・後方一致で数える

「含む」だけでなく、「〜で始まる」「〜で終わる」もCOUNTIFで対応できます。

  • =COUNTIF(A:A,"りんご*"):りんごで始まる
  • =COUNTIF(A:A,"*りんご"):りんごで終わる
  • =COUNTIF(A:A,"*りんご*"):りんごを含む

ワイルドカードの位置で意味が変わるので、ここはセットで覚えておくと便利です。

複数条件で絞り込みたいとき

「文字列を含む」条件に加えて、別の条件も付けたい場合はCOUNTIFSを使います。たとえば、A列に「東京」を含み、B列が「完了」の件数を数えるなら次のように書けます。

=COUNTIFS(A:A,"*東京*",B:B,"完了")

単純な1条件ならCOUNTIF、2つ以上の条件ならCOUNTIFSと考えると分かりやすいです。

クリック操作で関数を入れる流れ

キーボード入力が苦手な方は、Excelの関数入力補助を使うと安心です。

  1. 結果を表示したいセルをクリックします。
  2. 数式バーの左にあるfxをクリックします。
  3. 関数の検索欄にCOUNTIFと入力して検索します。
  4. 候補からCOUNTIFを選んでOKをクリックします。
  5. 「範囲」に、数えたいセル範囲を指定します。
  6. 「検索条件」に*りんご*のように入力します。
  7. OKをクリックします。

この方法なら、カッコやカンマの位置で迷いにくいので、関数に不慣れな方にもおすすめです。

上手くいかないときのチェックポイント

COUNTIFで「含む」の件数が合わないときは、だいたい次のどれかが原因です。ひとつずつ確認してみてください。

1. アスタリスクが抜けている

"りんご"と書くと完全一致になります。含む条件にしたいなら、必ず"*りんご*"のように前後に*を付けましょう。

2. ダブルクォーテーションがない

検索条件を直接書く場合は、文字列をダブルクォーテーションで囲む必要があります。たとえば=COUNTIF(A:A,*りんご*)ではエラーになります。正しくは=COUNTIF(A:A,"*りんご*")です。

3. 全角と半角、スペース違いがある

見た目が同じでも、「ABC」と「ABC」、「東京」と「東京 」のように中身が違うことがあります。特にコピーしたデータやWebから貼り付けた文字列では、余分なスペースが入りやすいです。

  • 前後の空白を消すならTRIM関数を使う
  • 全角半角の違いを目視で確認する
  • 元データを一度別セルで整える

4. 検索文字をセル参照しているのに結果が0になる

セル参照を使うときは、次のように&でつなぐ必要があります。

=COUNTIF(A:A,"*"&E1&"*")

"*E1*"のように書いてしまうと、E1という文字そのものを探してしまうので注意してください。

5. ワイルドカードそのものを検索したい

まれに、セル内の*?という記号自体を探したいことがあります。この場合はそのままだとワイルドカードとして扱われるため、前に~を付けます。

  • =COUNTIF(A:A,"*~**"):アスタリスクを含むセルを数える
  • =COUNTIF(A:A,"*~?*"):クエスチョンマークを含むセルを数える

COUNTIFとSEARCHの違いも知っておくと便利

件数を数えるだけならCOUNTIFで十分ですが、「含むかどうかを行ごとに判定したい」ときはSEARCH関数も使えます。たとえば「A2にりんごが含まれていたらOK」と判定したい場合は、ISNUMBERと組み合わせて使います。

=ISNUMBER(SEARCH("りんご",A2))

ただし、今回のように「何件あるか」を素早く知りたいなら、やはりCOUNTIFのほうがシンプルで使いやすいです。

最後に:一緒に覚えたい時短ワザ

COUNTIFを使う場面では、範囲指定やコピーの操作もよく出てきます。次の時短ワザも一緒に覚えておくと作業がさらに速くなりますよ。

  • Ctrl + C:コピー
  • Ctrl + V:貼り付け
  • Ctrl + D:上のセルの数式を下へコピー
  • F4:直前操作の繰り返し、または数式編集中に絶対参照へ切り替え
  • Ctrl + Shift + ↓:データ末尾まで一気に選択

特に、検索文字を入れたセルを参照して集計表を作るときは、関数をコピーして使うことが多いので、ショートカットを知っているだけでかなり楽になります。

ExcelでCOUNTIFの「文字列を含む」は、まず"*文字列*"の形を覚えればOKです。うまく動かないときは、アスタリスク、ダブルクォーテーション、セル参照のつなぎ方を順番に見直してみてください。そこが直れば、ほとんどのケースはすぐ解決できます。

おすすめの記事