• ベストアンサー

シート内にあるセルの個数を・・・

例えばセルにaaaaと入力しているデータがあり、 その隣のセルにそのシート内でaaaaと入っている セルの個数を入力する列を作っています。 今このセルの個数を入力するのに、 検索機能を使って数えて入力しているのですが、 これをaaaaと入力したら、 その隣にセルの個数を自動的に入力してくれる 関数というものはありますでしょうか ●シートをまたがってデータの個数は数えません。 そのシート内のみで数えます。 ●データはaaaaひとつというわけではありません。 うまく伝わっているかどうか不安ではあるのですが アドバイスを頂けたら、と思います よろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • saburo0
  • ベストアンサー率35% (76/216)
回答No.4

#2です。 このような感じで宜しいしょうか? 「ここから」「ここまで」の間の部分をメモ帳などのテキストエディタへコピー・貼り付けし、「text.slk」等の名前で保存し、エクセルで開いて確認して見てください。 少しここには書きづらいので、こういう形でご了承ください。 ----------ここから-------------- ID;PWXL;N;E P;PGeneral P;P0 P;P0.00 P;P#,##0 P;P#,##0.00 P;P#,##0;;\-#,##0 P;P#,##0;;[Red]\-#,##0 P;P#,##0.00;;\-#,##0.00 P;P#,##0.00;;[Red]\-#,##0.00 P;P"\"#,##0;;"\"\-#,##0 P;P"\"#,##0;;[Red]"\"\-#,##0 P;P"\"#,##0.00;;"\"\-#,##0.00 P;P"\"#,##0.00;;[Red]"\"\-#,##0.00 P;P0% P;P0.00% P;P0.00E+00 P;P##0.0E+0 P;P#\ ?/? P;P#\ ??/?? P;Pyyyy/m/d P;Pd\-mmm\-yy P;Pd\-mmm P;Pmmm\-yy P;Ph:mm\ AM/PM P;Ph:mm:ss\ AM/PM P;Ph:mm P;Ph:mm:ss P;Pyyyy/m/d\ h:mm P;Pmm:ss P;Pmm:ss.0 P;P@ P;P[h]:mm:ss P;P_ "\"* #,##0_ ;;_ "\"* \-#,##0_ ;;_ "\"* "-"_ ;;_ @_ P;P_ * #,##0_ ;;_ * \-#,##0_ ;;_ * "-"_ ;;_ @_ P;P_ "\"* #,##0.00_ ;;_ "\"* \-#,##0.00_ ;;_ "\"* "-"??_ ;;_ @_ P;P_ * #,##0.00_ ;;_ * \-#,##0.00_ ;;_ * "-"??_ ;;_ @_ P;P\$#,##0_);;\(\$#,##0\) P;P\$#,##0_);;[Red]\(\$#,##0\) P;P\$#,##0.00_);;\(\$#,##0.00\) P;P\$#,##0.00_);;[Red]\(\$#,##0.00\) P;Pm/d/yy P;Pyyyy"年"m"月"d"日" P;Ph"時"mm"分" P;Ph"時"mm"分"ss"秒" P;Prr\.m\.d P;Prr"年"m"月"d"日" P;Pyyyy"年"m"月" P;Pm"月"d"日" P;Prr\.m\.d P;Prr"年"m"月"d"日" P;FMS Pゴシック;M220 P;FMS Pゴシック;M220 P;FMS Pゴシック;M220 P;FMS Pゴシック;M220 P;EMS Pゴシック;M220 P;EMS Pゴシック;M220 P;EMS Pゴシック;M120 F;P0;DG0G8;M270 B;Y5;X15;D0 0 4 14 O;L;D;V0;K47;G100 0.001 F;W1 1 9 F;W2 2 5 F;W3 3 2 F;W4 4 4 F;W5 5 2 F;W6 6 5 F;W7 7 2 F;W8 8 4 F;W9 9 2 F;W11 11 5 F;W12 12 4 F;W13 13 5 F;W14 14 4 F;P19;FG0G;C1 C;Y1;X1;K38353 F;P30;FG0G;X2 C;K"aaaa" C;X3;K1;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X4 C;K"bbbb" C;X5;K1;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X6 C;K"cccc" C;X7;K1;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X8 C;K"dddd" C;X9;K1;ECOUNTIF(R1C11:RC14,RC[-1]) C;X11;K"aaaa";EIF(RC[-9]="","",RC[-9]) C;X12;K"bbbb";EIF(RC[-8]="","",RC[-8]) C;X13;K"cccc";EIF(RC[-7]="","",RC[-7]) C;X14;K"dddd";EIF(RC[-6]="","",RC[-6]) C;Y2;X1;K38354 F;P30;FG0G;X2 C;K"bbbb" C;X3;K2;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X4 C;K"dddd" C;X5;K2;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X6 C;K"eeee" C;X7;K1;ECOUNTIF(R1C11:RC14,RC[-1]) C;X9;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X11;K"bbbb";EIF(RC[-9]="","",RC[-9]) C;X12;K"dddd";EIF(RC[-8]="","",RC[-8]) C;X13;K"eeee";EIF(RC[-7]="","",RC[-7]) C;X14;K"";EIF(RC[-6]="","",RC[-6]) C;Y3;X1;K38355 F;P30;FG0G;X2 C;K"cccc" C;X3;K2;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X4 C;K"aaaa" C;X5;K2;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X6 C;K"ffff" C;X7;K1;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X8 C;K"bbbb" C;X9;K3;ECOUNTIF(R1C11:RC14,RC[-1]) C;X11;K"cccc";EIF(RC[-9]="","",RC[-9]) C;X12;K"aaaa";EIF(RC[-8]="","",RC[-8]) C;X13;K"ffff";EIF(RC[-7]="","",RC[-7]) C;X14;K"bbbb";EIF(RC[-6]="","",RC[-6]) F;P30;FG0G;Y4;X2 C;X3;K0;ECOUNTIF(R1C11:RC14,RC[-1]) F;P30;FG0G;X4 C;X5;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X7;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X9;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X11;K"";EIF(RC[-9]="","",RC[-9]) C;X12;K"";EIF(RC[-8]="","",RC[-8]) C;X13;K"";EIF(RC[-7]="","",RC[-7]) C;X14;K"";EIF(RC[-6]="","",RC[-6]) F;P30;FG0G;Y5;X2 C;X3;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X5;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X7;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X9;K0;ECOUNTIF(R1C11:RC14,RC[-1]) C;X11;K"";EIF(RC[-9]="","",RC[-9]) C;X12;K"";EIF(RC[-8]="","",RC[-8]) C;X13;K"";EIF(RC[-7]="","",RC[-7]) C;X14;K"";EIF(RC[-6]="","",RC[-6]) C;X15;K"←このA5~N5の部分をドラッグなどで、下の行へコピーしていって下さい。" E ----------ここまで--------------

