• ベストアンサー

エクセルで、任意の数字で乱数表を作りたい・・・。

関数を使って乱数表を作成する場合 例えば、「『1~100』の数字から8個の数字を選んで乱数表を作成する」とか、「『1~9』の数字を使って乱数表を作る」とかしますが、 そうではなくて、自分が選んだ数字のみで乱数表を作りたいのです。 例えば、「2」「4」「5」「8」「11」「13」「16」という風に数字を選んで、その数字がランダムに出現する乱数表です。 「5 11 2 8 13 5 16 4 4 13 2 8 8 5 11 2 2 2 16 8・・・」 こういう感じの乱数表です。 PCの初心者ですので、ウィザード風にして、次のようにご教示してくださると助かります。   1.・・・・・・・・・・   2.・・・・・・・・・・・・・・   3.・・・・・・・   4.・・・・・・・・・・・・・・・・・・・・   5.・・・・・・   6.・・・・・・・・・・       ・       ・       ・ 関数等に詳しい方 宜しくお願い致します。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.5

No.2です。 おかしいですね、私の環境では正常に表示されるのですが。 #NAME? とは関数名を間違えていたり、アドインが入ってないのにアドインが必要な関数を使っていたりするときに出るのですが、今回はアドインが必要な関数は使ってません。OFFSET,INT,RAND,COUNTは全部標準で使用できる関数です。 式をそのままコピーして貼り付けたなら、間違うことはないと思うのですが、そのようにされてますでしょうか?

heisenberg
質問者

お礼

こんにちは。 大変、遅くなってしまい、申し訳ないです。 >「式をそのままコピーして貼り付けたなら、間違うことはない・・・。 上記についてですが、実は、この、ネットに接続しているPCと、乱数を作成しているPCは別で、コピーして張り付けることは、わたしにはできないのです。多分、PCに詳しい方なら、2台のPCを接続したりして可能なんでしょうけど・・・。 という訳で、もう1台のPCに貼り付けることはできませんが、後でこのPC内でエクセルを立ち上げてやってみたいと思います。 改めて、遅れたことをお詫び致します。 ご回答、有難うございました。

その他の回答 (4)

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

No.2です。 そんなに広い範囲に入力するのですね。 それではもう一度。 1.Sheet2のA列に、自分で選んだ数字を入力していきます。 2.Sheet1の乱数を入力したい範囲を選択します。 3.上の方のfxと書いてあるところの右の欄に、以下の数式を入力。(まだEnterは押さないでください) =OFFSET(Sheet2!$A$1,INT(RAND()*COUNT(Sheet2!$A:$A)),0,1,1) 入力は、この画面から上の式を選択して右クリック→コピーの後、 エクセルの入力欄で右クリック→貼り付け が楽です。 4.Ctrlを押しながらEnterキーを押す。 これで全てのセルに乱数が入るはずです。

heisenberg
質問者

補足

すみません。 教えて頂いた通りにやったつもりなんですが、上手くいかないです。 全てのセルに「##」が表示され、セル幅を拡げてみますと「#NAME?」というのが表示されます。 どこで間違ったのか、分かりません。 数回、やり直してみたんですが・・・。

  • gatyan
  • ベストアンサー率41% (160/385)
回答No.3

たとえば、こんな式でできます A列 A1,A2,… に好きな数をいれる 乱数の式を好きなだけ入れる 式:=INDEX($A:$A,RAND()*種の個数+1,1) 種の個数は、A列に入れた数の個数

heisenberg
質問者

補足

済みません。 教えて頂いた通りにやったつもりなんですが、乱数表は作成できませんでした。 「乱数の式を好きなだけ入れる」というのは、どういう意味でしょうか?何処に入れるのでしょうか? また、既述の数字を使って、「A1~IU200」の範囲に乱数表を作りたい場合、範囲を指定した後、ディスプレイ上部のfxという表示のある窓に、教えて頂いた式を入力すれば宜しいのでしょうか? 何分にも、初心者なので、質問文にある通りに、順を追って丁寧に説明して頂けると有難いのですが・・・

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

No.1です。少し訂正。 =OFFSET(Sheet2!$A$1,INT(RAND()*COUNT(Sheet2!$A:$A)),0,1,1) にしてください。数式を入れた式をドラッグでコピーしたら、No.1のままでは相対参照なので、セルの位置が狂ってしまうので。

heisenberg
質問者

補足

済みません。 教えて頂いた通りにやったつもりなんですが、乱数表は作成できませんでした。 例えば、既述の数字を使って、「A1~IU200」の範囲に乱数表を作りたい場合、範囲を指定した後、ディスプレイ上部のfxという表示のある窓に、教えて頂いた式を入力すれば宜しいのでしょうか? 何分にも、初心者なので、質問文にある通りに、順を追って丁寧に説明して頂けると有難いのですが・・・。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

1.Sheet2のA列に、自分で選んだ数字を入力していきます。 A B C… 2 4 5 8 11 13 16 2.Sheet1の乱数を表示させたいセルに以下のように入力します。 =OFFSET(Sheet2!A1,INT(RAND()*COUNT(Sheet2!A:A)),0,1,1) 3.乱数が表示されます。F9を押すたびに再計算されて、他の値に変わります。(もちろん変わらないときもあります)

関連するQ&A