11/03/2019

Excel。アンケート結果が一つのセル内に!セル内の文字を数えるにはどうするの?【Number of characters in the cell】

Excel。アンケート結果が一つのセル内に!セル内の文字を数えるにはどうするの?

<LEN+SUBSTITUTE関数>

Excelの基本ルールを知っていれば、次の表のようにYES/NOを選ぶ2択10問の結果を一つのセルにまとめてしまうことはあまりないかと思いますが、現場レベルではよくあるケースでもあります。

B列のアンケート結果からセル内のYとNの数を数えたいわけですね。

YとNがそれぞれ、一つのセルごとに入力されているならば、COUNTIF関数を使えば簡単に算出できるのですが、セル内ではCOUNTIF関数など使うことができません。

【セル内のNを消す(空白と置換する)】

そこで考え方を変えてみましょう。

セル内に2種類のYとNという文字があるわけですから、とりあえず、Nという文字を消すことができれば、残ったのは、Yだけになりますよね。

セル内の文字数を数えることは簡単にできるので、Yがいくつセル内にあるのか数えることができます。

セル内の文字を置換する時に使う関数が、SUBSTITUTE関数です。

今回は、Nを空白(置換)にするようにするのが目的です。

それでは、D2をクリックして、SUBSTITUTE関数ダイアログボックスを表示しましょう。

文字列には、B2。
検索文字列には、Nという文字を消したいので、”N”。
置換文字列には、”N”を消す、つまり空白に置き換えればいいわけですから、「””(ダブルコーテーション×2)」と入力します。

OKボタンをクリックして、オートフィルを使って数式をコピーしてみましょう。

Yだけを残すことができました。

現時点でのD2の数式は、
=SUBSTITUTE(B2,"N","")
あとは、このYを数えればいいわけですね。

セル内の文字数を算出するのは、LEN関数です。

=SUBSTITUTE(B2,"N","")という数式をLEN関数で包む。
LEN+SUBSTITUTEというネストにすればいいわけですね。

D2の数式は、
=LEN(SUBSTITUTE(B2,"N",""))
完成したら、オートフィルを使って数式をコピーします。

これで、YESの数を算出することができました。SUBSTITUTE関数という、あまり馴染みのない関数ですが、簡単にYの数を算出することができました。

あと、Nですが、YESと同じ方法で、セル内のNの文字数を算出してもいいのですが、LEN関数は、セル内の文字数を算出する関数ですから、単純にセル内の文字数から、先程算出した、Yの数を減算してあげればNの数を算出することができます。

すなわち、E2の数式は、
=LEN(B2)-D2
オートフィルを使って数式をコピー完成ですね。


このように、LEN関数をつかうことで、セル内の文字数や、セル内で該当する文字数を算出することが、比較的、簡単に算出することができますので、色々と使ってみるといいかもしれませんね。