プロが教える店舗&オフィスのセキュリティ対策術

重複しない乱数表を作成したいと思います。
「=RANDBETWEEN(0,50)」では、「0~50」の範囲内で、数字が重複する乱数表ができますが、数字が重複しない乱数表を作成するには、どういう関数を使えばよいですか?
縦方向(つまり「列」)では重複しても構いません。
横方向(つまり「行」)で重複しないようにしたいのです。
つまり、「横方向に0から50までの数字51個が一通り、必ず1個ずつ出現してから、次に同じく、0から50までの51個の数字による新たな数列を、各数字が重複しないように作りたい」のです。
51個の数字による一まとまりの数列内で数字が重複していなければ、これと同じ数値配列が全く別の場所に出現しても構いません。
表の範囲は任意ですが、仮に「B7~N106」とします。

過去の回答を検索しましたが、適切なものがなかったので質問しました。
宜しくお願い致します。

A 回答 (1件)

はじめまして


発想を変えて0~51の数字をランダムに並べ替えるというのはいかがでしょうか。
1.A1に0~A51に50の数字を順次入力
2.B1~B51に=rand()を入力
3.B列をキーにして並び替え
これでA列には0~50の数字がランダムに並びます。

その後、A列をコピー&形式を指定して貼り付け(行列を入れ替える)を行えば横に0~51の数字がランダムに並びます。

この作業の繰り返しで質問の表が作れるかと思います。
…同じ作業の繰り返しなのでマクロを使えばもっと楽になります。
    • good
    • 1
この回答へのお礼

お礼が遅くなり、申し訳ありません。
ご教示頂いた方法で乱数表を作成してみます。
有難うございました。

お礼日時:2008/04/08 17:07

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