COUNTIF関数で「○○で始まる/○○で終わる/○○を含む」セルを数える
COUNTIF関数で特定の文字「で始まる(前方一致)/で終わる(後方一致)/を含む(部分一致)」を数える方法を学習します。ここで案内する設定は、他の条件付き集計関数(AVERAGEIF
, SUMIF
, COUNTIF
, AVERAGEIFS
, SUMIFS
, COUNTIFS
,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&"*")
の計算式を作成します。
このページで解説した設定が使える他の関数
このページで解説した設定は下記の「条件付き集計関数」の引数「条件」「検索条件」で共通して使用可能です。
- 検索対象が単一条件のみ
- 検索対象に複数の条件が使用可能(複数指定時はAND条件処理)
- COUNTIFS: 複数の条件を満たすセルの数を範囲内でカウントします。
- SUMIFS: 複数の条件を満たすセルの合計値を範囲内で計算します。
- AVERAGEIFS: 複数の条件を満たすセルの平均値を範囲内で計算します。
- MAXIFS: 複数の条件を満たすセルの中での最大値を取得します。
- MINIFS: 複数の条件を満たすセルの中での最小値を取得します
またこのページで解説した方法以外の「条件」「検索条件」の解説は下記のページを参照してください。