• 締切済み

ランダムな数字の出し方

エクセルで たとえば20個のばらばらの整数があるとき、この中から重複しない5個の整数を取りだす方法はありませんか。 よろしくお願いいたします。

みんなの回答

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.5

https://oshiete.goo.ne.jp/qa/9481413.html マルチポストっぽいからリンクしときます。向こうにも回答付いてます。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>エクセルで たとえば20個のばらばらの整数があるとき、この中から重複しない5個の整数を取りだす方法はありませんか。 「20個のばらばらの整数」とは重複が無い20個の乱数と考えて良いですか? Excelのバージョンが提示されていませんがExcel 2007以降のバージョンとして良いですか? 本来なら模擬データを提示して頂き、Excelのバージョンも提示して頂いた上で組み込み関数で抽出するか、マクロ(VBA等)を使うなどの希望も述べられた方が良いでしょう。 Excel 2013で検証した結果を添付画像を添えて回答します。 A2~A21セルにRANDBETWEEN関数で101~200の値を発生させ重複を削除した模擬データを設定しました。 B2セルへ次の数式を入力してShift+Ctrl+Enterキーの打鍵で確定します。 =INDEX($A$1:$A$21,LARGE(INDEX((MMULT(($A$2:$A$21<>TRANSPOSE(B$1:B1))*1,ROW(B$1:B1)/ROW(B$1:B1))=ROWS(B$1:B1))*ROW(B$2:B$21),0),RANDBETWEEN(1,SUM((MMULT(($A$2:$A$21<>TRANSPOSE(B$1:B1))*1,ROW(B$1:B1)/ROW(B$1:B1))=ROWS(B$1:B1))*1)))) B2セルをオートフィルでB6セルまでコピーしました。 A列の色付きセルは条件付き書式でB列に抽出された値と一致しているものが一見できるようにしました。

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.3

[No.2]です。私の回答が奇異に感じられるかも知れないので補足しておきます。 質問文では「20個のばらばらの整数があるとき」と仰ってるけど、これ等に重複がない、とは言っておられない。 つまり、重複があるかも知れないと解釈した次第。その中から、無重複5個を選びたい、というのが質問の趣旨と思ったのです。 質問者さん、 元データの20個には重複は全くないのですか?

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.2

1.5個未満しかない場合はどうしませう? 2.6個以上ある場合は、どの5個を「とりだす」のでせうか?

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

横列に RAND関数を入れて その列を昇順にソートして上から5つを抜き出す のが簡単だと思いますけど。数式やるにしても RANDを横に置いた方がやり やすいと思います。 無理にやるなら .......A.......B 1..番号...抽出 2...101....119 3...102....107 4...103....111 5...104....106 6...105....112 7...106 8...107 9...108 10..109 11..110 12..111 13..112 14..113 15..114 16..115 17..116 18..117 19..118 20..119 21..120 ■B2セル =LARGE(IF(FREQUENCY(B$1:B1,A$2:A$20)=0,A$2:A$21),RANDBETWEEN(1,COUNT(A2:A$21)))

関連するQ&A

  • Excelで整数ランダムにだすには

    Excelで整数ランダムにだすにはどのようにすればいいのでしょうか? 整数 1~50 同じ整数を重複しない よろしくお願いします。

  • ランダム関数で任意の桁数のランダム数字を作りたい

    エクセル2000ユーザーです。ランダム関数を使い、重複を許さない5桁のランダム数字を1000個作りたいと思っています。randbetween関数を使おうと思ったのですが、2000では使えないのか、NAMEといったエラー表示がでます。5桁の中は同じ数字がでてきても構いません。例:11295、43634、70676・・・etc。 が、1000個の中では同じ数字が重複しないようにしたいです。 =RIGHT(RAND(),5) のように考えたのですが、他にいい方法はありますでしょうか? マクロやVBAは苦手なので、できれば関数でいいやり方があれば教えてください。

  • PHPで変数を重複しないようにランダムで配置したい

    表題のとおりなのですが、書きソースを見てもらえればわかりやすいかと思いますので、まずはご一読頂けると幸いです。 -------------------------------------------------------------------------------- <?php $rank[1] = "<td>100個</td>"; $rank[2] = "<td>200匹</td>"; $rank[3] = "<td>300万</td>"; $rank[4] = "<td>400億</td>"; $rank[5] = "<td>500台</td>"; ?> <table>  <tr>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>  </tr>  <tr>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>   <?php echo $rank[ここに重複しないランダムな整数を入れたい]; ?>  </tr> </table> -------------------------------------------------------------------------------- このような形で、 [] の中の数字を重複せずにランダムに入力されるようにしたいです。 目的としてはテーブルの中の要素をページを更新するたびにランダムに並べ替えるためです。 私が思いついた方法は上記のようなものが一番シンプルで良い気がしたのですが、ほかにスマートな方法がありましたら、是非教えていただきたいです。 サンプルでは変数の中にちょっとしたものしか入っていませんが、実際にはもっと長いものになります。 どうかよろしくお願い致します。

    • ベストアンサー
    • PHP
  • エクセルで重複しないランダムな1桁の数

    似たような質問はたくさんあるのですが,どれも今ひとつしっくりこないのであらためて質問します。 エクセルでA1:I1の範囲に1から9の数を重複なしでランダムに表示させたいのですが,よい方法を教えてください。(九九の練習プリント作成のためです。) 現在の知識で=TRUNC(RAND()*9)+1 とすることによって1から9までの整数値をランダムに表示することはできているのですが,これだけだと重複してしまいます。これを修正していただけると助かりますが,別の方法でもかまいません。 よろしくお願いします。

  • Excel 文字や記号を重複無し&ランダムで出す

    以前、整数をランダムかつ重複しないように出す方法を質問しました。 http://okwave.jp/qa/q8998274.html 今度は、文字や記号などの整数以外のものをランダムかつ重複しないように出したいのですが… 可能でしょうか?

  • エクセルでランダムに数字を並べる

    エクセルでランダムに数字を並べる方法を教えて下さい。 1から10のマスの中に1から10の数字をランダムにいれたいのです。 但し、一度使った数字は2回使えないようにします。 このルールでわかるでしょうか? 不明な点は時間のある時に補足します。

  • ランダムに6つの数字を選びその際、数字が重複しない様にする方法が知りたいです。

    6個の枠があり、ボタンを押すとそれぞれの枠に ランダムに1~43の数字が表示できるようにしたいです。 その際それぞれの数字が重複しない様にしたいです。 ランダムに数字を選ぶようには、何となく解りますが、 重複しない様にする方法が解りません。 よろしくお願いします。

  • 1から20までの整数から、重複なくランダムに3つ数づつを取り出す

    1から20までの整数から、重複なくランダムに3つの数を取り出したいんですけど、簡単に出来るのでしょうか ?

  • 整数のランダム生成について

    エクセル98を使用しています。 例えば1~5の数字の整数をランダムに発生させようとしているのですが、 =INT(RAND()*5+1) と記述する方法と =INT(RAND()*5)+1 と記述する方法があるのですが、どちらが良いのでしょう? 実際試したみたところ、どちらも1~5の整数をランダムに発生させることができています。 結局は同じ意味なのでしょうか? 大したことではないのですが、よろしくお願いします。

  • EXCELで、ランダムに数字を出したい

    EXCELで、縦横5×5のセルの中で、ランダムに25までの数字を入れたい。どのようにすればよいのでしょうか。

専門家に質問してみよう