• ベストアンサー

エクセルで5ずつ累加の乱数を生成したい

5行ごとに乱数による順列を生成したいのです。 データが800ほどあり手作業ではしんどいので、いろいろと工夫しているのですがうまくいきません。 良い方法があれば教えてください。よろしくお願いします。 A列     B列 1    4 2    3 3    5 4    2 5    1 6    10 7    6 8    9 9    8 10    7 11    15 12    13 13    11 14    12 15    14 16    19 17    20 18    18 19    16 20    17

  • ei60
  • お礼率62% (123/198)

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

  • ベストアンサー
noname#99913
noname#99913
回答No.3

B1に、 =RANK(C1,INDIRECT("$C$"&1+INT((ROW()-1)/5)*5&":$C$"&INT((ROW()-1)/5)*5+5))+INT((ROW()-1)/5)*5 C1に、 =RAND() と入力後、2つのセルを下へ必要なだけコピー。 この方法ではA列は使いません。A列を使う場合は、「ROW()」を「A1」に書きなおしてください。

ei60
質問者

お礼

わ~、ものすごい数式ですね。 早速のご回答ありがとうございました。 ぴったりとうまくいくので感心しました。 その度に違う乱数の数列が作れるので便利です。 ありがとうございました。

その他の回答 (2)

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

データがA1から始まっているとして C列を使わせて頂く案を。 =RAND()+CEILING(A1,5) RAND()は「0~1」の間で乱数を発生します。 CEILINGで、A列の数値を、5の倍数に近い数字に切り上げます。 1~5行目までは「5」、6~10行目までは「10」という結果になります。 これを足すことにより、C1~C5までは「5プラス乱数(小数)」、C6~C10までは「10プラス乱数(小数)」となります。 最後に、B~C列を選択肢、「並べ替え」で、C列昇順とすると、お望みの結果になると思います。 (用済みになったC列を削除) やや手間かも知れませんが、試してみて下さい。

ei60
質問者

お礼

早速のご回答ありがとうございました。 ぴったりとうまくいきました。 ついでに欲張ってもう1列横に別に乱数を作りました。 1時間ほどあれこれ試してうまくいかなかったので本当に嬉しいです。 CEILINGという関数初めて知りました。覚えておきます。 ありがとうございました。

  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

A列は1から1つずつ増加 B1に =INT(RAND()*5)+INT((A1-1)/5)*5 前半は乱数(0~1)を発生させて5倍して小数点以下切捨てたもので 0から4の乱数になります。 後半は5ずつ増加の計算式です。 これをそのままコピーすればよいです。

ei60
質問者

お礼

早速のご回答ありがとうございました。 うまくいったと思ったら0が出てきたり、重複もありました。 私のやり方がまずいのかもしれません。 上の方のやり方で解決しました。 ありがとうございました。

関連するQ&A

  • 乱数の生成方法

    乱数を生成するソースコードを探しています rand関数で生成される乱数はよい乱数ではないようで それ以外でいい乱数を生成する方法はどのようなものがあるのでしょうか また、実装したソースコードのサンプルがあればWEBページなどを教えていただきたいです

  • 完全な乱数を生成する方法

    C言語で乱数を生成するときに、今まで srand(time(NULL)); を使用していたのですが、それだと1秒以内に複数の処理を行った際に、 同一の乱数が生成されてしまいます。 時間にとらわれずに完全にランダムな数字を出現させるにはどのような方法を取るのが簡単なのでしょうか? よろしくお願いします。

  • EXCELでの、3桁の擬似乱数生成方法について質問です。

    EXCELでの、3桁の擬似乱数生成方法について質問です。 エクセルで、3桁の擬似乱数をいくつもランダムに生成するにはどのようにすればよろしいでしょうか? 重複する可能性も含んだ擬似乱数の生成方法、宜しくお願い致します。

  • Excel VBA 足し算の問題を自動生成したい

    子供のために、「1+2」のような単純な足し算の問題をひたすら大量生成したいのですが、どう組むのが一番良いでしょうか。   A  B  C  D   1 乱数 + 乱数 = 2 乱数 + 乱数 = 3 乱数 + 乱数 = 私の頭で考える限りは、こんな感じのものを何行にも渡り繰り返させれば良いのかなあとぼんやり考えているのですが、乱数を使うプログラムが私にはなかなか難しく、うまくできません。 それと・・・ ・「まったく同じ問題が二行続けて出る」事だけは避けたいのですが、 その他の重複はまったく構わないという場合はどう組めば良いでしょうか。 ・「1桁+1桁」「2桁+1桁(と、2桁+1桁)」「2桁+2桁」それぞれのシートを1枚ずつつくりたいのですが、生成される数字の桁を指定する事はできるのでしょうか。 わからない事だらけで申し訳ないのですが、教えていただけると幸いです。

  • 桁数の多い乱数の生成法

    50桁から300桁といった桁数の多い乱数の生成法を探しています。 乱数生成アルゴリズム等を使用するのは、ネットで調べてわかるのですが、具体的な方法がほとんど載ってませんでした。 詳しくのっているページがあれば、教えてください。

  • Mathematicaによる乱数生成について

    Mathematicaを用いて正規分布に係数をかけた物に従った乱数を生成したいのですが、ヘルプを調べても分からず困っています。 具体的に行いたいことは、 RandomReal[1/3*NormalDistribution[0,10], 100]          ~~~ のような事です。 正規分布の確率密度関数(平均0,分散10)に係数(ここでは1/3)をかけた分布に従う乱数を100個生成したいということです。 どなたか解決方法をご存知の方がいらっしゃいましたらよろしくお願いいたします。

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

    お世話になります。 エクセル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以下、繰り返し 略) よろしくお願いします。

  • 乱数の発生の仕方について

    例えば、セルB1に1月C2に2月という感じで列の指定をして(仮に6月まで)、A2にAAA、A3にBBB、A4にCCCとあったとします。 それぞれ月の合計も決まっていて、AAA,BBB,CCCの合計も決まっています。 その際にセルB2:G4までのなかに乱数を発生させ、表を完成したいと思います。 列のみか行のみならうまくいくのですが、列・行とも考えての乱数ができません。 アドバイスよろしくお願いします。

  • 乱数の出し方で・・・

    たとえば、39人を乱数を使って並べ替えたいのですが、B列以降に名前や必要な項目を書き、A列に=RAND()を入れそれを使って並び替えるのではなく、1から39までの乱数を重複なしに発生させることはできないのですか???

  • EXCELの乱数表

    以下の作業なんですがやり方がわからないんで教えてください!お願いいたします!! 乱数表を作って、乱数表を利用し2個の数字を取り出す。(AとB) ↓ その取り出した数字を取り出した順に並べ、一つの数値とする。(AB) ↓ それらをデータXに変換する。 乱数AB |00|01~06|07~30|31~68|69~92|93~98|99 データX |-3|  -2 |  -1 |   0  |  1  |  2  |  3 ↓ 上記を繰り返し、大きさN=4の標本を100個作製する。 よろしければ以上のやり方を教えていただけると幸いです。 当方EXCEL初心者で、さっぱり困ってます!(><) よろしく願いいたします!

専門家に質問してみよう