COUNTIFで部分一致を数える方法|ワイルドカード「*」の使い方と、前方一致・後方一致の書き方

COUNTIF 部分一致|ワイルドカードで特定の文字を含む数を数える 集計・条件関数

「住所に『東京』が含まれる件数を数えたい」「商品名に『りんご』が入っているものだけ集計したい」。こんなときは、COUNTIF関数の条件にワイルドカードを使います。

この記事では、部分一致で数えるための式の書き方を図解し、前方一致・後方一致のやり方や、セルの文字を条件にする方法まで説明します。

=COUNTIF(A2:A7,"*東京*")

COUNTIFで部分一致を数える基本の式

部分一致で数えるには、探したい文字の前後に「*(アスタリスク)」をつけます。「*」は「任意の文字列(0文字以上)」を表すワイルドカードです。

COUNTIF関数で、住所に東京を含むセルを数える式を、範囲と条件に色分けして示した図
  1. 結果を表示したいセル(D2)を選び「=COUNTIF(」と入力する
  2. 数えたい範囲(A2:A7)をドラッグして選び、カンマを入れる
  3. 条件として「”*東京*”」と入力する(ダブルクォーテーションも半角)
  4. 「)」で閉じて Enter を押す

前方一致・後方一致・1文字だけの指定

ワイルドカードは「*」をつける位置で意味が変わります。また、「?」を使うと任意の1文字を表せます。

条件の書き方意味例
“東京*”前方一致(東京で始まる)東京都新宿区は数える。「大阪府東京」は数えない
“*区”後方一致(区で終わる)新宿区・渋谷区は数える
“*東京*”部分一致(どこかに東京を含む)東京都〜も「〜東京支店」も数える
“??区”3文字のうち、最後が「区」「新宿区」は数える。「港区」や「東京都新宿区」は数えない

「?」は1文字を表すため、セルの文字数が決まっている場合の指定に使えます。通常は「*」だけで困ることはほとんどありません。

セルの文字を条件にして部分一致を数える

探したい文字を、式の中に直接書くのではなく、別のセルに入力して参照することもできます。このときは、ワイルドカードと文字を「&」でつなぎます。

=COUNTIF(A2:A7,"*"&F2&"*")

F2に「東京」と入力しておけば、式を書き換えずに、F2の文字を変えるだけで別の語句の件数が数えられます。

「*」や「?」そのものを数えたいとき

文字の「*」や「?」自体を探したいときは、前に「~(チルダ)」をつけます。たとえば “~*” と書くと、アスタリスクそのものを数えます。

うまく数えられないときの注意点

  • ワイルドカードは文字列だけが対象です:数値や日付のセルは、「*」では数えられません
  • 大文字と小文字は区別されません:「ABC」と「abc」は同じ扱いになります
  • 全角の「*」ではなく半角の「*」を使います:全角だとワイルドカードとして働きません
  • ダブルクォーテーションを忘れない:条件は “” で囲みます

数値を含むセルの部分一致を数えたいときは、先に文字列に直す(TEXT関数など)か、SUMPRODUCTとSEARCHを組み合わせるなど、別の方法を使います。

まとめ

  • 部分一致は、探したい文字の前後に「*」をつけて指定する
  • 前方一致は “文字*”、後方一致は “*文字” と書く
  • 別のセルの文字を条件にするときは “*”&セル&”*” とつなぐ
  • ワイルドカードは文字列にだけ使え、数値には使えない
  • 半角の「*」を使い、ダブルクォーテーションで囲む

住所や商品名の集計など、文字を含むかどうかで数える場面は多くあります。基本の形を覚えておくと、手早く集計できます。

コメント

タイトルとURLをコピーしました