tomotomo0815
質問者

お礼

ありがとうございます! まさに求めていた方法です! 仕事で何度か使う手段になるので頑張って理解して役立てたいと思います こんなつたない説明にもかかわらず回答頂き 本当にありがとうございました

その他の回答 (4)

  • ykym
  • ベストアンサー率22% (8/35)
回答No.5

COUNTIFで出来ます。 #2の補足欄のデータが2行目から入力されていることを前提としてC2の個数の欄に =COUNTIF($1:1,B2)+1 と入力してください。下の列にコピーして使用できます 一応解説しますと COUNTIFの一つ目の$1:1は個数を一つ上までの行でデータがいくつ出てきたかをカウントしています。"$1"は式をコピーし時に参照がずれないように絶対参照にしています。 あとにつけている"+1"は前日までのデータの個数に対して調べるデータがその日の分で一つ増えているので加算しているだけです。 COUNTIFで探す対象をその行まで含めると循環参照になるので戸惑われたのではないでしょうか。

tomotomo0815
質問者

お礼

ありがとうございます 今#4さんの解答と合わせて頑張ってマスターしているところです。 探す対象をどうやって指示すればいいのかを戸惑っていたので これで理解出来れば何とか使えそうです

  • ykym
  • ベストアンサー率22% (8/35)
回答No.3

具体的なセルの番地を挙げて質問してくださると説明しやすいのですが データがどの範囲に入力されているのか aaaaとはどのセルに入力するのか データの個数はどこに表示するのか

tomotomo0815
質問者

補足

