親子におすすめの新型プラネタリウムとは?

実はナンバーズ3の予想数字と適当に出しただけの数字との当選率を比較する為にエクセルでランダムに数字を出したいのですが条件があります。

・3桁の数字であること。
・3桁のランダム数字は指定した数の分だけ出せる(例えば3桁の予想数字が20個あれば、こちらも20個出せる)
・同じ3桁の数字が2個以上出ないこと。

可能なら、やり方を教えて下さい。

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

A 回答 (3件)

単純にランダム関数を使うと、同じ数が出てくる可能性があります。

3桁ぐらいですと、確率的には結構あると思います。

絶対に同じ数を出さない方法です。下の式を900行までコピーしてください。3桁の数がランダムに900個得られます。

  A     B
1 =RAND()  =RANK(A1,A:A)+99



900
    • good
    • 3

=RANDBETWEEN(100,999)



RANDBETWEEN関数
http://xl-kobeya.seesaa.net/article/17925651.html
    • good
    • 0

ランダムな数字を出す関数があります



  RAND()

()の中に入れる引数はありません
この関数は 0以上 1以下のランダムな数字を返してきます
3桁の数字を求めるには、
 =INT(RAND()*1000)
これでOK
0から999までの数字が返ってきます

または RANDBETWEEN関数です
この関数は指定した範囲の整数を返してきます
例: =RANDBETWEEN(0,999)

これらの関数を各桁に設定してみてはいかがでしょう
    • good
    • 0

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

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

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

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

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

Qエクセルで1から10の数字をランダムに並び替えたいのですが、わかりません。

 エクセルで乱数表をつくる方法があると聞き、やってみましたが、さっぱりわかりません。宿題で使うので困っています。どなたか、教えて下さい。お願いします。

Aベストアンサー

関数を使います
セルに下の式をコピーして
他のセルにコピー→貼り付けしてみてください
元の関数は、0~1の乱数発生です
それを10倍して、切り上げました。
(切り上げでも丸めでも何でも良いとは思いますが)

=ROUNDUP(RAND()*10,0)

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

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

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

Aベストアンサー

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

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

Qランダム関数で任意の桁数のランダム数字を作りたい

エクセル2000ユーザーです。ランダム関数を使い、重複を許さない5桁のランダム数字を1000個作りたいと思っています。randbetween関数を使おうと思ったのですが、2000では使えないのか、NAMEといったエラー表示がでます。5桁の中は同じ数字がでてきても構いません。例:11295、43634、70676・・・etc。
が、1000個の中では同じ数字が重複しないようにしたいです。

=RIGHT(RAND(),5)

のように考えたのですが、他にいい方法はありますでしょうか?
マクロやVBAは苦手なので、できれば関数でいいやり方があれば教えてください。

Aベストアンサー

=RIGHT(RAND(),5)
だと、末尾に0が連続するようなケースで不正な結果になってしまう可能性があります。
=RIGHT(INT(100000+100000*RAND()),5)
というのはどうでしょうか?
それから、1000/100000なので確率は低いかもしれませんが、重複はありえます。(100個に1個ぐらい)
1100個ぐらい生成して、重複するものは排除してください。

QExcelで事前にセルに入力した言葉をランダムに表示

例えばA1に「いぬ」 A2に「ねこ」 A3に「ぞう」 A4に「たぬき」 A5に「きつね」と入力します
次に
B1~B10に 「いぬ」「ねこ」「ぞう」「たぬき」「きつね」のいずれかを自動にランダムに表示する方法を教えてください
こんな便利な機能があれば良いと思うのですが・・・

Aベストアンサー

=INDIRECT("A"&INT(RAND()/0.2)+1)

INT(RAND()/0.2)+1 で1~5までの整数が得られます。
INT(RAND()/0.1)+1 で1~10までの整数が得られます。
INT(RAND()/0.02)+1 で1~50までの整数が得られます。
INT(RAND()/0.01)+1 で1~100までの整数が得られます。

それでA1からA5、A1からA10、A1~A50、A1~A100のセルの内容を取得しています。A2からなら+2にしてください。
F9キーを押すたびに再計算されて、表示も変わります。

Qエクセルで3ケタの乱数

