人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルについての質問です。
A1?A10までのセルに、次のようにカンマで区切られた複数の値が入っているデータがあります。
このようなデータから「1?10の値」の数を求めたいのですが、どうすれば可能でしょうか。
1つのセル内に1つの値であれば「countif関数」を使えばできますが、1つのセル内にカンマで区切られた複数の値が入っているような場合にはどうすればよいでしょうか? 具体的に教えてください。

(例)
A
1 1,2,3,4,5,6,7,8
2 3,6
3 1,7
4 1,2,6,8
5 10
6 4
7 1,6,7
8 10
9
10 5


●質問者: shibajin-pooh
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:A1 A10 エクセル セル データ
○ 状態 :終了
└ 回答数 : 11/11件

▽最新の回答へ

[1]ばらしたほうがいいでしょう。 taknt

http://support.microsoft.com/kb/214261/ja

区切り位置を利用して


[2]>1 ありがとうございます shibajin-pooh

この機能は他のファイル形式から読み込むときにだけしか利用できないと思ってました。

ばらさずにやる方法はあるのでしょうか?


[3]作業列は使えますか? rikuzai

B列に作業列を作ってカウントしてもいいなら関数でできますね。


[4]>3 具体的には? shibajin-pooh

すいません。具体的にはどんな関数を使ってやるイメージでしょうか?


[5]>4 ではアリということで。 rikuzai

A列に数値が入っているとして、まず「1」の値が入っているセルをB列に表示する数式です。

B1=IF(A1="","",IF(ISERROR(FIND(",1,",","&A1&",")),0,1))

以下必要行までフィルコピーしてください。

これでA列のセルに「1」があれば1を、なければ0、無回答は空欄が表示されます。

後はB列をSUMすれば「1」の回答数が算出できます。


これを応用して、別シートに集計表を作成することが出来ます。

回答データシートをSheet1、データがA列に入力されているとして、

新規シートを追加します。

A1から横に順番に1?10をJ1まで入力します。

A2=IF(Sheet1!$A1="","",IF(ISERROR(FIND(","&A$1&",",","&Sheet1!$A1&",")),0,1))

と入力し、J列のデータ行+1行までコピー貼り付けします。

これを各列(回答番号)毎にSUMすれば回答集計ができます。



ちなみにこうした質問はできればいわしタイプでなく人力タイプで質問された方が回答がつきやすいですよ。

(いわしは主に雑談や意見募集用途なので)


以上ご参考まで。


[6]セル内のカウント giantstar

LEN関数では駄目でしょうか

セルA1の"1"をカウントします

=LEN(A1)-LEN(SUBSTITUTE(A1,"1",""))

返り値は1です

「1?10の値」の数なら

=LEN(A1)-LEN(SUBSTITUTE(A1,",",""))

","の数をカウントした後+1するので返り値は8となります


[7]>6 希望が「countif関数」なので rikuzai

各セル内の回答数ではなくて、1の数がいくつ、2の数がいくつというのが必要なのだと思うのですが。

また、

>=LEN(A1)-LEN(SUBSTITUTE(A1,"1",""))

↑についてですが、

例示のデータだけなら大丈夫なのですが、

例えば

1,10

というデータだと「2」が返るので正しい数が返りません。

「1」と「10」の区別をつけるために、

私の方の式では元データの両端に「,」を付加して、

「,1,」「,10,」で検索するようにしています。


[8]>7 ありがとうございます shibajin-pooh

確かにセル内の一定しない値を「カウント」するのが課題なので、

この方法では難しそうですね。


[9]>5 ありがとうございます shibajin-pooh

まだ試していませんが、

こういうやり方があるのですね。参考になりました。

あと、貴重なご意見ありがとうございました。

はじめての質問だったので、

どうしてよいかわからなかったのです。


[10]>2 僕がやるならこの方法がベストだと思います。 kseikaku0801

B列にA列をコピーしてB列を選んでtakntさんがおっしゃっているように区切り位置を利用してバラす。

その後、B列からばらされた結果データが入っている範囲までを選択した形でshibajin-poohさんがおっしゃっているようにCOUNTIFで各データの数を数える

ということになると思います。(C列以降は区切り位置を使うとデータが上書きされるので注意が必要ですが)


[11]>10 ありがとうございます shibajin-pooh

ばらすことも検討してみます。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