人に聞けない痔の悩み、これでスッキリ >>

乱数に関する既出の質問と回答を読んでみました。恥ずかしながら余りに高度で私には分かりませんでした。

行いたい作業は1以上43以内の重複しない整数の乱数を4個(6個)発生させ昇順に並べる。です。「重複しない」と「昇順」ができません。

手順を教えていただければあとは自助努力でがんばろうと思っています。

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

A 回答 (1件)

こんにちは。



=RAND() をコピーして43個にして、A1:A43 にして、

それを

B1 から、
=RANK(A1,$A$1:$A$43)

のようにすれば、重複が発生しない数が出てきますので(例外はあるけれど)、

こんどは、C1から、

=SMALL($B$1:$B$6$,ROW())

と、6個取り出すとか、4個取り出せばよいとは思います。

(注意:Excelのワークシートで「乱数発生」として、RAND 関数はちゃんと、2147483648 種の乱数を発生できるのですが、ワンステージで乱数の発生は 32768 種しかありません。つまり、乱数ジェネレータで一回の乱数系列を発生させて、それを使うと意外にも少ないことが分かります。そのために、本来は、VBAで、乱数ジェネレータを、RANDOMIZE関数で初期化しなければいけません)

本来は、統計的な処理したほうがよいかと思います。相当に難しそうです。ところで、このロト6などで、生計を立てている人が世の中にはいるようですね。とても驚きました。
    • good
    • 1
この回答へのお礼

早速の御教示に感謝です。前半の9行は理解できました。やってみます。

(蛇足)実は、一個1億円のジュラルミンケースで20個くらいの当選金を手にする妙にリアルな夢を見まして、「これは正夢か!!」と欲をかいている次第です。

お礼日時:2006/09/16 19:45

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

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

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

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

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

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に凝っています。
自分でクイックピックをエクセル上に作成したいのですが出来そうですか?=RAND()とか使ってみたんですが、???って感じです。ちなみにですがロト6のクイックピックとは「1から43までの数字の中からランダムに6つの数字を選び出したい」ということです。ただ、ランダムという表現が正しいのかは疑問ですが先に選ばれた数字と同じ数字は使用しないという条件です。暇な時で結構なので、もしお分かりの方がいらっしゃいましたら数式で教えてください。

Aベストアンサー

すいません次々と
B1に
=RANK(A1,$A$1:$A$43)
といれてB6までコピーするとB1からB6に重複しないランダムな数値が入ります。
こっちの式のほうがはるかに簡単ですね。
さらに数字を小さい順に並べたいならC1に
=SMALL($B$1:$B$6,ROW())
と入れてC6までコピーすればC1からC6に順番に数値がランダムに並びます。

Qロト6の組み合わせをExcelを使って表にランダムの数字で抽出する方法

ロト6の組み合わせをExcelを使って表にランダムの数字で抽出する方法

ロト6の組み合わせ・・・・
1~43までの数字から6つの数字を選ぶ。

それを100通り作りたいんですが、関数や数式など、方法を教えてください。
100通りの組み合わせはすべて異なる組み合わせにしたいです。

よろしくお願いします。

Aベストアンサー

関数「rand」と「int」などが使えます。
数字が43種類なので、rand()の値を1/43で割った整数部分を取って、ランダムな数字として生成できます。これだと6つの数字が互いに重複することがあるので「countif」などを使って重複した組み合わせを除外してください。結果を並び替えしてみると分かりますが、6つの数字の組み合わせが重複することは稀です(一等?の当選確率とほぼ同じ確率です)。私が生成したランダムな組み合わせも貼っておきます。

4242918218
1343321243
2015223630
27232812019
42242721931
194278165
373339231617
432924233730
38532273335
242132382729
4027213293
93815281043
391835283026
1081193331
8285411819
33422431424
2241252418
10181620739
33247423032
283826122942
272834182243
9431711223
35872717
3522310530
303923311713
3627374039
113726962
26331254311
1538202626
2520141514
5181341431
262443223932
19104253230
37152312218
16520341227
381519252035
16191322140
11438122839
43642162737
172736413742
17133991215
4112205103
40825124223
2267372240
24433313421
101539301419
20169322215
20334235194
1211221345
84334211239
6439291942
153332372919
431626649
232724134143
10197412534
6413619101
30111122034
39432921128
25289301020
10332343022
611041211
34373221138
331927354339
6207392326
42311832639
20292511141
16419244133
32211336253
1841712268
4225125147
1523117930
273242283021
2473113404
27113373336
1169422537
409818165
43183940346
382651340
365383014
2117377426
26152420417
263229371011
41219432616
13102024251
38291930153
8166433021
62625103028
41536173443
530358231
3419920116
5625263730
25930223634
2836472635
34422132627
2331062714
73121202941
316132620
5153111934
73422422918

関数「rand」と「int」などが使えます。
数字が43種類なので、rand()の値を1/43で割った整数部分を取って、ランダムな数字として生成できます。これだと6つの数字が互いに重複することがあるので「countif」などを使って重複した組み合わせを除外してください。結果を並び替えしてみると分かりますが、6つの数字の組み合わせが重複することは稀です(一等?の当選確率とほぼ同じ確率です)。私が生成したランダムな組み合わせも貼っておきます。

4242918218
1343321243
2015223630
27232812019
42242721931
19427...続きを読む

Qエクセルで指定した数字

エクセルで指定した数字の中からランダムで数字を6つ抽出できる方法がありますか??
たとえばロトなんですが大体数字を予想するのですが20個とかなった場合中々決めれません。
なので1,3,5,8,11,26,29,32、…この指定した数字の中からランダムで選びたいのですが。何方か教えてください。
よろしくお願いします。

Aベストアンサー

