マンガでよめる痔のこと・薬のこと

日々の株式銘柄の値上がり/値下がりのデータをエクセルシートに入力しています。
このデータに対し、銘柄AAA,BBB,CCC……毎に
 AAA銘柄の出現数
 BBB銘柄の出現数
  以下 同様CCC、DDD
と、自動的に出現する数をカウントしたいのですがEXCELの関数をどのように設定すればいいのでしょうか?

現在は、その銘柄を元に「検索」をかけ、目視で計算しているのですが時間がかかってたまりません。
どうぞよろしくお願い致します。
  

このQ&Aに関連する最新のQ&A

A 回答 (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
「EXCELのシート上に入力された文字列の」の回答画像3
    • good
    • 4
この回答へのお礼

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

お礼日時:2009/11/21 16:49

>その銘柄を元に「検索」をかけ、目視で計算しているのですが時間がかかってたまりません。


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

普通、COUNTIF という関数が使われますが...



>関数をどのように設定すればいいのでしょうか?

と言われても、データーが、どのように入力されているか判らなければ、回答できません
どの列(行)に、どんなデーターが入っているのか、具体的に書いてください
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/11/21 16:52

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelでデータの出現頻度を知りたい

1~40の任意の数値が入っている表から出現頻度が高いものから順に上位7位までの数値と回数を知りたいのですが、Excelでどうやれば可能でしょうか?

Aベストアンサー

>データは行方向に40~50、列方向に5~200

ということですと、ピボットテーブルでは出来ませんね。
FREQENCE関数ではどうでしょう。

空いた列に1~40まで数値を入力します。
別シートでも出来ますので、仮にシート2のA1からA40に
1~40までの数値を入力しておきます。
B1~B40を選択して、
関数ウィザードの「統計」からFREQUENCYを選びます。

「データ配列」にデータの範囲を指定します。
「区間配列」にシート2のA1~A40を指定します。
Shift+Ctrl+Enterキーで確定します。

並べ替えは配列の一部を変更することになり出来ませんので、
A1~B40を選択してコピーし、空いたセルに値のみ貼り付けてから並べ替えます。

1位が3個あったら、次位は4位になってよいなら、RANK関数で
値を貼り付けた列がD、E列で、F列にランクを表示するとして、
F1に
=RANK(E1,$E$1:$E$40,0)
として、下方向にフィルします。

QExcel 指定した範囲内に、特定の単語が何回出現するか数える

アンケートの集計をExcelでやっておりまして、複数回答が可能な質問の集計に困っております。
選択肢は「今年」「来年」「再来年」「未定」。
データは以下のように並んでいる状態で、選択肢各々の数をカウントしたいと思います。

A1: 今年 来年
A2: 来年
A3: 来年 再来年
A4: 再来年
:
:
「今年」や「未定」、また「再来年」の「再」はユニークな文字列または文字なので、countifを使って求めることができておりますが、
「来年」の数をどのように求めるか、非常に悩んでおります。
検索を駆使して色々調べたのですが数日悩んでも無理でした。。
どなたかお助けいただけないでしょうか。よろしくお願いします!

Aベストアンサー

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

この方法で可能です。

=SUM(LEN(A1:A7)-LEN(SUBSTITUTE(A1:A7,"来年","")))/LEN("来年")-SUM(LEN(A1:A7)-LEN(SUBSTITUTE(A1:A7,"再","")))/LEN("再")

と入力後CTRL+SHIFT+ENTERを押して確定して下さい。

QExcelで文字列の中から特定の文字の出現回数を数える

いつもお世話になっています。
また皆さんのお知恵を拝借させて下さい。

Excelで、複数のセルに入力されている文字列の中から特定の文字だけ
の個数を数えるにはどのような方法があるでしょうか。
例:
A1セル あ
A2セル あいう
A3セル あう
A4セル いう
※セル毎の文字数は一定ではありません。

上記のような場合で、「あ」は3個、「い」は2個、「う」は3個というように
特定の文字の出現回数を数えたいのです。できればVBAやマクロではなく、関数がいいのですが・・・
よろしくお願いします。

Aベストアンサー

検索結果を表示させたいセルに、
=countif(A:A,"*あ*")
で、できると思います。

Qエクセルで重複するセルの出現回数を数えたい

エクセル2003である列で重複するセルの出現回数を別の列にカウントするマクロの書き方を教えて下さい.

具体的には以下の通りです.
A列が実データで,B列に出現回数をカウントする例.

A列   B列
12345  
33456
12345
99999
12345




に対してマクロ実行すると,
A列   B列
12345  1  
33456 1
12345 2
99999 1
12345 3




大体1000行ほどのデータがあります.
よい方法があれば教えていただけると大変ありがたいです.

Aベストアンサー

関数ではダメ?

 B1 =COUNTIF(A$1:A1,A1)
B1以下にコピー

これでOK
1000行あるなら、左上の名前ボックスに B1:B1000 と入力すると
B1から B1000セルまでを選択してくれますので、
Ctrlキーを押しながら Dキーを押すと一発で B1の内容が範囲にコピーされます

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Q一番多い名字(文字)のランキングを作りたい

いつも助けていただいてありがとうございます。
今回も是非お力を貸して下さい。
エクセルでランキング表を作っています。

たとえば、際限なくあるさまざまな名字のデータ(100件以上あるとします)で、田中さんは何件あって、全体で何位というランキング表を作りたいのですが、どのような関数で作ることができるのでしょうか?

尚、応用として、野菜、くだもの等、さまざまな他のものでも対応したいとおもっています。
よろしくお願いいたします。

Aベストアンサー

[No.1回答に対するお礼]に対するコメント、

   A   B   C  D   E  F  G  H   I
1  Lnam Fnam  Age Sex Field   姓  数 ランク
2  高橋 英樹   62 M  俳優   小林  5    3
3  小林 稔侍   63 M  俳優   高橋  6    2
4  渡辺 えり子  51 F  女優   渡辺  7    1
5  小林 幸子   52 F  歌手
6  渡辺 真理   38 F  キャスター
7  小林 薫    54 M  俳優
8  渡辺 真知子  49 F  歌手
9  高橋 留美子  48 F  漫画
10 高橋 真梨子  56 F  歌手
11 渡辺 徹    44 M  タレント
12 高橋 克実   44 M  俳優
13 渡辺 貞夫   73 M  ジャズ
14 小林 旭    68 M  俳優
15 高橋 恵子   51 F  女優
16 小林 光一   53 M  囲碁
17 渡辺 謙    46 M  俳優
18 高橋 由伸   30 M  野球
19 渡辺 淳一   72 M  作家

H2: =COUNTIF(A:A,G2)
I2: =RANK(H2,H$2:H$4)

[No.1回答に対するお礼]に対するコメント、

   A   B   C  D   E  F  G  H   I
1  Lnam Fnam  Age Sex Field   姓  数 ランク
2  高橋 英樹   62 M  俳優   小林  5    3
3  小林 稔侍   63 M  俳優   高橋  6    2
4  渡辺 えり子  51 F  女優   渡辺  7    1
5  小林 幸子   52 F  歌手
6  渡辺 真理   38 F  キャスター
7  小林 薫    54 M  俳優
8  渡辺 真知子  49 F  歌手
9  高橋 留美...続きを読む

QExcel 指定の文字列を含むとカウントするようにしたい場合は?

ただいまエクセルと格闘中の初心者です。
関数等はオートSUMくらいしか使ったことがなく、必要時にいちいち調べているような状態です。
今回は文字列を含むとカウントするところで躓いております。

表の中から特定の文字列を含むとカウントするようにしたい時COUNTIFを使うと思うのですが、この場合正確にその言葉じゃなければカウントされませんよね?

例えば「ボールペン」「サインペン」「シャープペン」のようなペン類をまとめてカウントしたい時、ペンだけで認識してくれるようにすることは可能なのでしょうか?
COUNTIF関連で探してみているのですが、中々思うような検索ができていません(もしくはわからずに見逃しているのかも?)

エクセルにお詳しい方、アドバイスを頂ければと思います。
よろしくお願い致します。

Aベストアンサー

検索条件に「*ペン*」としてみてはいかがですか。

ちなみに上記は「ペン」がどこかにあるものを対象とする。
「*ペン」は文字列がペンで終わるものを対象にする。
「ペン*」は文字列がペンで始まるものを対象とする。

Qエクセルで出現回数のランキング表を作りたい

・6桁以下の選手番号
・試合日(西暦8桁)
・試合結果
・その他

無作為の順番で上記のデータが入ったエクセルの表があるのですが、
この表を使い、試合に出た回数が多い順番で選手をランキング付けしたいのです。

関数やVBAは若干かじったことある程度の経験しかないのですが、
COUNTIF関数を使い、その選手にとって、
その試合が何試合目なのかは、一応目で分かるようにはなりました。

※ 選手番号がA列だとすると、B1=COUNTIF($A$1:A1,A1)をB列にコピーしました。

本当はこの数字を上手く使ってランキング表を作ろうと思ったのですが、
良い案が浮かばず、今回質問させていただきました。


1位 選手番号 試合回数
2位 選手番号 試合回数




できることなら、上記のようにランキング表を作り、
また選手の数が多いので3回以上試合を行なっている選手だけで表を作りたいのですが、
関数やVBAを使い上記の表を作成する良い案はありませんでしょうか?

Aベストアンサー

こんばんは!
一例です。

せっかくCOUNTIF関数で試合数を出されているので、余計なお世話になるかもしれませんが・・・
↓の画像のようにこちらで勝手に表を考えてみました。

作業用の列を2列使わせてもらっています。
作業列E2セルに
=IF(A2="","",IF(COUNTIF($A$2:A2,A2)=1,COUNTIF($A$2:$A$100,A2),""))

F2セルに
=IF(E2="","",COUNTIF($E$2:$E$100,">"&E2)+COUNTIF($E$2:E2,E2))
として、E2・F2セルを範囲指定し、F2セルのフィルハンドルで下へずぃ~~~!っとコピーします。

(F列は単純にRANK関数で処理してしまうと、同試合数の場合抽出が困難になりますので、敢えて同試合数でも順位を変えています。
尚、同試合数の場合は上側の行の方が上位になります)

そしれ、I2セルに
=IF(COUNT($E$2:$E$100)<ROW(A1),"",INDEX($A$2:$A$100,MATCH(ROW(A1),$F$2:$F$100,0)))
J2セルに
=IF(I2="","",COUNTIF($A$2:$A$100,I2))
という数式を入れ、I2・J2セルを範囲指定し、J2セルのフィルハンドルで下へコピーすると
画像のような感じになります。

数式は100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、長々と書きましたが
参考になれば幸いです。m(__)m

こんばんは!
一例です。

せっかくCOUNTIF関数で試合数を出されているので、余計なお世話になるかもしれませんが・・・
↓の画像のようにこちらで勝手に表を考えてみました。

作業用の列を2列使わせてもらっています。
作業列E2セルに
=IF(A2="","",IF(COUNTIF($A$2:A2,A2)=1,COUNTIF($A$2:$A$100,A2),""))

F2セルに
=IF(E2="","",COUNTIF($E$2:$E$100,">"&E2)+COUNTIF($E$2:E2,E2))
として、E2・F2セルを範囲指定し、F2セルのフィルハンドルで下へずぃ~~~!っとコピーします。

(F列は単純に...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Q特定の文字列を含むセルの個数をカウントしたい

こんにちは。
現在、シフト表作りを任されているのですが、特定の文字列(個人名)を含むセルの個数をカウントして、表内のコマ数をカウントしたいと考えています。

表の名前は、セルの名前登録をしてありますので、ここでは仮に"表"とします。
特定個人の名前は、"名前"とします。
この条件下で、上記を行うにはどのようにすればよいでしょうか?

ご助言お願いします。

Aベストアンサー

no1です。
てっきり「表」という事で早合点していました、お詫びします。
安直ですが、検索範囲を適用範囲を含み連続セル範囲指定でお試し下さい。
=COUNTIF(連続セル範囲,"*"&名前セル&"*")


人気Q&Aランキング