12/04/2018

Excel。アンケート結果の集計で使える、セル内のこの文字だけを数える。セルにまとめる【Count only letters】

Excel。アンケート結果の集計で使える、セル内のこの文字だけを数える。セルにまとめる

<PHONETIC関数・CONCAT関数・MID+COLUMN関数・LEN+SUBSTITUTE関数>

簡単そうに思う処理であっても、意外とできない人が多いものって結構あるのですが、今回は、アンケート結果の集計とかで知っていると便利なものをご紹介していきましょう。

【回答を一つのセルにまとめる】

次の表があります。

アンケート結果が、D列からH列にそれぞれの回答が入力されています。

これをC列の回答欄である、一つのセルにまとめたい。

すなわち、回答者1は、○×○×○と回答欄のC2に入力したい場合どのようにしたらいいのでしょうか?

CONCATENATE関数やあるいは、”&”による文字結合ということを考えるかもしれませんが、このケースでは、『PHONETIC関数』を使えば簡単に算出することができます。

C2をクリックして、PHONETIC関数ダイアログボックスを表示しましょう。

参照に、D2:H2
と入力してOKボタンをクリックして、オートフィルで数式をコピーしましょう。

C2の数式は、
=PHONETIC(D2:H2)
となっています。

このように、一つのセルにまとめることができました。

フリガナでお馴染みのPHONETIC関数を使うというのは面白いアイディアですよね。

また、office365のExcel2016で新しく加わった、CONCAT関数を使うことでも、同じように算出することができます。

数式は、
=CONCAT(D2:H2)
としても算出することができます。

このCONCAT関数は、CONCATENATE関数の進化版の関数で、文字結合をすることができる関数なのですが、CONCATENATE関数とは異なり、範囲選択して範囲内のセルを結合することができます。

【一つのセルの文字をセルごとに入力する】

次の表のように、今度は、逆に、一つのセルにまとめられたデータを一文字ずつ、セルに入力するにはどうしたらいいのでしょうか?

このようなケースでは、MID関数を使うことで簡単に算出することができます。

D9をクリックしてMID関数のダイアログボックスを表示しましょう。

文字列には、$C9
複合参照にしているのは、このあと、オートフィルで数式をコピーからですね。

開始位置ですが、左側から1文字ずつズレた文字を検索させますので、列番号を算出する、COLUMN関数を使って、そこから-3することで、1をつくれますので、
開始位置には、
COLUMN()-3
文字数は、1文字ずつ検索させますので、
1
OKボタンをクリックして、オートフィルで数式をコピーして完成ですね。

なお、D9の数式には、
=MID($C9,COLUMN()-3,1)
という数式が設定されています。

これで完成しました。

【セルの中の特定の文字だけを数える】

アンケート結果を一つのセルにまとめた状態の表があります。

回答を一つずつのセルにいれて、特定の文字を数えるならば、全く問題はありませんが、このように、例えば回答のセルの中に○がいくつあるのか、数えたい場合にはどのようにしたらいいのでしょうか?

セルの中にある特定の文字を数える関数はありません。

なので、次のように数式をD16に作ってみましょう。

=LEN($C16)-LEN(SUBSTITUTE($C16,D$15,""))
LEN関数はセルの中の文字の数を数える関数です。

まずは、セル全体の文字数を数えます。

そして、特定の文字を空白に置換して、その残った文字数を数えたものを、先程LEN関数を使って算出した結果から減算してあげれば、セルの中の特定の文字数を数えることができます。

そこで登場するのが、SUBSTITUTE関数

今回は、D15に○がはいっているので、この文字を、空白に置換させます。

そしてLEN関数と合わせて使うことで、求めることできます。

このように、アンケート結果などの集計で使えそうなものはたくさんありますので、少し知っているだけでも作業効率が改善できるかと思いますので、使ってみてください。