重複しない1から10までの乱数を発生させる方法
概要
Excelで1から10までの重複しない乱数を生成するには、SEQUENCE関数とSORTBY関数を組み合わせる方法が便利です。この方法では、簡潔な1つの配列数式で結果を得ることができます。
使用する関数
- SEQUENCE関数:指定した範囲の連続した数値を生成します。
- SORTBY関数:指定された基準に基づいてデータを並べ替えます。
- RANDARRAY関数:ランダムな数値を生成します(並べ替えの基準として使用)。
数式
以下の数式を使用します(B列):
=SORTBY(SEQUENCE(10), RANDARRAY(10))
この数式は、以下のように動作します:
- SEQUENCE(10):1から10までの連続した整数を生成します。(A列)
- RANDARRAY(10):10個の乱数を生成し、並べ替えの基準として使用します。
- SORTBY:SEQUENCEで生成された数値をRANDARRAYで生成された乱数の順に並べ替えます。
実際の例
| A | B | |
|---|---|---|
| 1 | ランダム順序 | 重複しない乱数 |
| 2 | 1 | 7 |
| 3 | 2 | 3 |
| 4 | 3 | 10 |
| 5 | 4 | 5 |
| 6 | 5 | 2 |
| 7 | 6 | 6 |
| 8 | 7 | 4 |
| 9 | 8 | 9 |
| 10 | 9 | 1 |
| 11 | 10 | 8 |
1つのセル内に乱数をカンマ区切りで表示する方法
Excelでは、複数の乱数をカンマ区切りで一つのセルにまとめて表示することが可能です。ここでは、1から10までの重複しない乱数を一つのセル内に表示する方法を紹介します。
数式
以下の数式を使用します:
=TEXTJOIN(", ", TRUE, SORTBY(SEQUENCE(10), RANDARRAY(10)))
数式の仕組み
- SEQUENCE(10):1から10までの連続した数値(配列)を生成します。
- RANDARRAY(10):10個の乱数を生成し、並べ替えの基準として使用します。
- SORTBY(SEQUENCE(10), RANDARRAY(10)):SEQUENCEで生成された数値を、RANDARRAYで生成された乱数の順序に基づいてランダムに並べ替えます。
- TEXTJOIN(“, “, TRUE, …):並べ替えられた数値をカンマで結合し、一つのセルに表示します。
実際の例
以下は、この数式を用いて生成された結果を示す例です。(B1にA1二表示される結果を表示しています)
| A | B | |
|---|---|---|
| 1 | =TEXTJOIN(“, “, TRUE, SORTBY(SEQUENCE(10), RANDARRAY(10))) | 7, 3, 10, 1, 8, 4, 5, 9, 6, 2 |
注意点
- Excelバージョン:この数式はExcel 365またはExcel 2021以降のバージョンで使用可能です。それ以前のバージョンでは動作しません。
- 再計算:この数式はワークシートが更新されるたびに再計算され、乱数が変化します。結果を固定したい場合は、生成後にコピーして「値のみ貼り付け」を行ってください。
まとめ
この方法を使えば、1から10までの重複しない乱数を簡単に一つのセルにカンマ区切りで表示できます。視覚的に分かりやすくデータを表示したい場合や、ランダムなリストを簡単に取得したい場合に非常に便利なテクニックです。
注意点
- 再計算される:この数式はワークシートが更新されるたびに乱数が再計算されます。値を固定したい場合は、生成後にコピーして値のみを貼り付けてください。
- 配列数式対応:Excel 365または2021以降のバージョンで使用可能です。それ以前のバージョンでは動作しません。
まとめ
SEQUENCE関数とSORTBY関数を使えば、1から10までの重複しない乱数を簡単に生成できます。データ抽出やランダムな順序付けに活用して、業務の効率化を図りましょう。