本当に言葉足らずで申し訳ございませ、。 やりたい事というのは#2さんの補足に書かせて頂いたことです。 実際に作っているモノを見て頂ければいいのですが、仕事で取り扱っている表でもあるので・・・ (書き込みがうまく反映されていませんでした。申し訳ございません)

  • saburo0
  • ベストアンサー率35% (76/216)
回答No.2

#1さんの方法で出来ると思うのですが…。 #1さんの方法をまず試してみてください。 例えば、a1~a10に以下の値が入っているとします。 ccccc bbbbb ccccc aaaaa bbbbb ccccc ccccc bbbbb ccccc ccccc b1セルに「aaaaa」を入力すると、c1セルに「1」が表示されます。 同様に、b1セルに「bbbbb」であれば、c1セルに「3」、 b1セルに「ccccc」であれば、c1セルに「6」となるはずです。 以上で出来なければ、具体的に、どのセルにどんな値が入っていて、結果的にどういう結果を出したいが、実際はこういう結果になってしまう。などの説明して頂ければと思います。

tomotomo0815
質問者

補足

言葉足らずで申し訳ございません。 作っている表は (例えば) 1/1 aaaa|1|bbbb|1|cccc|1|dddd|1| 1/2 bbbb|2|dddd|2|eeee|1| 1/3 cccc|2|aaaa|2|ffff|1|bbbb|3| (※ |はセルとセルの区切り線(?)のつもりです・・・・) aaaaやbbbb(他)というのはモノの名前、その隣の数字は その日までの段階でそのシート内でaaaaという名前を何回載せたか、という回数欄です つまり1/1からそのシートがはじまっている(そのシートで記録している)として、 1/1の段階では全てのモノの名前の掲載回数が1回ずつ、 翌1/2にはbbbbとddddが前日に引き続いての掲載なので 2回目ということで2、新しくeeeeがそのシート内で掲載された形になったので1, その翌日1/3には、bbbbが3回目なので3、というような形です。 1日ごとの記録ですので、例えば1/3終了の段階で 1/4にaaaaが入るかどうかはわかりません。 また新しくggggというデータが入るかもしれませんが、同じくその段階ではわかりません 今回出したいというのは、例えば、1/4にaaaaというデータが入った時、1/1~1/3までにaaaaと載せた回数に、1/4にaaaaと載せた回数を合わせてaaaaと入力した時点でその隣のセルに数字を返したい、ということです。 また、ggggというデータが入った場合、それまでにggggというデータは入っていない(つまり1/4が最初)ので 1/4 gggg|1| という形でggggと入力・確定した時点で、その隣のセルに「1」と返したいのです。 今はそれを検索機能を使ってひとつひとつ回数を数えて入力しているのですが、 aaabとaaacというように、似ているデータを数えることもあり、数え間違いも出ているため、このような数字を返す関数があるのかどうかを知りたい次第です。 ●1日で同じデータが2つ以上とあることはありません。 ●増えるのは1回ずつ、つまり1日で0が2に、とか5が8と一気に増えることはありません COUNTIFでやってみたのですが既に出来上がっているデータに対して個数を数えるのではなく、進行形の表なので、うまく数字が出ませんでした。 一生懸命伝えているつもりなのですが、 これでもやっぱり伝わっているか不安ですが よろしくお願いいたします。

  • ykym
  • ベストアンサー率22% (8/35)
回答No.1

指定したデータの個数を数えたいということでしょうか? COUNTIFという式で多分お望みの結果が得られると思います。 シートのAの列に適当なデータを入力してから C1に次の式を入力してください。 =COUNTIF(A:A,B1) この式はAの列からB1に入力されているデータを検索してその個数を返す式です。 B1のセルに適当なデータを入力するとその個数がえられます。 式の中の"A:A"とB1の部分を今お使いのワークシートに対応するように適宜変更して使用してください。

tomotomo0815
質問者

補足

ありがとうございます データの個数を数えたいところはそうなのですが、 今回やりたいことは aaaaと入力した時点で、その右隣のセルにシート内でaaaaとあるセルの個数を返したいのです。 多分IF関数にCOUNTIFが絡むのかな、と思っているのですが・・・ うまく伝えられてなくて申し訳ございません

関連するQ&A