• ベストアンサー

エクセル関数 RAND関数で数字を固定させるには!?

RANDで数値をランダムに発生させ、その数値を使い、他の場所へコピーすると 毎回ランダムに数値が変わりますが、発生させたあと固定するにはヘルプでは、 =RAND()を数式バーに入力しF9を押すと書いてますが、それでは変化するし 入力するとランダムな数字が数式バーにでて、リターンするとまた変化します どこのセルに入力するのか!?またそのランダムな数値をコピーして形式を値にしてコピーする方法しか思い当たりません。 なんとかヘルプで説明しているように簡単な操作でできませんか、どなたか ご存知でしたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

よくある  「計算されません。どうしたらいいのでしょう」 の逆ですね 「ツール」 → 「オプション」 → 「計算方法」(タブ) → 計算方法(項目) ここで、「自動」から 「手動」を選択し直してください そうすると、F9を押すまで値は変化しません …他の計算式も更新されませんけどね それが嫌なら、値をコピーでしょう マクロを作っておくと便利です 「ツール」→「マクロ」→「新しいマクロの記録」→とりあえず「OK」ボタンを選択 →RAND関数を使ったセルを選択→「編集」→「コピー」→値を貼り付けたいセルを選択→「編集」→「形式を選択して貼り付け」→「値」を選択→「OK」ボタンを選択 →「ツール」→「マクロ」→「記録終了」 マクロはこの一連の操作で作成できます マクロを使うには 1.使用するマクロを選択して使う 2.ショートカットキーを使う 3.フォームのボタンにマクロを割り付けて、ボタンを押すとマクロが起動するようにする の3通りがあります 1・2は 「ツール」→「マクロ」で選択実行できたり、オプションからショートカットキーを設定できたりします 3はフォームからボタンを作成するとそのボタンにマクロを関連づけることができますのでチャレンジしてみてください

mistyk
質問者

お礼

ありがとうございました。さっそく手動で計算させてから、コピーしてみます。 マクロも使ってみます。できたら報告します。

その他の回答 (1)

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.1

ヘルプより ----- > RAND 関数で乱数を発生させた後、ワークシートが再計算されるたびに乱数の値が変更されないようにするには、数式バーに「=RAND()」という数式を入力して F9 キーを押し、数式を計算結果の乱数に置き換えます。 ----- ヘルプを言い直すと 『RAND 関数で乱数を発生させた後、ワークシートが再計算されるたびに乱数の値が変更されます。』 『数式バーに「=RAND()」という数式を入力して F9 キーを押すと、入力されたRAND関数が発生する乱数を数値に置き換えます。』 こんな感じになるでしょうか。 『乱数を発生させた後、変更させないためには』 とは違うんです。 既に発生した乱数を固定するためには、値貼り付けになるかな。

mistyk
質問者

お礼

ありがとうございます。 乱数を数値に置き換える意味は、変更させない意味と違うんですね。 ヘルプの解釈が未熟でした。

関連するQ&A

  • RAND関数

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

  • Rand関数を使って

    A1のセルに=int(rand()*100+1)という関数を使って1から100までのランダムな数字を入れるようにしました。A2からA101までに連続した 1~100までの数字が入力してあります。 B列には、氏名が入力してあります。 で、A1に出たランダムな数値の行に色をつけたいのですが、マクロの書き方がわかりません。 どなたか教えていただけないでしょうか。 よろしくお願いいたします。

  • RAND関数について

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

  • Excelのマクロを使って数字を入力したいのですが、方法がわかりません。

    ExcelのG列とI列にランダムに3桁の数字を作成しました(=ROUND(RAND()の数式を使いました)。 あいだのH列には‐(ハイフン)が入力されています。 これらを別のシートの同じ列に形式を“値”と選択してコピーしました。これらの数字をB列に入力したいのです。 具体的には、たとえば、G1セルに265,H1セルに-、I1セルに849と入力されているとしたら、B1セルに265-849と入力されるように設定したいのです。 それぞれの列にはランダムな数字が並んでおり、対応するB列のセルに同様に入力されるように設定したいのですが、方法がわかりません。マクロを使えばよいとのことですが、どなたか詳しく教えてください。 よろしくお願いします。

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

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

  • Excel. Vba

    Vbaでセルの値だけコピーしたいのですが可能でしょうか? 数式を埋め込んだセルに、数値が入力されたセルを形式を値だけ貼り付けにして貼り付けても数式が消えてしまって値だけ入ってます。 数式は消さず、値だけコピーというのはvbaで実現可能でしょうか?

  • RAND関数です

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

  • ExcelのRAND関数

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

  • エクセルの小数点以下の数字の表示

    よろしくお願いします。 1ヶ月くらい前になるのですが、同じ内容で質問を舌のですが そのときに使っていたIDを削除してしまったせいか、過去ログ を検索しても出てこなかったので大変申し訳ないのですが もう一度教えていただきたいのです。 内容は、もらったデータでセル上では0.10と表示されていて数式バーも0.10になっているんです。 そのせるにちょっと手を加えてしまうとセル上は0.10のままなのですが 数式バーが0.1になってしまうのです。それと左よりだった数値が右よりになってしまうのです。 他のセルでこの値を拾ってきているので、0.1になると困るのです。 以前の回答では数式バーが0.10になっているセルの状態が確定されてない??見たいな事を言われ、 とりあえずその数値をコピーして形式を選択して貼り付けで、 値を選択すればいいといわれたのですが、 他にもやらないといけない操作があったような気がするのですが忘れてしまいました。 どなたか教えてください!

  • エクセルで挿入した列に関数が値を返しません。

     エクセルで列を挿入したセルに、関数を入力しても値を返しません。 関数を入力しても、数式バーに表示される数式がセルに表示されるだけで、答えは出ません。式はあっていて、違うセルに数式をコピーして張り付けると、値を返します。  また、挿入した列に元からある空白の列をコピーして貼り付け、関数を入力しても値を返します。  どこかで変な設定をしてしまったのでしょうか?  分かる方、どうか教えてください。

専門家に質問してみよう