エクセルについての質問です。

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

回答の条件
  • 1人5回まで
  • 200 ptで終了
  • 登録:
  • 終了:2007/10/04 02:40:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答11件)

ただいまのポイント : ポイント16 pt / 200 pt ツリー表示 | 新着順
 

ありがとうございます shibajin-pooh2007/10/03 00:22:45

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

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

僕がやるならこの方法がベストだと思います。 清角克由2007/10/02 12:12:13

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

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

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

ありがとうございます shibajin-pooh2007/09/27 23:49:14

まだ試していませんが、

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

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

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

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

ありがとうございます shibajin-pooh2007/09/27 23:47:41

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

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

希望が「countif関数」なので りくっち2007/09/27 11:39:16

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

また、

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

↑についてですが、

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

例えば

1,10

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

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

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

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

セル内のカウント giantstar2007/09/27 11:07:35

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

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

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

返り値は1です

「1~10の値」の数なら

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

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

ではアリということで。 りくっち2007/09/27 11:02:53

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すれば回答集計ができます。



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

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


以上ご参考まで。

具体的には? shibajin-pooh2007/09/27 10:37:47

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

作業列は使えますか? りくっち2007/09/27 10:01:06

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

ありがとうございます shibajin-pooh2007/09/27 09:36:06

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

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

ばらしたほうがいいでしょう。 きゃづみぃ2007/09/27 07:05:08

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

区切り位置を利用して

 

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません