宝くじのロト6の出現数をエクセルで分析してみたいと思ってます。数字同士の相性について分析してみたいのですが、過去の当選結果からある数字、例えば6が出たときに8が出ることが多ければ多いほど相性が良いと言うふうにある条件によってその結果をわかりやすく整理していく場合、これを関数をつかってうまくデータ化することなんて可能でしょうか?ちょっと無理っぽい質問で申し訳ありませんが、どなたかよろしくお願いします。

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

A 回答 (2件)

ロト6には興味はありませんが(良く知りませんがが正しいです)質問内容を計算できるようにしてみました。

あってる?

Sheet2に実績を入力します。
A、B、C、D、E、F列に1つずつ数値を入力します。1行が1回分の実績です。
1行目から入力します。A~F列の数値は順不同でかまいません。

G列に算式を入れます。
 G1には =","&A1&","&B1&","&C1&","&D1&","&E1&","&F1&","
 A、B、C、D、E、F列に順に『1 2 3 4 5 6』となっていれば、G1は『,1,2,3,4,5,6,』になります。
 G1の算式を必要分、下にコピーして、G列のデータのある個所に範囲名『DATA』をつけます。

Sheet1で集計します。
A2、A3、A4・・・に1,2,3・・・43 を入力。(ロト6は1~43?)
B1、C1、D1・・・に1,2,3・・・43 を入力。

セルB2に
 =IF($A2=B$1,0,
  SUM(IF(DATA=",,,,,,,",0,
    ABS((FIND(","&$A2&",",DATA&$A2&",")<LEN(DATA))
      *(FIND(","&B$1&",",DATA&B$1&",")<LEN(DATA))))))

を入力。(見やすい様に空白を挿入しています。実際は空白なしで連続な算式です)
一旦入力したらEnterで登録します。
登録できたら、ファンクションキーF2を押して編集モードにして、Ctrl+Shift+Enterで登録します。
これで、B2に配列数式で登録できたことになります。
B2をC2~AR2にコピー。B2~AR2をB3~B44にコピーします。

質問の主旨にあっているでしょうか?ご参考に。
    • good
    • 0

こんにちは。

maruru01です。
自分でプログラムを組むのは大変な気がするので、適当なソフトをダウンロードしてはいかがですか。
ダウンロードサイトのベクターのURLを載せておきます。
ここで「ロト6」で検索するとそれなりに出てきますよ。
まあ、ちゃんとしたソフトはだいたいシェアウェアですが。
では。

参考URL:http://www.vector.co.jp/
    • good
    • 0

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

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

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

Q下記のようにA列にランダムで出現する数字に対して、B列でその出現間隔を

下記のようにA列にランダムで出現する数字に対して、B列でその出現間隔を計算する関数ってありますでしょうか?A列の数字が何千行となるため、単純な減算?等ではなく関数でやりたいのですが・・・。

(例)
A列 B列
 0
 0
 3
 0
 0
 0
 7  4
 0
 0
10  3
 0
 0

 色々検討しているのですが、うまく行かずに悩んでいます。誰か教えて頂けないでしょうか?。

Aベストアンサー

質問の意図が良く判りませんが、要するに、A列に0以外の数値がある時、その直前(上方向)の数値がある行から何行離れているかを表示できれば良いのででしょうか?
#7行目の前は3行目に0以外の数値があるので、4と表示

それでしたら、B2に↓の式を入れ、下方向にコピーしてください。B1ではなく、B2です。
=IF(A2=0,"",IF(SUMPRODUCT(MAX(ROW(A$1:A1)*(A$1:A1<>0)))=0,"",ROW()-SUMPRODUCT(MAX(ROW(A$1:A1)*(A$1:A1<>0)))))

QExcelでロト6の数字を決めたい

Excel関数を使って、「1~43の数字から重複しない6個の数字を算出する」方法ってありますか?マクロはよくわからないので関数で出したいです。いろいろ調べて、「RAND」とか「RANDBETWEEN」を使うといいとわかったのですが、「重複しない」ようにすることができません。お分かりになる方いらしたら、ぜひ教えて下さい。ずっと考えていたら頭が痛くなってきました・・・。

Aベストアンサー

A1に=randbetween(1,43)
B1に=randbetween(1,43)
...
F1に=randbetween(1,43)

A2に=countif($A$1:$F$1,"="&a1)
B2に=countif($A$1:$F$1,"="&b1)
...
F2に=countif($A$1:$F$1,"="&f1)

G2に=if(sum(A2:F2)=6,"OK",)

と入力してください。つまり、A1からF1に同じ数字がなければ
G2にOKと表示されます。

あとは、適当な回数だけファンクションキーF9を押してください。
シートが再計算され、乱数が更新されます。
OKと表示されたときの数字を使ってください。

Qミニロト・ロト6のビジュアル化

どなたかご存じでしたら回答をお願いします。
数字選択式宝くじのミニロトとロト6の抽選結果をエクセルに登録しております。
※()内の数字はボーナス数字です。
【ミニロト】
01 12 13 18 21 (06)

