• ベストアンサー

単純作業で入力した番号の集計

様々な数字を入力して、入力した何番が何個なのか集計する方法や、 その作業に役立つフリーソフトを探しています。 希望の作業を判り易く「果物」で説明しますと、 りんご みかん ぶどう みかん ぶどう ぶどう みかん りんご いちご と、同じ果物が重複しても一個ずつ単品で入力します。 文字を入力したらEnter 入力→Enter→入力→Enter→入力→Enter→入力→Enter→ の繰り返しです。 すると、結果が自動的に りんご2 みかん3 ぶどう3 いちご1 と、表示してほしいのです。 今、考えてる作業は、エクセルのAの縦欄だけを使い、様々な文字を数百行書き出します。 何度も同じ番号が重複しますが、入力→Enterの繰り返しです。 すべて入力後、にエクセルで並べ替えしても、何番が何個重複したのか一目では解り辛いので、 りんご2 みかん3 ぶどう3 いちご1 と入力結果を一目で確認したいのです。 単純作業を求めているので、 入力+Enterの繰り返しだけでの作業ですが、 もっと便利な方法があれば、アドバイスも宜しくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

入力の都度、結果を正しく瞬時に出してほしいのだろう。 これが難しさの原因だ。 VBAでもA列のデータに変化が有ると、というイベントの考え仕組みで処理しなければならず、入力後の反応がまどろっこしいかも。またVBA経験者ではなかろうから略。 ーー 普通は入力が区切りがついた(例一日の終わり)とき、 (1)フィルタオプションの設定で異品目のリストを別のセル範囲に作る (2)抜き出した各品目を条件にして、COUNTIFで件数をだす。式は異品目全行に複写する。 既出の回答は(1)が終わってからの回答になっている。 ーーー 全てを連動させると 例データ 最多行数99行を念頭に置いた式で説明 A列  B列(作業列) a 1  <--第2行目から a s 2 d 3 s d f 4 g 5 a g h 6 ・・   <-B列は式は第100行まで埋まっている。 B2の式は=IF(A2="","",IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"")) だい100行目まで式複写。 入録する都度初出の行に連番が振られることを確認。 ーーー G2セルに =IF(ROW()-1>MAX($B$2:$B$100),"",INDEX($A$2:$A$100,MATCH(ROW()-1,$B$2:$B$100,0),1)) と入れて第100行まで式を複写。 H2セルに =IF(G2="","",COUNTIF($A$2:$A$100,G2)) と入れて第100行まで式を複写。 ーー 結果 a 3 s 2 d 2 f 1 g 2 h 1 以下、式はうまっている。 以上は自称、imogasi方式でGoogleで照会すれば同様の方法が抜き出しなどに使えるという回答がたくさん出ます。

CHARCOAL99
質問者

お礼

imogasi方式って、imogasi様が編み出したのですね! 「入力の都度、結果を正しく瞬時に出してほしいのだろう。 これが難しさの原因だ。」 ご回答の下りで、やはり希望の作業は無理だと諦め半分で、 説明の通りの関数を入れて、動作チェックした時にびっくりしました! まさにやりたい事が出来ました! いや、やりたい事以上に便利です! A列に手動入力すれば、B列には入力した種類の数、そしてG&H列に入力文字+結果が自動で反映されました! 誠に有難う御座いました!

その他の回答 (4)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

>誰でも入力したら集計 ⇒VBAの一例です。 (1)対象のシートタブを右クリック→コード表示して以下のコードを貼り付け→altキー押下しながらF4キー押下  Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo Error If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub For i = 1 To Cells(Rows.Count, 3).End(xlUp).Row If Cells(i, 3) = Target.Value Then Cells(i, 4) = Cells(i, 4) + 1 k = 1 End If Next If k = "" Then Cells(i, 3) = Target.Value Cells(i, 4) = 1 End If Error: End Sub (2)C1に「種類」、D1に個数を入力後、A列にデータ入力

CHARCOAL99
質問者

お礼

回答有難う御座います。 VBAは使った事も知識も無いのですが、 回答の手順通りに進めば、簡単に集計する事が出来ました。 動作も軽く使いやすく感じます。 大変に勉強になりました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

