「住所に『東京』が含まれる件数を数えたい」「商品名に『りんご』が入っているものだけ集計したい」。こんなときは、COUNTIF関数の条件にワイルドカードを使います。
この記事では、部分一致で数えるための式の書き方を図解し、前方一致・後方一致のやり方や、セルの文字を条件にする方法まで説明します。
=COUNTIF(A2:A7,"*東京*")
COUNTIFで部分一致を数える基本の式
部分一致で数えるには、探したい文字の前後に「*(アスタリスク)」をつけます。「*」は「任意の文字列(0文字以上)」を表すワイルドカードです。

- 結果を表示したいセル(D2)を選び「=COUNTIF(」と入力する
- 数えたい範囲(A2:A7)をドラッグして選び、カンマを入れる
- 条件として「”*東京*”」と入力する(ダブルクォーテーションも半角)
- 「)」で閉じて Enter を押す
前方一致・後方一致・1文字だけの指定
ワイルドカードは「*」をつける位置で意味が変わります。また、「?」を使うと任意の1文字を表せます。
| 条件の書き方 | 意味 | 例 |
|---|---|---|
| “東京*” | 前方一致(東京で始まる) | 東京都新宿区は数える。「大阪府東京」は数えない |
| “*区” | 後方一致(区で終わる) | 新宿区・渋谷区は数える |
| “*東京*” | 部分一致(どこかに東京を含む) | 東京都〜も「〜東京支店」も数える |
| “??区” | 3文字のうち、最後が「区」 | 「新宿区」は数える。「港区」や「東京都新宿区」は数えない |
「?」は1文字を表すため、セルの文字数が決まっている場合の指定に使えます。通常は「*」だけで困ることはほとんどありません。
セルの文字を条件にして部分一致を数える
探したい文字を、式の中に直接書くのではなく、別のセルに入力して参照することもできます。このときは、ワイルドカードと文字を「&」でつなぎます。
=COUNTIF(A2:A7,"*"&F2&"*")
F2に「東京」と入力しておけば、式を書き換えずに、F2の文字を変えるだけで別の語句の件数が数えられます。
「*」や「?」そのものを数えたいとき
文字の「*」や「?」自体を探したいときは、前に「~(チルダ)」をつけます。たとえば “~*” と書くと、アスタリスクそのものを数えます。
うまく数えられないときの注意点
- ワイルドカードは文字列だけが対象です:数値や日付のセルは、「*」では数えられません
- 大文字と小文字は区別されません:「ABC」と「abc」は同じ扱いになります
- 全角の「*」ではなく半角の「*」を使います:全角だとワイルドカードとして働きません
- ダブルクォーテーションを忘れない:条件は “” で囲みます
数値を含むセルの部分一致を数えたいときは、先に文字列に直す(TEXT関数など)か、SUMPRODUCTとSEARCHを組み合わせるなど、別の方法を使います。
まとめ
- 部分一致は、探したい文字の前後に「*」をつけて指定する
- 前方一致は “文字*”、後方一致は “*文字” と書く
- 別のセルの文字を条件にするときは “*”&セル&”*” とつなぐ
- ワイルドカードは文字列にだけ使え、数値には使えない
- 半角の「*」を使い、ダブルクォーテーションで囲む
住所や商品名の集計など、文字を含むかどうかで数える場面は多くあります。基本の形を覚えておくと、手早く集計できます。


コメント