今度くじ引き大会をするのに3ケタの数字を250名ほどに配りたいのですが、それぞれの数字が重複なくかつ各桁数の数字が重複しないで乱数をエクセルで生成する方法を教えてください。(例えば、101,221,199などは除外したいです)

RAND,RANDBETWEEN関数を使ってみましたが、重複してしまうし、221などのような各桁で数字が重複してしまうものができてしまうのでうまくいきません。

よろしくお願いします。

Aベストアンサー

>簡単に説明をお願い

数式自体はごく単純なつくりです。回答の手順を間違いなく行っていれば、数式はあなたがふつーに使っている関数だけで構成されていると思いますが?

ABC列に記入したのはあなたがヤリタカッタその通り、
1)(D列に表した)それぞれの数字が重複なく(最初のCOUNTIF)
2)(ABC3列の)各桁数の数字が重複しない(2つ目のCOUNTIF)
数字が表れるまで、エクセルに繰り返し0~9の乱数を発生(INT(RAND()*10))させ、条件をクリアして計算が止まるまで繰り返し計算(=探索)させています。

D列は計算を簡単にするため、ABC列の3つの数字をくっつけて一つにしているだけです。
E列は結果の確認用で、探索には使っていません。


250行ぐらいまでなら問題なく探索は終了する(確認用のE列にすべてOKが並ぶ)と思いますが、もっと沢山の行数を計算させようとすると、一回の探索ではNGが残る可能性もあります。その時はF9キーを押すことでもう1サイクル探索を続行し、NGが無くなるまで繰り返します。
(他の方からも言われているように、全部で720通りの数字があります。最後の数個まで漏れなく探索しようとすると、結構時間がかかります。もしそういう網羅的な方法をしたいなら、000から999までの数字をまず並べて、条件に満たない(NGの)行を取り除いていった方が遥かに簡単です)

一般的にRAND関数をふつーに使うやり方では、何かの拍子で再計算が走る都度、これまでの計算結果がすべてお釈迦になってまた最初から全部やり直しになりますが、回答した手順は条件を満たした行ではそれ以上再計算させず、NGの行だけが探索するように仕込んであります。
もしも新しい乱数の組み合わせを再度やり直したくなったら、2行目以下をいったん消去し、A1:E1を改めてコピーして目的の行数分貼り付け直して下さい。

>簡単に説明をお願い

数式自体はごく単純なつくりです。回答の手順を間違いなく行っていれば、数式はあなたがふつーに使っている関数だけで構成されていると思いますが?

ABC列に記入したのはあなたがヤリタカッタその通り、
1)(D列に表した)それぞれの数字が重複なく(最初のCOUNTIF)
2)(ABC3列の)各桁数の数字が重複しない(2つ目のCOUNTIF)
数字が表れるまで、エクセルに繰り返し0~9の乱数を発生(INT(RAND()*10))させ、条件をクリアして計算が止まるまで繰り返し計算(=探索)させ...続きを読む

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エクセルで、乱数の関数 同じ数が無いように

乱数を発生させる関数で、RAND関数は、小数点(0~1の間)で、RANDBETWEEN関数は整数で出るとのことですが、RANDBETWEEN関数は同じ数字がいくつか重複して出ます。整数で同じ数が出ないようにする関数はないでしょうか?

Aベストアンサー

そういう関数はありませんが,そういう数字を簡単に並べる方法は沢山あります。


たとえば1から10をランダムに並べるなら。

方法1
A1:A10に =RAND() を記入しておく
B1に =RANK(A1,A:A) と記入し,B10までコピーする。
F9を押すたびに何度でも順序が入れ替わる。


方法2
A1:A10に =RAND() を記入しておく
B1:B10に 1から10までの数字を記入しておく
A列昇順で全体を並べ替える。何度でも。


方法3:
エクセルのオプションで反復計算のチェックを入れ,回数を10000回ほどにしておく
A1に =IF(AND(A1<>0,COUNTIF($A$1:$A$10,A1)=1),A1,RANDBETWEEN(1,10)) と記入し,
A10までコピー貼り付ける。

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行までとしていますが、必要に応じて変更して下さい

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

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&Aを見た人がよく見るQ&A

人気Q&Aランキング