• 締切済み

エクセルの乱数発生についてお尋ねします。

rand()のような関数のファミリーを使うと乱数が発生できます。 そこで、ある程度広がりを持ったシート内に乱数を発生させました。 それは満足していますが、マウスで処理をしたり、何かをアクティブにしたり非アクティブにしたりする操作をすると、乱数が毎回発生してしまいます。シートの数字がパッと変わるのです。 乱数を発生させるタイミングがコントロールできていないわけですが、どのように考えたらいいでしょうか。1回乱数を発生させたら固定したままで、”では、ここで乱数を発生させる”というコマンドの出し方なのですが。エクセルではどうしたらいいでしょうか。

みんなの回答

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.4

数式を使っている以上 自動計算を手動にしない限り 揮発性関数 の結果は随時再計算されます。 > 1回乱数を発生させたら固定したままで ということなら数式ではできません。マクロでランダム値を発生 させて「値」として入力します。 VBAはさっぱりということであれば 手作業が必要です。 RANDを作成した列をコピーして それを横の列に「値貼り付け」

  • chie65535
  • ベストアンサー率43% (8519/19367)
回答No.3

>どのように考えたらいいでしょうか。 RAND関数は「評価するたびに新しい乱数を発生する」ようになっています。 例えば、シートを「再表示する」とか「アクティブにする」とか「非アクティブにする」とか「F9キーで再計算する」とかの処理をすると、再評価され、乱数が再発生します。 ですので、乱数が入ったセルを「コピー」して、そのまま「形式を指定して貼り付け」⇒「値」で貼り付けして、値として貼り付けて固定する必要があります。 なお「値にして貼り付け」すると、乱数の再発生は出来なくなるので、新しい乱数を再発生させたい場合は「=RAND()」のように、数式にRAND関数を入力し直す必要があります。

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

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q118875531 のベストアンサー 計算方法を手動にするか乱数発生後に コピー→形式を選択して貼り付けで「値」にするしか方法は無いのでは ※VBAで作成すれば数式がSheet上には存在しないので固定できます ーー WEBで、「エクセル 乱数 固定」などで、照会してみたか。

  • Nobu-W
  • ベストアンサー率39% (725/1832)
回答No.1

https://okwave.jp/qa/q5436554.html 過去に同じような・・・

参考URL:
https://okwave.jp/qa/q5436554.html

関連するQ&A

  • エクセルで0超1未満の乱数を発生する方法

    タイトルの通りです。 EXCELのRAND関数は0以上1未満の乱数を発生しますが、0超1未満の乱数を作る方法を教えて下さい。 確率の検証用に乱数を作りたいのですが、0や1(0%や100%)は除きたいのです。もちろん非常に小さい数でも0でなければ採用したいのですが0だけはダメです。 実用上、RANDでも0は殆ど出ないとは思いますが…あるいは乱数を発生させておいて0になった時だけ再計算させれば良いのかもしれませんが、出来れば再計算無しで最初からそうしたいのです。

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

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

  • 乱数を発生させるプログラムを教えてください。

    タイトルのままなのですが、1から100までの乱数を発生させるプログラムを知りたいです。 乱数をxとおくと、xの値は、0<x<1の範囲内でお願いします。 C言語で、rand関数を用いて、どうかお願いします。

  • 正規乱数とは

    学校の宿題ですがまず正規乱数の発生は2つの方法があるというのですが、意味がわかりません。 正規乱数でなんですか。 なぜ12個足して6をひくのですか。 また逆関数法の=NORMSINV(RAND()) てどういう意味ですか。 正規乱数の発生 1 一様乱数を12個足して6を引く方法 =RAND()+RAND()+・・・・+RAND() - 6 12個分 2 逆関数法 =NORMSINV(RAND())

  • 乱数関数について

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

  • エクセル 任意の数字から始まる重複しない乱数

    お世話になります。 エクセル2003/XP 使用です。 RANK関数またはそれに似た利用方法でご教授願いします。 下記ページを参考に、"重複しない乱数”を作成しました。 http://www.relief.jp/itnote/archives/001798.php (ページ中程、▼操作手順:重複しない乱数を作成する 以下の部分) 乱数の最初の数字が1から始まる分には問題なくできるのですが、 乱数の数字を、「任意の数字から始めて」、 「任意の数字で終わる」ようにすることは可能でしょうか? 例えば、下記の例でいうと、 6から始まり10で終わる乱数です。        A列     B列 1行目 / =RAND() / 1-5の範囲でランダムな重複しない乱数 2行目 / =RAND() / 同上 3行目 / =RAND() / 同上 4行目 / =RAND() / 同上 5行目 / =RAND() / 同上 ------------------------------------------------------------ 6行目 / =RAND() / 6-10の範囲でランダムな重複しない乱数 7行目 / =RAND() / 同上 8行目 / =RAND() / 同上 9行目 / =RAND() / 同上 10行目 / =RAND() /同上 (11以下、繰り返し 略) よろしくお願いします。

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

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

  • エクセル 乱数でユーザーID

    エクセル2002使用です 一定規模の人数にユーザーIDなどを割り振るような目的で使用したいのですが、エクセルのrand関数もしくはVBAのrnd関数を使って、英数字を組み合わせて乱数を発生させることは可能でしょうか? よろしくお願いします。

  • 0 からa-1 までの整数の乱数をn 個発生させ、発生した整数のヒスト

    0 からa-1 までの整数の乱数をn 個発生させ、発生した整数のヒストグラムをプリントアウトしたいです.また,a とnはコマンドラインから引き渡します 0 からa-1 までの整数を発生する乱数の書き方は (int)((double)rand()/((double)RAND_MAX+1) *a); プログラムをRandHist としたとき RnadHist 10 1000 と入力すれば 0 982 1 1035 2 956 3 1102 ・ ・ 9 971 などと。出力されるようなプログラムを作る問題ですが,a とn は、任意に変えられるように したいです. どなたか教えてください.

  • ランダムな英数字を発生させてたいのですが

    Perl5をつかっています。 毎回ランダムな英数字の何桁かの文字列を発生させるCGIを作りたいのですが可能なのでしょうか? rand関数をつかうと乱数を発生はできるのはわかるのですが英文字ではないようなので困っています。 どなたかご教授おねがいします。

    • ベストアンサー
    • CGI

専門家に質問してみよう