• 締切済み

ExcelのRAND関数

ExcelのRAND関数で、0から1の間の乱数を発生させることができます。 たとえば、10万行のデータの各行に一度にRAND関数で乱数を発生させた場合(1件目に=RAND()を入力してから下方向コピーする。)、同じ値が発生することはありうるのでしょうか。 データ量が多くなるほど小数点以下の桁数が増えていくので、そのようなことは起きないようになっているのではないかと思いますが、実際はどうなのでしょうか? 

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

>RAND関数の周期は 10 の 13 乗を超える  という事は、例えば10万個のセルに一度にRAND関数で乱数を発生させた場合、1億分の1未満の僅かな確率ではありますが、同じ値が発生するという事になると思います。  因みに、1億分の1未満の確率というのは、10秒ごとに1回ずつ、10万個のセルに一度にRAND関数で乱数を発生させた場合、同じ値が発生するまでに要する平均時間が、31年9ヶ月以上にもなります。  但し、あくまでもこれは確率上の問題ですから、例えば5万人の人間が、同じ事をした場合には、5時間33分20秒に1人程度の割合で、同じ値が発生してしまう人が現れるという事になると思います。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.4

既に出た乱数が「出ない」ように制約をかけたら,それはもう完全な乱数じゃなくなります。 次のセルの=RAND()は,前のセルで出た目を含めた,全部の値が同じ確率で出ます。 つまり次の目で出た数字が出た確率と同じ確率で,ひとつ前のセルと同じ目も出ます。

  • f272
  • ベストアンサー率46% (7998/17099)
回答No.3

http://support.microsoft.com/kb/828795 これによるとRAND関数の周期は 10 の 13 乗を超えると言っています。 これを信じるとすれば,高々10万(=10 の 5 乗)程度で同じ値が出現することはありません。

ostkds
質問者

お礼

ありがとうございます。 理論的には同じ値が出現する可能性があるが、10万件程度のデータではユニークな値とみなしてよいという理解でよろしいでしょうか。 会社の実務で使っていて、同じ値が発生するかもしれないことを考慮した方がよいかが、気になっていました。 たとえは悪いですが、同じ値が出るのは、飛行機が落ちる確率にたいなものでしょうか。(感覚的な言い方ですみません。)

  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.2

あります。疑似乱数なので完全に全部違うと言うことはありません。ただ再計算(F9)をするとまた内容が変わります。 小数点の桁数が増えるということはないです。下の0を省略しているだけです。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

値をコピーしているのではなく、関数をコピーしているので同じ値がならぶことはまずあり得ない。 関数は都度演算を行って結果を返すので、同じ値がならぶことは滅多にありません。

関連するQ&A

  • RAND関数

    RAND関数で 質問あります。 RAND関数で 乱数発生の後、その 乱数が再計算される度、乱数が 変更されないように したいので、エクセルのHelp参照したら 「数式バーに =RAND()という数式を入力して”F9”キーを押し 数式を 計算結果の乱数に置き換えます」 と 書いてありましたが、何度やっても 固定されず 乱数のままです。 どうしたら 固定できるのでしょうか? お願いいたします。 エクセルは 2002です。 エクセル ヘルプの 検索は「RAND」で検索しました。

  • RAND関数です

    お願いします。 A1~A20までに入力枠があります この数値は他の箇所より参照しています。 このA1~A20の数値に対してB1~B20に=RAND()で乱数を発生するようにしていますが、ただ、データー入りがA1~A20行が最大で、A1~A7までの時とか毎回変化します。当然、データーの入っていない行にも乱数が発生します。 =IF(ISERROR(RAND()))、” ”、((RAND())))) で表示させないようにとしましたが、できません。 関数の」組み合わせ?マクロのコード? いい方法がありませんでしょうか、宜しくお願いします。

  • Rand関数について

    Rand関数について コンピューターの素人です。以下のカッコの中の理解で間違いないかどうか、教えてください。 「Rand関数は乱数を発生させる関数である。Rand関数は最小値と最大値を指定して、その範囲で整数の乱数を発生させることができる。」

  • RAND関数について

    http://okwave.jp/qa/q6489522.html の質問をしながらさらに疑問に思ったことがあります。 ランダムな数字を発生させようとしてRAND関数を使用しました。 今回は1以上で小数点以下の無い数字を発生させようとしました。 また、今回は9999以下にすることにします。 この場合「=RAND()*10000」とし、 桁区切りで小数点以下を消したら表示はランダムな四桁(以下)の数字が現れました。 ここで(例えば)「1234」の数字が現れたら書式設定する事にし、 条件付き書式から「1234と等しくなれば書式設定」をしたのですが、 1234が現れても書式が変わりません。 見た目は1234でも内部で違う数値だからなのでしょうか? このように乱数を発生させて任意の数字が出てきたら書式設定はどうすればいいのでしょうか?

  • EXCELで乱数 -RAND関数について

    Excelの乱数 Rand()について教えて下さい。 入力セルの数値変更をする度に各Rnad()のセルの 値が更新されますがこれを固定する方法を教えて下さい。 また「更新」と「更新の禁止」を切り替えるにはどうすればいいか 御願いします。

  • エクセルで、乱数の関数 同じ数が無いように

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

  • 乱数関数について

    「エクセルの乱数関数を用いて、0~1の乱数を100個発生させなさい」という問題があるんですが、どうしてもわかりません。RANDをつかうらしいですが。ぜひとも教えてください。

  • rand関数の割合変更

    C言語プログラムでrand関数を使用して乱数を取得しているのですが、 取得できる値の範囲の割合を変更することは出来ないでしょうか? 例えば、0~10の範囲の乱数を取得するようにしている場合、 0~3の範囲の値が全体の10%、 3~8の範囲の値が全体の50%、 8~10の範囲の値が全体の40% といった割合で取得するようにはできないでしょうか? よろしくおねがいします

  • エクセルで「乱数」を出す@関数は?

    「1-2-3」では、乱数を出す関数は「@INT(@RAND*400)+1」で1~400の間のアットランダムな乱数をさながらサイコロのように出すことが出来るのですが、エクセルではそういう関数があるのでしょうか? 是非教えて下さい。

  • Excelでの関数

    こんにちは、お願いします。 販売管理の入力データをExcelへ移して一覧表を作成したいと思います。 同じコードNO.のデータが何件もある中で、同コード1件だけの行を抽出して表を作成する方法があるでしょうか? 並び替えや、関数によるSheet間のコピーなど… 関数では検出する値はセル単位のみですか?コードを元に行全体を選択してコピーや移動などできるのでしょうか? うまく説明できないので内容が良くわからないかもしれませんが、すみません。 何か良い方法があれば是非教えてください。 宜しくお願い致します。

専門家に質問してみよう