目次
特定の目的(電話番号、抽選、統計的サンプリングなど)のために、繰り返しのない乱数を生成する必要があります。 しかし、一般的なExcelの計算式を使用すると、繰り返しのある乱数が得られる場合があります。 今回は、Excelで繰り返しのない乱数生成として9つの方法を適切な説明とともに紹介します。
練習用ワークブックをダウンロードする
繰り返しのない乱数発生器.xlsx
Excelで乱数ジェネレータを繰り返しなく実装する9つの方法
最初の4つの方法は、Excel 365で新しくリリースされた配列関数を使用して、繰り返しなしで乱数を生成する方法です。 しかし、残りの方法は、特に以前のバージョンのExcelを使用している方にとって、すべてのExcelバージョンに適しています。 結論から言うと、9つの方法は、次のように使用できます。 エクセル乱数発生器 をリピートのない状態で
メソッドに入りましょう。
1.RANDARRAY関数を使う
まず最初に、「Select」「Select」「Select」「Select」「Select」「Select」の使い方を確認します。 ランダレイ 関数で乱数を発生させることができます。
があります。 ランダレイ Excel 365 で導入された関数で、乱数のリストを配列形式で得ることができます。 また、この関数を使って、値の重複がない乱数を得ることもあります。
例えば、1〜200までの繰り返しなしの乱数を20個作りたい。
このような条件下では、以下のような式になります。
=RANDARRAY(10,2,1,200,TRUE)
これです。 10 は行数です。 2 は列の数である。 1 は最小値です。 200 が最大値となり、最後に 真 は整数の場合です。
しかし、この方法は、大きな数値範囲から少数の数値を求める場合(例えば、1から200/500までの10/20の数値を生成する)に有効です。 それ以外の場合は、重複した数値を生成してしまいます。
続きを読む 乱数を生成するExcelの計算式(5例)
2.UNIQUE & RANDARRAY関数の利用
第二に、アプリケーションの UNIQUE 関数と同様に ランダレイ 関数を使用します。
があります。 UNIQUE Excel 365、Excel 2021のバージョンで利用できる関数で、与えられたデータセットまたはセル範囲からユニークな値のリストを返します。 そこで、2つの関数を利用して、繰り返しのない乱数を生成することができます。
結合式は次のようになります。
=unique(randarray(10,2,1,100,true))
これです。 10 は行数です。 2 は列の数である。 1 は最小値です。 200 が最大値となり、最後に 真 は整数の場合です。
⧬ 上の式で、私は randarray(10,2,1,100,true) を配列として、1から100までの20個の乱数を発生させます。 その後 UNIQUE 関数は生成された乱数から一意な値を返します。
3.SORTBY関数とSEQUENCE関数の応用で、繰り返しのない乱数を生成する
3つ目は、いくつかの動的配列関数の組み合わせを利用することである。
があります。 SEQUENCE Excel 365 & Excel 2021バージョンのみで利用可能な関数で、連番のリスト(配列)を作成する。
例えば、1から10までの数字のリストを得たい場合、次の式を使う必要があります。
=SEQUENCE(10)
これです。 10 は行数です。
次に ソートビ は,値の配列を別の値の配列で昇順あるいは降順にソートします。 したがって,この関数を SEQUENCE & ランダレイ 関数を使って、繰り返しのない10個の乱数を作成します。
=sortby(sequence(10),randarray(10))
⧬ 式を説明しながら、次のように言うことができます。 ランダレイ(10) は10個の乱数のリストを生成します。 SEQUENCE(10) 構文は、10個の数字のリスト(連番)を生成します。 そして SEQUENCE(10) と ランダレイ(10) として使用されます。 勢揃い 論と by_array(バイアレイ の引数を指定します。 ソートビ 関数で,連番をランダムな順序で並べ替えたいからです.
続きを読む エクセルVBAで乱数を生成する方法(4例)
4.INDEX関数を繰り返しなしの乱数発生器として利用する。
もし、繰り返しのない乱数のリストを作りたいのであれば、次のようになります。 INDEX 関数と、先に述べた ランダレイ , SEQUENCE & UNIQUE また、4種類の乱数を生成することができます。
4.1. 整数乱数の生成
1から100までの乱数を繰り返しなく10個生成する必要があるときは、次の式を使うだけです。
=index(unique(randarray(10, 1, 1, 100, true))), sequence(10))
⧬ 式を説明しながら、次のように言うことができます。 SEQUENCE(10) は10個の連番を作成します。 乱数配列(10, 1, 1, 100, true) は、1から100までの10個の乱数を生成する。 なぜなら 真 は整数の生成に使われます。 その後 UNIQUE は,生成された数値から繰り返しの値を削除します。 最後に INDEX 関数が指示する10個の乱数を返します。 SEQUENCE その場合、出力 UNIQUE 関数は配列として使用されます。
4.2. 乱数10進数の生成
繰り返しのない10進数の乱数を10個生成したい場合は、以下の式を使用するとよいでしょう。
=index(unique(randarray(10, 1, 1, 100, false))), sequence(10))
これです。 10 は行数です。 2 は列の数である。 1 は最小値です。 100 が最大値となり、最後に ファルス は10進数を生成するためのものです。
4.3. 整数値の範囲の生成
同様に、以下の式で乱数整数値の範囲を生成することもできます。
=index(unique(randarray(20, 1, 1, 200, true))), sequence(10,2))
これです。 20 は行数です。 1 は列の数である。 1 は最小値です。 200 が最大値となり、最後に 真 は整数を生成するためのものです。
4.4. 10進数の乱数範囲を生成する
1から100までの10進数の乱数範囲を生成する場合は、以下の式を使用します。
=index(unique(randarray(20, 1, 1, 100)), sequence(10, 2))
これです。 20 は行数です。 1 は列の数である。 1 は最小値です。 200 が最大値となり、最後に FALSE は10進数の生成用です。
続きを読む Excelで小数を含む乱数を生成する(3つの方法)
5.乱数生成のためのRAND関数とRANDBETWEEN関数
があります。 ランド を使うと,0から1の間の数値が生成されます.幸い,重複した値が生成される可能性はほとんどありません. ランド 100000回の使用回数を超えると、繰り返し値が発生する可能性があります。
そこで、ユニークな10進数を生成したい場合は、以下の式を使用します。
=RAND()
さらに ランドビュートゥエン は、与えられた2つの数値の間の整数を返します。
例えば、1〜100の整数を求める場合は、以下の式で求めることができます。
=randbetween(1,100)
これです。 1 は 下 論と 100 は トップ の議論になります。
を使用する場合、残念ながら値の繰り返しが発生する可能性が高いです。 ランドビュートゥエン 関数を使用することができます。 複製を削除する オプションを指定します。 データ のタブをクリックします。 データツール リボンでセル範囲を選択した後
続きを読む エクセルで重複のない乱数を生成する方法(7つの方法)
類似の読み物
- Excelで0から1の間の乱数を生成する(2つの方法)
- Excelで5桁の乱数ジェネレータ (7例)
- Excelで4桁の乱数ジェネレータ(8例)
- Excelでリストから乱数を生成する(4つの方法)
- Excelの範囲指定による乱数発生機能 (8例)
6.乱数発生器としてのRAND & RANK関数の適用
さらに ランク 関数で、与えられた数値のリストに基づいて、数値の相対的な大きさを返します。 その前に、ランダムな10進数のリストを ランド 関数を使用します。
=rank(b5,$b$5:$b$15)です。
これです。 B5 は10進数のスタートセルであり B5:B15 は10進数用のセル範囲です。
続きを読む Excel VBA:重複のない乱数発生器(4例)
7.RANK.EQとCOUNTIF関数の組み合わせの活用
例えば、10〜50までの繰り返しのない乱数を生成したいとします。
そのような場合、以下のような組み合わせで使用することがあります。 ランク.EQ & COUNTIF 関数を使って、繰り返しのない乱数を生成します。 その前に、10 から 50 までの数字のリストを ランドビュートゥエン 関数を使用します。
ここで、以下の式を使ってみてください。
=9+rank.eq(b5、$b$5:$b$15) + countif($b$5:b5, b5) - 1
これです。 B5 は乱数の開始セルであり B5:B15 は10進数用のセル範囲です。
⧬ 式を説明しながら、その COUNTIF 関数は,リスト内の各乱数をカウントしています。 また ランク.EQ は各乱数の相対位置(ランク)を返し、最後に 9 というのは、10から始まる数を生成したいからです。
8.ExcelでLARGE & MATCH関数を乱数発生器として使用する。
の組み合わせで、繰り返しのない乱数整数を生成することも可能です。 LARGE と MATCH の機能です。 LARGE 関数は、与えられたセル範囲またはデータセット内のk番目の最大値を返します。
=large($b$5:$b$15,row(b1))です。
これです。 B$5:$B$15 を使用して求めたランダムな10進数のセル範囲です。 ランド 関数を使用します。 列(B1) は、行番号1を指します。
次に、作成された最大値の位置を以下の式で求める必要がある。
=match(c5,$b$5:$b$15,0)
これです。 C5 は最大数のスタートセルである。 B$5:$B$15 はランダムな10進数のセル範囲であり、最後に 0 は完全一致を取得するためのものです。
9.Excelで乱数発生器としてのAnalysis Toolpak
最後に、Excelの数式を使う代わりに、繰り返しのない乱数を生成する必要がある場合は、次のようにします。 アドイン のExcelを使用しています。
を使用する場合 アドイン は、以下の手順で行ってください。
⇰に移動します。 ファイル > オプション .
をクリックする ⇑。 アドイン を選択し エクセルアドイン をドロップダウン・リストから選び、オプションを選択します。 行く .
⇰ すると、次のようなダイアログボックスが表示されますので、その前のボックスにチェックを入れてください。 解析ツールパック を押してください。 よっしゃー .
⇄ では、次のように選択します。 データ分析 オプションを指定します。 データ のタブをクリックします。 分析 リボン
⇰ 次に、オプションを選択します。 乱数発生 を押してください。 よっしゃー .
⇰ すぐに、以下のダイアログボックスが表示されます。
⇰ そして、希望する出力に応じたオプションを選択します。
Ȑ 例えば、私が選択したのは 変数数 と 乱数数 かわりに 4 & 10 を持つ数値のリストをそれぞれ生成します。 10 列と 4 の欄があります。
⇄ もっと重要なことは、私たちが選択しなければならないことです。 流通 かわりに ユニフォーム というのは、値の繰り返しを避けたいからです。
⇰後ほど。 10間 と 30 は、範囲内の数字を見つけたい、という意味です。
⇄ 最後に 出力範囲
すべての作業を終えると、次のような出力が得られます。
続きを読む データ解析ツールとExcelの関数による乱数発生器
よくあるエラー
しかし、上記の数式をExcelで繰り返しなしの乱数生成器として使用する際、以下のようなエラーに遭遇することがあります。
エラーの名称 | 発生時期 |
---|---|
カルク!#CALC | もし UNIQUE 関数は一意な値を抽出することができません。 |
#SPILL! | が存在する流出範囲に何らかの値がある場合、その値を削除する。 UNIQUE 関数はそのリストを返します。 |
#VALUE! | があります。 ランダレイ 関数は、最小値が最大値より大きい場合に発生します。 |
結論
以上、Excelの乱数発生器として、繰り返しのない方法をご紹介しました。 あとは、お好みで方法を選んでください。 この記事が、あなたのExcel Journeyを楽にすることを願っています。