エクセルを利用する方法ですが如何でしょうか。 (1)先頭行は見出し行として、仮にA1を「データ」、B1を「個数」とします (2)先ず、B2:B5を選択した状態で数式バーに=COUNTIF(A:A,A2)と入力し、ctrlキー押下しながらenterキー押下 (3)A2以下にデータ入力 (4)データ入力完了後、A1を選択→データ→フィルタ→フィルタオプションの設定→重複するレコードは無視するにチェック→OK    重複した行が未表示になっているので再表示する場合、「元に戻す」キー押下、又はデータ→フィルタ→フィルタオプションの設定→OKとして下さい。 因みに結果が自動的に表示される事をお望みならばVBAを組み入れることになります。

CHARCOAL99
質問者

お礼

解りやすい作業手順を有難う御座います。 しかし、COUNTIFでは思うような作業と慣れない関数で手惑います。 先に関数を仕込んでおいて、誰でも入力したら集計されたら良いとは思ってましたが、 それをするには、VBAを組まなければならなくなるのですね。 全く知識がないので自分で組むのは不可能ですが。 仕上げてくれたフリーソフトは存在しないものでしょうかね。 ご解答、有難う御座いました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

B列に 調べる品名 C1に =COUNTIF($A:$A,B1) 下方にオートフィル A列の範囲にあるB1の数を数える。

CHARCOAL99
質問者

補足

解りやすい図解、誠に有難う御座います。 私の説明不足で申し訳御座いません。 countif関数を調べたところ、条件を先に手動入力するのが条件のようですが、私のやりたい事は、条件指定をしないで、無限にある単語や、ランダム数字の入力結果を出せたらと思ってます。

  • ro-chan
  • ベストアンサー率38% (45/116)
回答No.1

エクセルをご利用でしょうか? エクセルのcountif関数で、条件に一致するセルの個数を求めることができます。 例えば、 =countif(A1:A999,“りんご”) この式の”りんご”を任意の名称、または、セル参照にします。 参考URLもご覧下さい。

参考URL:
http://pc.nikkeibp.co.jp/article/technique/20080623/1005367/
CHARCOAL99
質問者

補足

早速のご解答有難う御座います。 COUNTIF:カウントイフ【条件に合致したセルの個数を数える】 こういった関数もあるのですね。 基本的にはエクセルを使おうと思ってるのですが、フリーソフトで便利なのがあれば、ソフトも使ってみたいと思います。 私の説明不足で申し訳御座いません。 countif関数を調べたところ、条件を先に手動入力するのが条件のようで、 私のやりたい事は、条件指定をしないで、無限にある単語や、ランダム数字の入力結果を出せたらと思ってます。 参考URLまで有難う御座います。

