備忘録:Excelで指定の文字列を含むセルをカウントする (22.1.26)
個人的に役に立ったExcel関数として。
例えば、「いちご」と「いちご大福」のように、
同じ文字列ではないがどちらも「いちご」を含むセルを数えたいという感じで、
データの塊の中で、特定の文字列を含むセルをカウントしたい時に、
『COUNTIF関数』と『ワイルドカード』を利用する方法。
◎『COUNTIF関数』
まずは、指定した文字列そのものと一致するセルをカウントしてみる。
B2セル~B11セルの10個の値の中から、「いちご」と入っている文字列を検索する場合は、
『COUNTIF関数』を使用して、【=COUNTIF(B2:B11,D2)】とすると「1」という結果が返ってくる。
解説:COUNT+IFで条件に一致するものをカウントしてくれる
⇒範囲「B2~B11」を指定、検索条件「D2」に入っている値(文字列)を指定。
※D2セルを使わずに、【=COUNTIF(B2:B11,"いちご")】という形で、
検索条件としてCOUNTIF関数内に直接文字列を指定してもOK。
◎『ワイルドカード』
上記の場合では「いちご」そのものしかカウントされないため、
「いちご大福」なども検索条件に含まれるように『ワイルドカード』を組み合わせる。
『ワイルドカード』として使う文字は下記の2種類。
・「*」...なんでも(何文字でも)
・「?」...なんでも(ただし1文字)
例:「山*」 = 「山」で始まる文字列 : 山、山登り、山岳会、...
「*山」 = 「山」で終わる文字列 : 山、登山、富士山、...
「*山*」 = 「山」を含む文字列 : 山、山登り、登山、海千山千、...
「山?」 = 「山+なにか1文字」 : 山頂、山麓、山腹、...
「??山」 = 「なにか2文字+山」 : 富士山、八海山、石鎚山、...
◎『COUNTIF関数』×『ワイルドカード』
やりたかった、指定した文字列を含むセルのカウントに挑戦する。
B2セル~B11セルの10個の値の中から、「いちご」を含む文字列を検索する場合は、
『COUNTIF関数』に『ワイルドカード』を組み合わせて、
「いちご」=D2セルの前後に「*」を繋げる形で、
【=COUNTIF(B2:B11,"*"&D2&"*")】とすると「3」という結果が返ってくる。
解説:COUNT+IFで条件に一致するものをカウントしてくれる
⇒範囲「B2~B11」を指定、検索条件「D2」に入っている値(文字列)を指定。
※D2セルを使わずに、【=COUNTIF(B2:B11,"*いちご*")】という形で、
検索条件としてCOUNTIF関数内に直接文字列を指定してもOK。
その場合は、セル指定をせずに一つの文字列を検索することになるので、
「""」で囲むのは「"*いちご*"」とひとまとめにして構わない。
むぎわら