10/09/2016

Excel。COUNT。セルの中の特定の文字を数えるには、どうやったらいいの?


Excel。セルの中の特定の文字を数えるには、どうやったらいいの?

<LEN関数+SUBSTITUTE関数>


簡単そうに思えて、実際に求めてみようとすると、なかなか難しいということが、
Excelでも結構ありまして、今回ご紹介する、
セルの中の特定の記号や文字の数を数えるには、どうしたらいい?というもの、
その一つだと思います。

Excelは、文字を検索することは出来ます。
また、セル内の文字数は数えることは出来ます。

ところが、セルの中の特定の文字数を数えるとなると、どうしたらいいでしょうか?

ということで、下記の表があります。

お相撲さんの星取表を参考にしてありますが、別々のセルそれぞれに、
○とか●とかが入っているならば、
COUNTIF関数で、算出することができますが、セルの中となると、
COUNTIF関数を使って数えることが出来ません。

そこで、少しアイディアが必要になってくるわけです。
“○”を数える方法を考えてみましょう。

とりあえず、セル内の文字数を数える。これで、セル内の文字数がわかります。

そして、今度は、”○”を空白に置換してあげて、そのセル内の文字数を改めて数えます。

その数を先程の全体の文字数から引いてあげれば、
セルの中の”○”を数えることが出来るはずです。

では、実際にやってみましょう。

C3をクリックしてLEN関数ダイアログボックスを表示しましょう

セルの中の文字数を数えるのは、簡単なので、
まずは、”○”を除いた数を求めていきますので、
文字列のボックスの中に、置換する関数である、
SUBSTITUTE関数をネストしていきますので、
SUBSTITUTE関数ダイアログボックスを入れていきましょう。

名前ボックスの▼をクリックして、ネストしていきましょう。

文字列は、$B3。これは、横方向・縦方向に、
この数式をオートフィルでコピーするので、複合参照で設定しておきます。
検索文字列は、”○”。
置換文字列は、””
あとは、OKボタンをクリックしましょう。

5と算出されましたね。
C3の数式は、

=LEN(SUBSTITUTE($B3,"○",""))

となっております。

これが、”○”以外の文字の数ですので、
あとは、全体の文字数から引いてあげればいいので、C3の数式を修正していきます。

=LEN($B3)-LEN(SUBSTITUTE($B3,"○",""))

というように、=(イコール)あとに、LEN($B3)と追加します。

あとは、オートフィルで数式をコピーしましょう。

あとは、D列は●の数を数えるように修正していき、
休みは、”ヤ”の数を数えるように修正していきます。

D3の数式は、

=LEN($B3)-LEN(SUBSTITUTE($B3,"●",""))

E3の数式は、

=LEN($B3)-LEN(SUBSTITUTE($B3,"ヤ",""))

として、オートフィルで数式をそれぞれコピーしましょう。

これで、完成しました。

このように、意外と、セルの中の特定の文字を数えるというのは、
ちょっとアイディアがいるようですね。