• ベストアンサー

EXCELのシート上に入力された文字列の数(出現数)を自動集計するには?

日々の株式銘柄の値上がり/値下がりのデータをエクセルシートに入力しています。 このデータに対し、銘柄AAA,BBB,CCC……毎に  AAA銘柄の出現数  BBB銘柄の出現数   以下 同様CCC、DDD と、自動的に出現する数をカウントしたいのですがEXCELの関数をどのように設定すればいいのでしょうか? 現在は、その銘柄を元に「検索」をかけ、目視で計算しているのですが時間がかかってたまりません。 どうぞよろしくお願い致します。   

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 参考になるかどうか判りませんが・・・ 元データがどのような感じか判りませんので 勝手に↓のような表を作ってみました。 元データの横に作業用の列を使わせてもらっています。 作業列のA2セルに =IF(COUNTIF($B$2:B2,B2)=1,ROW(A1),"") としてずぃ~~!っとオートフィルで下へコピーします。 (D・E列の数式が10000行まで対応できるようにしていますので、そのくらいまでコピーしても構いません) そして、D2セルに =IF(COUNT($A$2:$A$10000)<ROW(A1),"",INDEX($B$2:$B$10000,SMALL($A$2:$A$10000,ROW(A1)))) E2セルに =IF(D2="","",COUNTIF($B$2:$B$10000,D2)) として、D2・E2セルを範囲指定し、E2セルのフィルハンドルで 下へコピーすると画像のような感じになります。 これでB列に新しい銘柄が出現してもちゃんと対応すると思います。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m

kionan
質問者

お礼

遅くなり失礼致しました。 本日、試してみました。 私の希望する形の処理が実現しました。 本当に有難うございました。

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

>その銘柄を元に「検索」をかけ、目視で計算しているのですが時間がかかってたまりません。 取り合えず、より簡単な方法で シートにオートフィルターを実行し AAAの銘柄を表示させます。 シートの左下に ○○レコード中何個が見つかりました と表示されます。 まとめて、全ての銘柄の個数を出したいのであれば ピボットテーブルを試してみてください。 ツールバーのデータ=>ピボットテーブルとピボットグラフ・・・ からウィザードに従っていけば、別シートの一覧表が勝手に作成されます。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

普通、COUNTIF という関数が使われますが... >関数をどのように設定すればいいのでしょうか? と言われても、データーが、どのように入力されているか判らなければ、回答できません どの列(行)に、どんなデーターが入っているのか、具体的に書いてください

kionan
質問者

お礼

イメージを具体的にお示しせず失礼致しました。 tom4様のアドバイスのイメージを考えておりました。 早々に御連絡頂きましたことに感謝致しております。 有難うございました。

