繰り返しのないExcelで乱数を生成する方法
この記事では、数字を繰り返すことなくExcelでランダム化するいくつかの異なる式について説明します。また、乱数、日付、文字列のリストをリピートなしで作成できる普遍的なランダムジェネレーターを紹介します。
おそらくご存知のように、Microsoft Excelには、Rand、Randbetween、Randarrayなどの乱数を生成するためのいくつかの機能があります。ただし、関数の結果が無料で複製されるという保証はありません。
このチュートリアルでは、一意の乱数のリストを作成するためのいくつかの式について説明します。 Excel 365および2021の最新バージョンでのみ機能し、Excel 2019、Excel 2016、Excel 2013以前の任意のバージョンで使用できることに注意してください。
事前定義されたステップで一意の乱数のリストを取得する
Excel 365とExcel 2021では、動的な配列をサポートするだけです。
最新のExcelバージョンがある場合、一意の乱数のリストを取得するための最も簡単な方法は、3つの新しい動的配列関数を組み合わせることです。
sortby(sequence( n )、randarray( n ))ここで、 nは取得したいランダム値の数です。
たとえば、5つの乱数のリストを作成するには、 nに5を使用します。
=SORTBY(SEQUENCE(5), RANDARRAY(5))
最上部のセルに式を入力し、 Enterキーを押してください。結果は、指定されたセルの数にわたって自動的に流出します。
以下のスクリーンショットで見ることができるように、この式は実際に数値をランダムな順序で並べ替えます。繰り返しのない古典的な乱数ジェネレーターが必要な場合は、以下に次のような例をご覧ください。
上記の式では、埋める行の数だけを定義します。他のすべての引数はデフォルト値に委ねられます。つまり、リストは1から始まり、1で増分されます。別の最初の数字と増分が必要な場合は、シーケンス関数の第3(開始)および4番目の(ステップ)引数の独自の値を設定します。
たとえば、100から始まり、10から増加するには、この式を使用します。
=SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))
この式の仕組み:
内側から作業して、式が行うことは次のとおりです。
- シーケンス関数は、指定されたまたはデフォルトの開始値とインクリメントステップサイズに基づいて、一連のシーケンシャル番号を作成します。このシーケンスは、sortbyの配列引数に移動します。
- RandArray関数は、シーケンスと同じサイズの乱数の配列を作成します(5行、この場合は1列)。最小値と最大値は実際には重要ではないため、これらをデフォルトにしておくことができます。この配列は、sortbyのby_array引数に移動します。
- ソートバイ関数は、Randarrayによって生成された乱数の配列を使用して、シーケンスによって生成されるシーケンシャル数をソートします。
この単純な式は、事前定義されたステップで非繰り返し乱数のリストを作成することに留意してください。この制限をバイパスするには、以下に説明する式の高度なバージョンを使用します。
重複していない乱数のリストを生成します
Excel 365とExcel 2021では、動的な配列をサポートするだけです。
複製せずにExcelで乱数を生成するには、以下の汎用式の1つを使用します。
ランダム整数:
index(unique(randarray( n ^2、1、 min 、 max 、true))、シーケンス( n )))ランダムな小数:
index(unique(randarray( n ^2、1、 min 、 max 、false))、シーケンス( n )))どこ:
- nは生成する値の数です。
- Minは最小値です。
- 最大値は最大値です。
たとえば、繰り返しのない1から100の5つのランダム整数のリストを作成するには、この式を使用します。
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))
5つの一意のランダムな小数を生成するには、ランデレーの最後の議論にfalseを置くか、この引数を省略します。
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))
この式の仕組み:
一見すると、式は少し難しく見えるかもしれませんが、よく見ると、その論理は非常に簡単です。
- RandArray関数は、指定したMIN値と最大値に基づいて乱数の配列を作成します。生成する値の数を判断するには、2のパワーに希望する数のユニークを上げます。この例では、5つの一意の乱数は必要ですが、Randarrayに25(5^2)を生成するよう指示します。
- 一意の関数は、すべての重複を削除し、複製のないアレイをインデックスに「フィード」します。
- 一意で渡された配列から、インデックス関数はシーケンスで指定された最初のn値を抽出します(この場合は5つの数値)。値はすでにランダムな順序であるため、どの値が生き残るかは実際には問題ではありません。
注記。非常に大きな配列では、この式は少し遅い場合があります。たとえば、最終結果として1,000個の一意の数字のリストを取得するには、RandArrayが内部で1,000,000の乱数(1000^2)の配列を生成する必要があります。このような状況では、権力を高める代わりに、たとえば10または20を乗算できます。小さな配列が一意の関数に渡されることを覚えておいてください(希望の数の一意のランダム値と比較して小さい)、流出範囲内のすべてのセルが結果に満たされる可能性が大きくなります。
Excelでさまざまな非反復乱数を作成します
Excel 365とExcel 2021では、動的な配列をサポートするだけです。
繰り返しのない範囲の乱数を生成するには、この式を使用できます。
index(unique(randarray( n ^2、1、 min 、 max ))、シーケンス(行、列)))どこ:
- nは充填する細胞の数です。手動の計算を避けるために、(列の列のno。no。の列)として提供できます。たとえば、10行と5列を埋めるには、50^2または(10*5)^2を使用します。
- 行は埋める行の数です。
- 列は、埋める列の数です。
- 最小値は最低です。
- マックスは最高の値です。
ご存知かもしれませんが、式は基本的に前の例と同じです。唯一の違いはシーケンス関数であり、この場合、行と列の両方を定義します。
たとえば、1〜100の一意の乱数で10行と3列の範囲を埋めるには、この式を使用します。
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))
そして、それは数値を繰り返すことなく、ランダムな小数の配列を生成します。
整数が必要な場合は、Randarrayの最後の議論をTrueに設定します。
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))
Excel 2019、2016および以前に一意の乱数を生成する方法
Excel 365および2021以外のバージョンは動的配列をサポートしていないため、上記のソリューションのいずれもExcelの以前のバージョンでは機能しません。ただし、これは解決策がまったくないという意味ではなく、さらにいくつかのステップを実行する必要があります。
- 乱数のリストを作成します。あなたのニーズに基づいて、どちらかを使用してください。
- 0〜1の間のランダムな小数を生成するRAND関数、または
- 指定した範囲でランダムな整数を生成するランドベットの関数。
一部は重複し、後でそれらを削除するため、実際に必要な値よりも多くの値を生成してください。
この例では、以下の式を使用して、1〜20の間の10のランダム整数のリストを作成しています。
=RANDBETWEEN(1,20)
一度に複数のセルに式を入力するには、すべてのセル(例ではA2:A15)を選択し、フォーミュラバーに式を入力し、 Ctrl Enterを押します。または、通常のように最初のセルの式に入力してから、必要な数のセルにドラッグします。
とにかく、結果は次のようになります:
ご存知かもしれませんが、14個のセルに式に入力しましたが、最終的には10個の一意の乱数しか必要ありません。
- 数式を値に変更します。 RandとRandbetyの両方がワークシートのすべての変更で再計算されるため、乱数のリストは継続的に変化します。これが発生しないようにするには、貼り付け>特別な値を使用して、乱数が再計算を停止する方法で説明されているように、数式を値に変換します。
正しいことを確認するには、任意の番号を選択して、フォーミュラバーを確認してください。式ではなく、値を表示する必要があります。
- 複製を削除します。それを実行するには、すべての番号を選択し、 [データ]タブ> [データツール]グループに移動し、 [複製の削除]をクリックします。表示されるダイアログボックスを削除するには、何も変更せずに[OK]をクリックするだけです。詳細な手順については、Excelで複製を削除する方法をご覧ください。
終わり!すべての複製はなくなり、過剰な数値を削除できるようになりました。
ヒント。 Excelの組み込みツールの代わりに、Excelに高度な重複リムーバーを使用できます。
乱数が変化しないようにする方法
Rand、Randbetween、Randarrayを含むExcelのすべてのランダム化機能は揮発性です。つまり、スプレッドシートが変更されるたびに再計算します。その結果、変更ごとに新しいランダム値が生成されます。新しい数値を自動的に生成するのを防ぐために、Paste Special> Special>値機能を使用して、式を静的値に置き換えます。方法は次のとおりです。
- ランダムフォーミュラですべてのセルを選択し、 Ctrl Cを押してコピーします。
- 選択した範囲を右クリックして、 [貼り付け] > [値]をクリックします。または、 Shift F10とVを押すこともできます。これは、このオプションのショートカットです。
詳細な手順については、Excelの値に数式を変更する方法をご覧ください。
繰り返しのないExcel用の乱数ジェネレーター
Ultimate Suiteのユーザーは、Excelに普遍的なランダムジェネレーターをすでに持っているため、上記のソリューションのいずれも実際には必要ありません。このツールは、非回復整数、小数数、日付、一意のパスワードのリストを簡単に作成できます。方法は次のとおりです。
- [Ablebitsツール]タブで、 [ランダム化] > [ランダムジェネレーター]をクリックします。
- 乱数で埋めるために範囲を選択します。
-
ランダムジェネレーターペインで、次のことを行います。
- 目的の値タイプを選択します:整数、実数、日付、ブール、カスタムリスト、または文字列(強力な一意のパスワードを生成するのに最適です!)。
- FROMと値を設定します。
- [一意の値]チェックボックスを選択します。
- [生成]をクリックします。
それでおしまい!選択した範囲は、非回復乱数で一度に満たされます。
このツールを試して、究極のスイートに含まれる他の魅力的な機能を探りたい場合は、試用版をダウンロードできます。
これは、複製せずにExcelで数値をランダム化する方法です。お読みいただきありがとうございます。来週のブログでお会いしましょう!
ダウンロード用のワークブックを練習します
Excel(.xlsxファイル)で一意の乱数を生成する
以上が繰り返しのないExcelで乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









