• ベストアンサー

エクセルで使用頻度の高い数字を順にだしたい

ロト6で過去に出た数字をエクセルにしましたが、 多くでた数字を順に表示したいと考えています。 どのような関数を使えばいいでしょうか?

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

  • ベストアンサー
  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.2

数字データを入力しているシートの名前が 「ロト6」としたとき 別シートに ●セルA1,A2~に→1,2,3,4,5,・・・・,42,43と入力 ●セルB1に  =countif(ロト6!検索範囲,A1) B2,B3~B43までコピペ このとき検索範囲は、6個の数字までにするか、7個までにするか選択 おそらく6個になると思いますが・・・・データが増えていくので、列範囲指定の方がいいでしょう。(例えば B:G というように) でB列に、セルA1の数字が シート「ロト6」に何個あるかをカウントし表示 ●セルC1に、 RANK関数で B列の範囲指定し(固定なので 列$行$にして)、セルB1の数字が何番目になるか表示させる。       =rank(B1,$B$1:$B$43)   でこれを C2,C3~C43までコピペ 個数が多いものから1(位)、2(位)、3(位)、・・・・というように表示 このC列の結果を使って 順位の高い方から数字を見つけるようにすればいいかなと・・・ _______________________________ 以上の様にした理由は、カウント個数が同数になる場合が出てくるので。(順位だと同順)

noname#66290
質問者

お礼

ご回答とヒントをくださりありがとうございます。 早速、下記のようにしてデータを思い通りに まとめることが出来ました。           A B C D E F 2000.10/5    2 8 10 13 27 30 . . 2006.5/18    10 15 20 28 41 43 データの集合場所にロト6で使う数字1~43の項目 をつくり、上記のように6つの数字の過去のデータを ABCDEFの枠で区切り、COUNTIF関数を用い、 出た数字の回数を各枠ごとにだしました。 そして、今度はSUM関数を用い、各数字の回数の合計を出し、 次にRANK関数を用い、各数字の合計回数に 順位をつけました。 ちょっとうまく説明できませんが、 ざっとこのような感じです。 もっといい方法があると思いますが、 6つの数字を6つの枠で区切れば、 表が見やすく、この先も続けていけそうなので このようにしてみました。 この度はアドバイスをいただきまして ありがとうございました。

その他の回答 (4)

noname#33272
noname#33272
回答No.5

再入場(補足)します。 まず、並べ替えしたいところの範囲を選択します。 「データ」→「現在選択されている範囲を並べ替える(C)」→「オプション(O)」→「方向」を行単位(T)か列単位(L)を選択する→O.K.→「最優先されるキー」で並べたい行または列を指定し、「降順(D)」を選択する。

noname#66290
質問者

お礼

ご回答とヒントをくださりありがとうございます。 早速、下記のようにしてデータを思い通りに まとめることが出来ました。           A B C D E F 2000.10/5    2 8 10 13 27 30 . . 2006.5/18    10 15 20 28 41 43 データの集合場所にロト6で使う数字1~43の項目 をつくり、上記のように6つの数字の過去のデータを ABCDEFの枠で区切り、COUNTIF関数を用い、 出た数字の回数を各枠ごとにだしました。 そして、今度はSUM関数を用い、各数字の回数の合計を出し、 次にRANK関数を用い、各数字の合計回数に 順位をつけました。 ちょっとうまく説明できませんが、 ざっとこのような感じです。 もっといい方法があると思いますが、 6つの数字を6つの枠で区切れば、 表が見やすく、この先も続けていけそうなので このようにしてみました。 この度はアドバイスをいただきまして ありがとうございました。

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

自称imogasi方式でできます。 例データA2:A10 下記A列のみ。他列は下記解説の関数で出た結果を前もって示しているもの。 第2行目から、データを入れる。最低B1セルは空白にすること。 A列   B列   C列  D列 1122 1 1122 2 1111 2 1111 3 1112 3 1112 2 1112 1123 1 1111 1222 1 1123 4 1222 5 1111 1122 B列B2に =IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"")と入れて縦方向に複写 C列C2に =INDEX($A$2:$A$100,MATCH(ROW()-1,$B$2:$B$100,0),1)と入れて縦方向に複写 D列D2に =COUNTIF($A$1:$A$100,C2) と入れて縦方向に複写 後はC,D列の式を自分自身に複写して消して、D列で並べ替えする $100は仮に100行までのつもりでしたもので、最終行数以上で決めてください。

noname#66290
質問者

お礼

ご回答とヒントをくださりありがとうございます。 早速、下記のようにしてデータを思い通りに まとめることが出来ました。           A B C D E F 2000.10/5    2 8 10 13 27 30 . . 2006.5/18    10 15 20 28 41 43 データの集合場所にロト6で使う数字1~43の項目 をつくり、上記のように6つの数字の過去のデータを ABCDEFの枠で区切り、COUNTIF関数を用い、 出た数字の回数を各枠ごとにだしました。 そして、今度はSUM関数を用い、各数字の回数の合計を出し、 次にRANK関数を用い、各数字の合計回数に 順位をつけました。 ちょっとうまく説明できませんが、 ざっとこのような感じです。 もっといい方法があると思いますが、 6つの数字を6つの枠で区切れば、 表が見やすく、この先も続けていけそうなので このようにしてみました。 この度はアドバイスをいただきまして ありがとうございました。

noname#33272
noname#33272
回答No.3

ロト6の1~43の各出目の第1回~第300回までの出現回数の合計が出た行を並べ替えします。 並べ替えはタイトルバーの「データ」から選択します。

noname#66290
質問者

お礼

ご回答とヒントをくださりありがとうございます。 早速、下記のようにしてデータを思い通りに まとめることが出来ました。           A B C D E F 2000.10/5    2 8 10 13 27 30 . . 2006.5/18    10 15 20 28 41 43 データの集合場所にロト6で使う数字1~43の項目 をつくり、上記のように6つの数字の過去のデータを ABCDEFの枠で区切り、COUNTIF関数を用い、 出た数字の回数を各枠ごとにだしました。 そして、今度はSUM関数を用い、各数字の回数の合計を出し、 次にRANK関数を用い、各数字の合計回数に 順位をつけました。 ちょっとうまく説明できませんが、 ざっとこのような感じです。 もっといい方法があると思いますが、 6つの数字を6つの枠で区切れば、 表が見やすく、この先も続けていけそうなので このようにしてみました。 この度はアドバイスをいただきまして ありがとうございました。

  • 134
  • ベストアンサー率27% (162/600)
回答No.1

countif関数 と large関数を 組み合わせた 関数 ですかね。

noname#66290
質問者

お礼

ご回答とヒントをくださりありがとうございます。 早速、下記のようにしてデータを思い通りに まとめることが出来ました。           A B C D E F 2000.10/5    2 8 10 13 27 30 . . 2006.5/18    10 15 20 28 41 43 データの集合場所にロト6で使う数字1~43の項目 をつくり、上記のように6つの数字の過去のデータを ABCDEFの枠で区切り、COUNTIF関数を用い、 出た数字の回数を各枠ごとにだしました。 そして、今度はSUM関数を用い、各数字の回数の合計を出し、 次にRANK関数を用い、各数字の合計回数に 順位をつけました。 ちょっとうまく説明できませんが、 ざっとこのような感じです。 もっといい方法があると思いますが、 6つの数字を6つの枠で区切れば、 表が見やすく、この先も続けていけそうなので このようにしてみました。 この度はアドバイスをいただきまして ありがとうございました。

関連するQ&A

専門家に質問してみよう