【ロト6】
01 12 23 34 35 43 (07)

上記結果を見やすくするために、本数字には「○」をつけて、ボーナス数字には「●」をつける方法
が知りたいです。

【ミニロト】       01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 ・・
01 12 13 18 21 (06) ○         ●           ○○          ○    ○

【ロト6】         01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22・
01 12 23 34 35 43 (07)○           ●         ○   

使用しているエクセルは2007です。

以上、よろしくお願いします。       

どなたかご存じでしたら回答をお願いします。
数字選択式宝くじのミニロトとロト6の抽選結果をエクセルに登録しております。
※()内の数字はボーナス数字です。
【ミニロト】
01 12 13 18 21 (06)

【ロト6】
01 12 23 34 35 43 (07)

上記結果を見やすくするために、本数字には「○」をつけて、ボーナス数字には「●」をつける方法
が知りたいです。

【ミニロト】       01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 ・・
01 12 13 18 21 (06) ○         ●    ...続きを読む

Aベストアンサー

#2です。
計算速度を上げる方法として、こんな方法もあります。
わかりやすさなら #3:keithinさんの方法でどうぞ。

数字はすべて数値。書式設定で2桁表示とする
ボーナス数字以外は、昇順で並んでいる。という前提のもと

H2セル
=IF($F2=H$1,"●",IF(LOOKUP(H$1,$A2:$E2)=H$1,"○",""))
右へ下へオートフィル
ちょっとしたエラー処理をつけるなら
=IF($F2="","",IF($F2=H$1,"●",IF(LOOKUP(H$1,$A2:$E2)=H$1,"○","")))

ロト6の場合はB列を右クリックして[挿入]すれば数式が変化します。
参考まで

Q数字出現数の印付け

どなたかご存じでしたら回答をお願いします。
数字選択式宝くじロト6、ミニロトの抽選結果をエクセルにつけております。
それを利用して、◎、○、△を付ける方法が知りたいです。

【例:抽選結果シート】 ※621回を最新抽選回数とする。

抽選回 第1数字 第2数字 第3数字 第4数字 第5数字 第6数字 ボ数字
                       :
611    2      12     18     24      31     39     16
612    7      18     31     32      39     40     35
613    2      6      18     26      32     37     5
614    2      18     22     25      35     41     1
615    6      16     24     32      35     43     28
616    2      7      18     19      24     35     17
617    5      7      18     28      31     35     10
618    4      15     18     31      35     42     13
619    2      11     29     31      33     38     14
620    7      10     18     19      35     38     12
621    2      15     16     28      35     40     20

【出現数カウント範囲】 11
【出現数シート】
1 2 3 4 5 6 7 8 9 10 11 …18 19 20 … 29 30 31… 35 36 37 38 39 40 41 42 43
 ◎     △        △           ○  ○

【注意事項】
 ・抽選結果シートは第1回抽選から最新抽選回まで入力されています。
 ・出現数カウント範囲に数字(1~99)迄を入力すると、最新抽選回数から遡った抽選結果迄を
  範囲として出現数シートのカウント数字の対象とします。
 ・出現シートの印(◎、○、△)は下記のルールでつきます。
   ◎ ・・・ 出現数が6回。
   ○ ・・・ 出現数が5回と7回。
   △ ・・・ 出現数が4回と8回。
  ※ボーナス数字は出現数にカウントしない。
  ※上記以外の出現数は、SPACEとする。
 ・出現数シートの数字は1~43迄です。
 ・エクセルは2007です。

どなたかご存じでしたら回答をお願いします。
数字選択式宝くじロト6、ミニロトの抽選結果をエクセルにつけております。
それを利用して、◎、○、△を付ける方法が知りたいです。

【例:抽選結果シート】 ※621回を最新抽選回数とする。

抽選回 第1数字 第2数字 第3数字 第4数字 第5数字 第6数字 ボ数字
                       :
611    2      12     18     24      31     39     16
612    7      18     31     3...続きを読む

Aベストアンサー

既に回答は出ていますが、Offset関数の使い方が理解できましたか?
Sumproduct関数を使った別案です。
カウント範囲のA2セルに集計したい範囲の行番号が入っているとして

=SUMPRODUCT((A1=抽選結果!$B2:$H14)*(ROW(抽選結果!$B2:$H14)<カウント範囲!$A2))
と入れて右へコピーすれば、
A1=抽選結果!$B2:$H14) の条件と
ROW(抽選結果!$B2:$H14)<カウント範囲!$A2) の条件が満たされたセルの数が出ます。

後は、NO2の方の様にCHoose関数を使って希望するマークにしてください。
=CHOOSE(SUMPRODUCT((A1=抽選結果!$B2:$H14)*(ROW(抽選結果!$B2:$H14)<カウント範囲!$G1))+1,"","","","","△","○","◎","○","△","","","","")
こんな感じでしょうか。

Qエクセル「数字の出現個数の計算式について」