No.1です。No.2さんの方法で重複は防げるのですが、分析ツールのアドインがインストールできないのでしょうか。

アドインを使わない方法です。No.2さんのアイデアをお借りしています。

・A1からA20に、20個に絞った数字を入力していきます。

・B1に
=RAND()
という数式を入力します。

・B1のセルを選択し、セルの右下の辺りにマウスを近づけると、マウスポインタが細い+型に変わるので、そこでマウスをクリックして、B20までドラッグしてコピーします。B1からB20まで1未満の乱数が並びます。

・C1のセルに以下の式を入力し、配列数式なので Ctrl+Shift+Enterで確定します。
=INDIRECT("A"&LARGE((B$1:B$20<=SMALL(B$1:B$20,6))*ROW(B$1:B$20),ROW()))
配列数式なので、数式バーの数式が{}で囲まれるのを確認してください。

・B列と同様に、C1セルをC6までコピーします。

これで、C1からC6に重複なくA列の数値を抽出できます。F9を押すたびに値は変化します。

No.1です。No.2さんの方法で重複は防げるのですが、分析ツールのアドインがインストールできないのでしょうか。

アドインを使わない方法です。No.2さんのアイデアをお借りしています。

・A1からA20に、20個に絞った数字を入力していきます。

・B1に
=RAND()
という数式を入力します。

・B1のセルを選択し、セルの右下の辺りにマウスを近づけると、マウスポインタが細い+型に変わるので、そこでマウスをクリックして、B20までドラッグしてコピーします。B1からB20まで1未満の乱数が並びます。

...続きを読む

Qエクセル指定した範囲からランダムで一つ抽出

エクセルの関数についての質問なのですが、

B1~B5に値がならんでいたとして、B1~B5の中からランダムに一つ抽出したものをA3に表示する関数はありますか?

Aベストアンサー

A3に次の式を入力すればよいでしょう。

=INDEX(B1:B5,RANDBETWEEN(1,5))

Qエクセル関数を使って、ランダム抽出をしたいです

エクセル関数を使って、ランダム抽出をしたいのですが
どの関数を使用すればいいのかわからないのです。

現在、1つのシートにいろいろなデータが入っているのですが、
D列のデータを使い、そのデータをランダムに25件抽出したいのです。

よろしくお願い致します。

Aベストアンサー

Sheet1にデータが入っているとして、そのD列のデータをSheet2のA列に取り出して操作をすることにします。
関数で取り出すのでしたらSheet2のA1セルに次の式を入力し下方にオートフィルドラッグします。
=Sheet1!D1
B1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(A1="","",RAND())
C1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(A1="","",RANK(B1,B:B))
D1セルには次の式を入力し下方にオートフィルドラッグします。
=IF(OR(COUNTIF(C:C,ROW(A1))=0,ROW(A1)>25),"",INDIRECT("A"&MATCH(ROW(A1),C:C,0)))
これでSheet2のD列にはランダムに抽出されたデータが並ぶことになります。
なお、F9のキーを押すことで抽出操作を繰り返すことができます。

Q【エクセル】ランダムで重複しない整数を出したい。

Windows 7、エクセル2007です。
ランダムで重複しない整数を任意の範囲から一部のみ入力するにはどうしたら良いでしょうか?

1.任意の範囲「1~50」とか「1~100」とか「15~300」とかから、20個だけとか40個だけとか。
2.ランダムなので「2,6,3,4,8,1・・・」とかのn、n+1、n+2ではないランダムな整数。
3.重複しないこと。

上記1~3を満たしたやり方ってありますか?
出てこない数があっても良いんです。

例えば、1~10までの範囲でランダムに3個だけセルに入力したいとき。
A1に7、A2に4、A3に9というふうに。
それが1~300の範囲で50個の数字をランダムに重複しないように入力する。
A1に15、A2に163、A3に92、・・・A50に43。
残りの250個の数字は入力されないという感じです。


乱数だと重複します。
ランク(順位)と組み合わせると、連続(n、n+1、n+2)になってしまいます。
列はどこでも良いんですが、行は連続したいです。
A1~A50とか、A1~A300とか。

関数の組み合わせでできないでしょうか?
また、マクロは分からないので、詳しく解説して頂けると助かります!

情報が不足する点がありましたら指摘して下さい。
追加します。

Windows 7、エクセル2007です。
ランダムで重複しない整数を任意の範囲から一部のみ入力するにはどうしたら良いでしょうか?

1.任意の範囲「1~50」とか「1~100」とか「15~300」とかから、20個だけとか40個だけとか。
2.ランダムなので「2,6,3,4,8,1・・・」とかのn、n+1、n+2ではないランダムな整数。
3.重複しないこと。

上記1~3を満たしたやり方ってありますか?
出てこない数があっても良いんです。

例えば、1~10までの範囲でランダムに3個だけセルに入...続きを読む

Aベストアンサー

No.4・5・6です。
たびたびごめんなさい。

すでに当方の回答よりも良い回答は出ていますが・・・

前回の数式があまりにも長すぎたので少し簡単にしてみました。
作成する表には○から○までの整数だけを表示し、
そのかなからRAND関数の大きい順に「表示数」だけ表示するようにしています。

↓の画像の
G1セルに
=IF(H1="","",RAND())
H1セルに
=IF(C2="","",C2)
という数式を入れオートフィルでしっかり下へコピー!

A1セルに
=IF(COUNTBLANK($C$2:$E$2),"",IF($E$2<ROW(A1),"",VLOOKUP(LARGE(G:G,ROW(A1)),G:H,2,0)))
という数式を入れオートフィルで下へコピーすると
画像のような感じになります。

前回と考え方は同じですが、作業用の表に余計なものを表示しないようにしてみました。

何度も失礼しました。m(_ _)m


人気Q&Aランキング