関連するQ&A

  • エクセルで列にあるユニークなデータの個数が知りたい

    おはようございます。 エクセルでA列に以下のようなデータがあるとします。 この中で何種類のデータがあるのかを知りたいのです。 この場合は、AAA,BBB,CCC,DDD,EEEの5種類なので5という答えが欲しいのです。 ただし、A列に入るデータは非常に多岐(800種類以上)に渡ります。 また、印刷を前提としてるためソートなどはできません。 さらに1枚のシートにこのようなデータがいくつかあるので、その決まった範囲内で個数を抽出する必要があります。 なにとぞ皆様のお知恵をお貸しくださいませ。 よろしくお願いします。 AAA AAA BBB CCC AAA DDD DDD BBB DDD DDD EEE EEE

  • EXCELで行の先頭データが同じ行の削除方法について

    EXCELで次のようなことをしたいのですがどうしたら簡単にできるでしょうか?  AAA   AAA  AAA  AAA  AAA  BBB  BBB  BBB  CCC  DDD  DDD  DDD  DDD 上ようのなデータで重複している部分を削除し、  AAA  BBB  CCC  DDD としたいのですが。 今は一行々々で確認しながら削除してます。3000行程あり困ってます。 どうしたら簡単にできるでしょうか?  

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • エクセルVBAハイパーリンクの自動設定について

    はじめて質問させていただきます。 エクセルVBAハイパーリンクの自動設定についてですが A列にAAA、BBB、CCC、DDD・・・という文字列が入っています。 D:\dataというフォルダーにAAA-01、BBB-02、CCC-01、DDD-05 という名前のファイル(.DOC)が入っています。 A列の文字列にハイパーリンクを貼りたいのですがどうしたらよいでしょうか? AAAの文字にAAA-01.docのハイパーリンクを自動で貼る。 -01はファイルのバージョンで更新されたら-02、-03と変わって いくため頭から3文字があえばリンクを貼るようにしたいのです。 よろしくお願いします。

  • エクセル で文字列を分離したい

    例えば、エスセルのデーターベースで [A1]http://www.aaa.bbb//=http://ccc.ddd [A2]http://eee.fff.gg//=http://hh.iii こちらを [B1]http://www.aaa.bbb//=  と、 [C1]http://ccc.ddd に分離したいのですが、 大量に一括で分離する方法を教えてください。

  • 2つの条件に完全合致するデータ件数の出し方 (Excel)

    下記【↓データ元】ようにカンマ区切りされているデータがあり、任意の2つの条件に合致するデータ数をマトリクス表形式で埋め込みたいと考えています。 完全一致するデータのみカウント対象とするので(ex.CCC(株)等、条件文字に追加文字があるようなものは除く)、splitで配列に入れてfindで一つ一つ検索していくしかないでしょうか? (データ数が多いと、処理時間がとてもかかるので・・・。) 私が行いたいと思っていた解決策に直結するような下記サイトがあったのですが、これだと条件文字が含んでいればカウント対象(ex.CCC(株)等、条件文字に追加文字があるものも対象)となってしまうので、ご助言いただきたく書き込みしました。 何かアドバイスがありましたら、宜しくお願いいたします。 【↓参考になりそうだと思われたサイト】 http://ohpa.net/modules/xlnote/content0166.html 【↓データ元】 AAA BBB,CCC DDD CCC,AAA AAA,CCC BBB 【↓出力イメージ】    AAA BBB CCC DDD AAA 1 0 2 0 BBB 0 1 1 0   CCC 2 1 0 0 DDD 1 0 0 0

  • EXCELのVBAで空白列を削除して左づめにできますか?

    いつも参考にしています。まだ、マクロの記録にチョット手を加えて自動化?している程度の腕前ですが? 仕事の都合で下記の問題を解決しなくてはならなくなり、皆様のお知恵をお借りしたいと思い質問させて頂きます。 エクセルのワークシートに空白のセルがランダムに入っているデータがあります。これを、ある列まで(例ではD列までの左の空白セルをなくして左づめのデータとしたいのです。 (例)  | A | B | C | D | E | 1|AAA|BBB|CCC|DDD|EEE| 2|   |BBB|CCC|DDD|EEE| 3|AAA|   |CCC|DDD|EEE| 4|AAA|   |CCC|   |EEE| 5|   |   |   |DDD|EEE|     ↓  | A | B | C | D | E | 1|AAA|BBB|CCC|DDD|EEE| 2|BBB|CCC|DDD|   |EEE| 3|AAA|CCC|DDD|   |EEE| 4|AAA|CCC|   |   |EEE| 5|DDD|   |   |   |EEE| ここで、E列以降は詰めないでほしいのです。 できれば、VBAで実現したいのですが、どのような考えで、どのようなコード?を書けばよいのか教えてください。 質問の仕方も用途を得ないで、失礼な質問になっていると思いますが、よろしくお願いします。

  • 2回以上繰り返される文字列の削除について

    以下の文字列(置換前)で、-aaa について複数存在しているので、 最初の -aaa を残して残りの -aaa をすべて削除したいと考えています。 1回の正規表現+置換で行いたいのですが、どのようにいすればよいでしょうか? 【置換前】 -bbb -aaa -ccc -aaa -ddd -eee -aaa -fff 【置換後】 -bbb -aaa -ccc -ddd -eee -fff ちなみに、複数回の正規表現+置換を使ってよい場合は、 while (m/( -aaa.*) -aaa/) { s/( -aaa.*) -aaa/$1/; } でできると考えています。(動作確認まではしていないので間違ってるかも)

    • ベストアンサー
    • Perl
  • sedで「(~)」を使って文字列の一部を取り出し

    sedで「(~)」を使って、文字列の一部を取り出したいのですが期待した結果になりません。 以下のようなファイルがあります。 そこから、最初に見つかった「A-Z0-9」を含む文字列を取り出したいのですが、 どうしても、2番目にでてくる「0-9」でなる文字列が取り出されます。 環境は、Solaris/Linuxになります。 ■ファイル cat aaa "aaa","bbb","ccc","123456","ddd","eee","fff,"0000","ggg" "aaa","bbb","ccc","AAA123","ddd","eee","fff,"0000","ggg" ■sed sed 's/.*,"\([A-Z0-9].*[0-9]\)",.*$/\1/g' aaa ■結果 0000 0000 期待する結果は、 123456 AAA123 なのですが、 期待した結果を取り出すにはどうしたらよいのでしょうか。

  • excel ピボットテーブルについて

    お世話になります。 Excelのピボットテーブルについてですが、例えば下記のような感じのデータを 集計したいときに、行ラベルに「名前」を持って行き、列ラベルには「日付」を持って いったとしたときに、行ラベルはAAA、BBB、CCC、DDDではなく、AAAとBBB以外は その他でまとめたいとき(AAA、BBB、その他)、どう設定すればいいか悩んでいます。 ご存知の方がいらっしゃれば教えてください。ちなみにExcel2010を使用しています。 日付 名前 個数 4/1  AAA 1 4/1  BBB 1 4/2  CCC 1 4/2  DDD 2 4/2  AAA  3 4/3  CCC 1

専門家に質問してみよう