関連するQ&A

  • エクセル データ集計について

    エクセルのデータ集計についてご教示下さい。 (1)まず、以下のような項目があるとします。 (重複は無し) りんご みかん ぶどう (2)次に以下のようなデータがあるとします。 (重複あり。順番はランダム) ぶどう みかん ぶどう そして(1)と(2)から以下のような集計結果にするにはどのような関数を使うと良いでしょうか? (|はセルの区切りと思って下さい) りんご | 0 みかん | 1 ぶどう | 2 以上よろしくお願いします。

  • エクセル 関数

    りんご   8 みかん   13 ぶどう   5 スイカ   2 いちご   4 の場合 みかん   13 りんご   8 ぶどう   5 いちご   4 スイカ   2 にできますか? =LARGE(* *)で数字は大→小に並べますが隣の文字(果物)も 一緒に動かしたいのです よろしくお願いします

  • 現在JavaScriptで、入力した項目(チェックした項目)だけを次の

    現在JavaScriptで、入力した項目(チェックした項目)だけを次のページに飛ばすものを作成しているのですが、例えば、 ***************** ぶどう 200円 みかん 150円 りんご 190円 いちご 450円 ***************** の4種類があったとして、 ***************** ぶどう 200円 3個 みかん 150円 0個 りんご 190円  2個 いちご 450円 1個 ***************** を購入と入力したら、次ページには ***************** ぶどう 200円 3個 りんご 190円  2個 いちご 450円 1個 ***************** と、個数の入力があった項目だけを渡すように作成したいです。 どなたかご教授していただけないでしょうか? 宜しくお願いします。

  • エクセル関数何を使ったら良いのかわかりません

    エクセル関数についてお尋ねします。 例として項目を果物にしております↓ 表1でリンゴ・みかん・ぶどう・・・などの1年と2年の平均値を出したのですが、同じシート内の表2にその平均値をとばすようにしたいですがどうしたら良いのかわかりません。 表2のセル(B28)にリンゴと入力したら表1のリンゴの平均値がB29にとんでくるようにしたいです。B28はみかんのときもありぶどうのときもありますので、入力した文字にあった平均値をとばしたいのですが可能でしょうか? いろいろ関数などを調べてみましたが何を使用したら良いのかわからずずっと悩んでおります。

  • エクセルの集計

    エクセルの集計で質問します。 A列に「りんご」か「みかん」が入っている行を集計したいと思っています。    A 1 りんご、なし 2 みかん、もも 3 りんご、みかん 4 ぶどう 5 りんご 6 ぶどう、もも 7 みかん という表があると、期待している集計値は「5」なのですが、どのような関数を使えばよいかわかりません。 よろしくお願いします。

  • Excelの使い方で質問

    例えば、 A列1~10には「No.」として1~10の数字が順番に入ってます。 B列1~10には「りんご」「みかん」「いちご」「ぶどう」という文字がいくつかずつ入っています。 そういうデータで「りんご」は「No.」いくつといくつにあるか、「みかん」は「No.」いくつといくつにあるか、「いちご」は…、「ぶどう」は…、といったように集計したいと思っています。 りんご 1,5,6 みかん 9 いちご 2,3,9 ぶどう 4,7,8,10 といった感じにできれば良いのですが、どうすればよろしいのでしょうか? よろしくご教授ください。

  • 該当する項目以外の数の総計をだしたい時

    次のようなデータで果物の名前がA1に、果物の数がB1に入力されたときに りんごとみかん以外の果物の数だけをC1のセルに出したい場合は どのような関数を前もって組んでおくのが一番適切なのでしょうか?   A1    B1   りんご  2   みかん  1   ぶどう  1   いちご  2   なし   3 ご回答宜しくお願い致します。

  • EXCELの入力規則のリストについて。その1(重複セル)

    Excel2000で入力規則のリストを設定しようとしています。 リストの元になる範囲のデータには重複するものがあります。 その重複するものを各1つずつリストに表示させることはできるでしょうか? 例 みかん   みかん りんご → りんご みかん   ぶどう ぶどう VBAは苦手なので、元になる範囲から関数などで別な場所に重複しない表を作り、それをリストに使用する方法でもいいなと思っています。 元になる範囲が変更される度に、更新や修正をしないでよい方法があれば助かるのですが。 どうかよろしくお願いします。 もう1つ「EXCELの入力規則のリストについて。その2(IFで空白にしたセル)」という質問もしておりますので、何卒そちらもよろしくお願いします。

  • 【Excel】文字データの検索&一致不一致の判断

    Excelで以下のような列があります。    A 1 りんご 2 みかん 3 ぶどう 4 いちご (以下略) ここで、A列に対してすでにA列に存在しているデータが入力された場合、B列に×を返し、存在していないデータなら○を返すような式を入れたいです。    A    B 1  りんご   ○ 2  みかん   ○ 3  ぶどう   ○ 4  いちご   ○ ・・・ 19 ばなな  ○ 20 りんご  × どのような関数を入れれば良いか、教えていただきたいです。 よろしくお願いします。

  • エクセルでデータ→集計?入力規制?

    エクセル2003です。A1のセルに、データ→入力規制→リスト→元の値のところに、りんご・バナナ・みかん・ぶどう等を選択して使用しておりますが、B1のセルに、金額まで自動で表示したい場合はどうすればよいですか?例えば、りんごを選択するとB1に100・バナナは200など。

専門家に質問してみよう