- ベストアンサー
エクセルで重複しない乱数の発生
今エクセルで正負の数の足し算の100ます計算を作っていたのですが、 どうしても乱数表示をさせている所のどこかで数字が重複してしまい困っています。 なにかいい式はありませんでしょうか? ちなみに乱数の数字の範囲は-10~10にする為に、 =INT(RAND()*(10+10)-10) という式でやっています。 素人質問ですがよろしくお願いします<(_ _)>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>ちなみに乱数の数字の範囲は-10~10にする為に、 何か、ややこしい百ます計算ですね。縦と横の数値の範囲で、重複を許すのですか、許さないのですか? 0は、どうするのですか? 例えば、こんな風にして百ます計算表を作りますね。後は、工夫してみてください。 以下は、縦横重複が出ないようにしてあります。 A1~A20 =RAND() B1:(フィルダウン・コピーで、B20まで) =RANK(A1,$A$1:$A$20)-10 D1:(フィル・コピーで、M1まで) =OFFSET($A$1,COLUMN(A1),1) C2:(フィルダウン・コピーで、C10まで) =OFFSET($A$1,ROW(A11),1) ただし、0 が含まれます。
その他の回答 (2)
[No.1回答に対する補足]に対するコメント、 下記の手順では駄目ですか? Sheet2 A B C D 1 0.5620 5 0.7610 4 2 0.9734 1 0.8461 2 3 0.1902 7 0.6794 5 4 0.1431 8 0.3812 6 5 0.7737 3 0.7901 3 6 0.0169 10 0.3101 8 7 0.9345 2 0.3702 7 8 0.3714 6 0.1857 9 9 0.0748 9 0.0326 10 10 0.5720 4 0.8924 1 1.Sheet2 のセル A1、C1 に式 =RAND() を入力して、これらを下方に 10行目までズ ズーッと複写 2.セル B1 に式 =RANK(A1,A$1:A$10) を入力して、此れを下方にズズーッと複写 3.範囲 B1:B10 をセル D1 に複写 Sheet1 A B C D E F G H I J K 1 -8 -10 -5 -4 -2 -7 -6 -9 -3 -1 2 8 0 -2 3 4 6 1 2 -1 5 7 3 5 -3 -5 0 1 3 -2 -1 -4 2 4 4 1 -7 -9 -4 -3 -1 -6 -5 -8 -2 0 5 9 1 -1 4 5 7 2 3 0 6 8 6 2 -6 -8 -3 -2 0 -5 -4 -7 -1 1 7 7 -1 -3 2 3 5 0 1 -2 4 6 8 3 -5 -7 -2 -1 1 -4 -3 -6 0 2 9 4 -4 -6 -1 0 2 -3 -2 -5 1 3 10 6 -2 -4 1 2 4 -1 0 -3 3 5 11 10 2 0 5 6 8 3 4 1 7 9 4.Sheet1 のセル A2 に式 =MATCH(ROW(1:1),Sheet2!$B$1:$B$10,0) を入力して、こ れらを下方に 11行目までズズーッと複写 5.セル B1 に式 =-MATCH(COLUMN(A:A),Sheet2!$D1:$D10,0) をを入力して、こ れらを右方に K列までズズーッと複写 6.セル B2 に式 =$A2+B$1 を入力して、此れを範囲 B2:K11 に複写
補足
早速のお返事ありがとうございます^^ 縦と横には正負の数をきっちり分けるのではなく、 ランダムに正負の数字が表示されるようにしたいんです。 縦も横も1 -2 3 5 -8 4 -5 -7…といった感じに表示させたいんです。 注文が多くてスミマセン^^;
「足し算の100ます計算」とはどんな形をしているのですか?
補足
+1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 一応足し算のみをつくったのですが、 こんな形で左の列と上の行をたすような 形にしています。
補足
返事遅れてスミマセンでした(><; 縦と横の範囲での重複は特に気にしません。0はありです。 Wendy02さんの数式を早速実践させてもらいました。 確かに0が含まれますけど、とても思っていた物と 近い物が作れました。ありがとうございます^^