COUNTIF関数で特定の文字「で始まる/で終わる/を含む」セルを数える

COUNTIF関数で「○○で始まる/○○で終わる/○○を含む」セルを数える

COUNTIF関数で特定の文字「で始まる(前方一致)/で終わる(後方一致)/を含む(部分一致)」を数える方法を学習します。ここで案内する設定は、他の条件付き集計関数(AVERAGEIFSUMIFCOUNTIF,  AVERAGEIFSSUMIFSCOUNTIFS,MAXIFS,MINIFS)でも使用可能です。

COUNTIF関数の書式は

=COUNTIF(範囲,検索条件)

となります。基本的な使い方に関しては別記事[関数で特定の文字のセルを数える]をご参照ください。
ここでは[検索条件]において「で始まる/で終わる/を含む」を指定してみます。

「ワイルドカード・*」を有効に使います。

ワイルドカード

*」は「何が何文字入ってもよし」とされる特殊な文字列です(何もなくてもよい)。
ワイルドカード」と呼びます。
もう1つ「?」もワイルドカードになりますが、こちらは「何が入ってもよしとするが1文字に限る」特殊文字列となります。

これを使って以下のようなあいまい検索の設定が可能になります。
文字データ・ワイルドカードは「」で囲みます。

  • 「橋」で始まる・・・”橋*”
  • 「橋」で終わる・・・”*橋”
  • 「橋」を含む・・・”*橋*”

また「橋」のようなキーワードではなくセルを指定することも可能です。たとえばセルB2を使うと

  • B2で始まる・・・B2 & “*”
  • B2で終わる・・・”*” & B2
  • B2を含む・・・”*” & B2 & “*”

となります。セルは「」の外部にセットする必要があります。
そして文字列とセルは「&」で連結する必要があります。

さて以下の表においてB列に[「崎」を含む】セルの数をセルE2に算出します。

メンバー住所キーワード検索結果1検索結果2
A10001横浜市
A10002川崎市
A10003中央区
A10004北区
A10005横須賀市
A10006高崎市
A10007大浜区

[範囲]は「B2:B8」、[検索条件]は「”*崎*”」となります。
したがって以下の計算式になります。

=COUNTIF(B2:B8,"*崎*")

次はセルF2に[セルD2の文字を含む]セルの数を算出します。

[D2を含む]は「“*” &D2 & “*”」となります。したがって

=COUNTIF(B2:B8,"*"&D2&"*")

の計算式を作成します。

完成サンプルファイルのダウンロード

このページで解説した設定が使える他の関数

このページで解説した設定は下記の「条件付き集計関数」の引数「条件」「検索条件」で共通して使用可能です。

  • 検索対象が単一条件のみ
    • COUNTIF: 指定した範囲内で特定の条件に一致するセルの数をカウントします。
    • SUMIF: 指定した範囲内で特定の条件に一致するセルの合計値を計算します。
    • AVERAGEIF: 指定した範囲内で特定の条件に一致するセルの平均値を計算します。
  • 検索対象に複数の条件が使用可能(複数指定時はAND条件処理)
    • COUNTIFS: 複数の条件を満たすセルの数を範囲内でカウントします。
    • SUMIFS: 複数の条件を満たすセルの合計値を範囲内で計算します。
    • AVERAGEIFS: 複数の条件を満たすセルの平均値を範囲内で計算します。
    • MAXIFS: 複数の条件を満たすセルの中での最大値を取得します。
    • MINIFS: 複数の条件を満たすセルの中での最小値を取得します

またこのページで解説した方法以外の「条件」「検索条件」の解説は下記のページを参照してください。

条件付き集計関数の「(検索)条件」についての完全解説
条件付き集計関数:概要「条件付き集計関数」は、特定の条件を満たすデータを対象に集計を行うExcelの関数群です。これにはAVERAGEIF, SUMIF, COUNTIFなどの関数があり、これらは単一の条件を基にデータを集計します。さらに高...