お世話になります。
あるセル(A1)に(112345)という6桁の数値が入っています。この数値を構成する数字は5種類(1,2,3,4,5)になります。
この5と言う数字をB1セルに出す計算式は「=SUM((FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)<=LEN(A1))*1)」だとあるサイトに出ていましたが、私にはこの計算式の意味がどうにも分かりませんでした。
どのようにしてこの計算式がなりたっているのかご教示いただければと思います。

Aベストアンサー

●少し単純な式で配列数式に慣れましょう。
____A_B_
1_10183_4_

B1
=SUM(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A1))*1)
のほうが簡単です。

1.数式バーのFIND({1,2,3,4,5,6,7,8,9,0},A1)の部分だけを
マウスで選択して、F9キーを押してください。

FIND({1,2,3,4,5,6,7,8,9,0},A1)

{1,#VALUE!,5,#VALUE!,#VALUE!,#VALUE!,#VALUE!,4,#VALUE!,2}

となりますね。ESCキーで戻してください。
FIND(1,A1)→1はA1の中の何番目?(答) 1(1番目)
FIND(2,A1)→2はA1の中の何番目?(答) #VALUE!(無し)
以下同様に

□↓
{1,2,3,4,5,6,7,8,9,0}
FIND(□,A1)↓
{1番目,無,5番目,無,無,無,無,4番目,無,2番目}
この10回の演算を、背後でExcelが行っているんです。
配列を作る{ }は便利ですね。

2.
1番目だろうが5番目だろうが、関係ありません。
数値であれば、それを1種類と数えればいいんです。
そこで、ISNUMBER関数の出番。
ISNUMBER(FIND(1,A1))→1は数値?(答) TRUE
ISNUMBER(FIND(2,A1))→#VALUE!は数値?(答) FALSE

以下同様に

FIND(□,A1)↓
{1番目,無,5番目,無,無,無,無,4番目,無,2番目}
ISNUMBER(FIND(□,A1))↓
{TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE}

3.
TRUE(Excel関数では1)*1=1
FALSE(Excel関数では0)*1=0を使って
0,1の数値に変換

ISNUMBER(FIND(□,A1))↓
{TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE}
ISNUMBER(FIND(□,A1))*1↓
{1,0,1,0,0,0,0,1,0,1}

4.
あとはSUM関数で合計すれば種類の数
SUM(ISNUMBER(FIND(□,A1))*1)
=1+0+1+0+0+0+0+1+0+1
=4(種類)

●続いて、今回の配列数式。
____A_B_
1_10183_4_

B1
=SUM((FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)<=LEN(A1))*1)

1.数式バーのA1&1234567890の部分だけを
マウスで選択して、F9キーを押してください。

A1&1234567890

"101831234567890"
となりますね。ESCキーで戻してください。
後ろにつけた1234567890は一見無駄に見えますが、
#VALUE!のエラーを出さないための工夫です。
3.で役に立ちます。

2.
□↓
{1,2,3,4,5,6,7,8,9,0}
FIND(□,"101831234567890")↓
{1番目,7番目,5番目,9番目,10,11,12,4,14,2}

3.
1番目~5番目→10183(5文字)の範囲内で見つかったから、合格
6番目,7番目,...→10183(5文字)の範囲外でしか見つらなかったから、不合格
LEN(A1)=5文字も使って、
1番目~5番目→LEN(A1)以下だから、TRUE
6番目,7番目,...→LEN(A1)より大きいから、FALSE

FIND(□,A1&1234567890)↓
{1番目,7番目,5番目,9番目,10,11,12,4,14,2}
FIND(□,A1&1234567890)<=LEN(A1)↓
{TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE}

4.
TRUE(Excel関数では1)*1=1
FALSE(Excel関数では0)*1=0を使って
0,1の数値に変換

FIND(□,A1&1234567890)<=LEN(A1)↓
{TRUE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE}
(FIND(□,A1&1234567890)<=LEN(A1))*1↓
{1,0,1,0,0,0,0,1,0,1}

5.
あとはSUM関数で合計すれば種類の数
SUM((FIND(□,A1&1234567890)<=LEN(A1))*1)
=1+0+1+0+0+0+0+1+0+1
=4(種類)

●少し単純な式で配列数式に慣れましょう。
____A_B_
1_10183_4_

B1
=SUM(ISNUMBER(FIND({1,2,3,4,5,6,7,8,9,0},A1))*1)
のほうが簡単です。

1.数式バーのFIND({1,2,3,4,5,6,7,8,9,0},A1)の部分だけを
マウスで選択して、F9キーを押してください。

FIND({1,2,3,4,5,6,7,8,9,0},A1)

{1,#VALUE!,5,#VALUE!,#VALUE!,#VALUE!,#VALUE!,4,#VALUE!,2}

となりますね。ESCキーで戻してください。
FIND(1,A1)→1はA1の中の何番目?(答) 1(1番目)
FIND(2,A1)→2はA1の中の何番目?(答) #VALUE!(無...続きを読む


人気Q&Aランキング

おすすめ情報