Excelのランダムデータ:Excelでランダムな数字、テキスト、日付、時間を生成する
一般的に、ランダムデータとは、統計サンプリング、データ暗号化、宝くじ、テストやトレーニング、または予測不可能な結果が必要とされる他の分野で使用される一連の数字、文字列、またはその他の記号です。この記事では、通常のExcelおよびExcel 365でランダムな数字、文字列、日付や時刻を生成するためのさまざまな方法を紹介します。
Excelでランダムな数字、テキスト、日付、時間を生成する
このセクションでは、Excelワークシートで数値、文字列、日付や時刻を生成するためのさまざまなソリューションについて説明します。
1.1 Excelでランダムな数値を生成する
ワークシートに複数の乱数を生成または挿入するには、通常の RAND 関数や RANDBETWEEN 関数が大いに役立ちます。数式のほかにも、その他のコードや簡単なツールでも同様の処理が可能です。
ランダムな数値を生成するためのRAND関数
2つの数値間でランダムな小数を生成する
RAND関数は、0と1の間、0と他の任意の数の間、または2つの特定の数の間でランダムな小数を生成するために使用できます。
数式 | 機能の説明 |
=RAND() | 0から1の間のランダムな小数を生成します。 |
=RAND()*N | 0からNの間でランダムな小数を生成します。 |
=RAND()*(B-A)+A | 指定した任意の2つの数値の間でランダムな小数を生成します。(Aは下限値、Bは上限値です。) |
必要な上記の数式をコピーし、任意のセルに数式を適用すると、以下のスクリーンショットに示すような結果が得られます。
=RAND() | =RAND()*50 | =RAND()*(100-50)+50 |
![]() | ![]() | ![]() |
2つの数値間でランダムな整数を生成する
いくつかのランダムな整数を生成するには、下の表に示すように、RAND関数とINT関数を組み合わせる必要があります。
数式 | 機能の説明 |
=INT(RAND()*N) | 0 から N の間のランダムな整数を生成します。 |
=INT(RAND()*(B-A)+A) | 指定した2つの数値の間でランダムな整数を生成します。(Aは下限値、Bは上限値です。) |
必要な上記の数式を適用し、必要に応じて数式を他のセルにドラッグしてコピーしてください。その後、以下のスクリーンショットに示すように結果が得られます。
=INT(RAND()*100) | =INT(RAND()*(500-200)+200) |
![]() | ![]() |
ランダムな数値を生成するRANDBETWEEN関数
Excelには、ランダムな数値を迅速かつ簡単に生成するのに役立つRANDBETWEEN関数もあります。
2つの数値の間でランダムな整数を生成する
- 最小値、最大値: 取得したい乱数の範囲の最も低い数値と最も高い数値です。
例えば、100から200の間のランダムな整数を生成したい場合、以下の数式を空白のセルに適用し、その後、その数式を目的の他のセルにドラッグしてコピーしてください。スクリーンショットをご覧ください:
ヒント: このRANDBETWEEN関数は、正の数と負の数の両方を生成できます。-100から100の間のランダムな数値を挿入するには、下限値を-100に変更するだけでよいです。以下の数式を参照してください:
指定された小数点以下の桁数を持つ2つの数値間でランダムな数値を生成する
指定された小数点以下の桁数を持つランダムな数値を作成するには、RANDBETWEEN関数を次のように変更する必要があります。
- 小数点以下1桁の乱数: =RANDBETWEEN(bottom*10, top*10)/10
- 小数点以下2桁のランダムな数値: =RANDBETWEEN(bottom*100, top*100)/100
- 小数点以下3桁の乱数: =RANDBETWEEN(bottom*1000, top*1000)/1000
- ...
ここでは、小数点以下2桁を持つ10から50のランダムな数値のリストを取得したいと思います。以下の数式を適用し、必要に応じて他のセルに数式をドラッグしてコピーしてください。スクリーンショットをご覧ください:
2つの値の間で乱数を生成するユーザー定義関数
次のユーザー定義関数を使用しても、ワークシートの範囲内でランダムな整数や特定の小数点以下の桁数を持つ数字を生成することができます。以下のように操作してください:
1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
2. 挿入 をクリックし、モジュール を選択して、次のコードをモジュールウィンドウに貼り付けます。
VBAコード:ランダムな数値を生成する
Public Function RandomNumbers(Num1 As Long, Num2 As Long, Optional Decimals As Integer)
'Updateby Extendoffice
Application.Volatile
Randomize
If IsMissing(Decimals) Or Decimals = 0 Then
RandomNumbers = Int((Num2 + 1 - Num1) * Rnd + Num1)
Else
RandomNumbers = Round((Num2 - Num1) * Rnd + Num1, Decimals)
End If
End Function
3. その後、コードを閉じてワークシートに戻り、空白のセルにこの数式を入力します: =RandomNumbers(X,Y,Z)。
注: 上記の数式において、X は数値の下限を示し、Y は数値の上限を示し、Z は乱数の指定された小数点以下の桁数を表します。必要に応じてこれらを変更してください。
1.) 50から200の間でランダムな整数を生成するには、この数式を使用してください:
2.) 50から200の間で小数点以下2桁のランダムな数値を挿入するには、以下の数式を適用してください。
4. 最後に、必要に応じて数式を他のセルにドラッグしてコピーすると、以下のスクリーンショットに示すような結果が得られます。
![]() | ![]() |
2つの数字の間でランダムな数字を生成する便利な機能
もし、数式を覚えて入力するのが面倒であれば、ここで役立つ機能をおすすめします – Kutools for Excelの「ランダムデータを挿入する」です。この機能を使えば、数式を使用せずにランダムな整数や小数を生成できます。
Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!
1. ランダムな数値を生成したいセルの範囲を選択し、次に Kutools > 挿入 > ランダムデータを挿入する をクリックします。スクリーンショットをご覧ください:
2. 「ランダムデータを挿入する」ダイアログボックスで:
1.) ランダムな整数を生成する:
整数タブの下にある「From」と「To」のボックスに、生成するランダムな整数の範囲を入力し、「Ok」または「Apply」ボタンをクリックすると、以下のスクリーンショットに示すようにランダムな整数が得られます。
2.) 特定の小数点以下の桁数を持つ乱数を生成する:
「小数」タブで、生成したい乱数の範囲を「開始」ボックスと「終了」ボックスにそれぞれ指定します。その後、「小数点以下の桁数」テキストボックスで小数点以下の桁数を選択し、「OK」または「適用」ボタンをクリックして乱数を生成します。スクリーンショットをご覧ください:
ヒント: 重複のないランダムな小数を生成するには、[一意の値を生成する] オプションをチェックしてください。
1.2 重複のないランダムな数字を生成(一意のランダムな数字)
数式やコードを使用して乱数を生成する場合、重複する数字も生成されることがあります。重複のない乱数リストを作成したい場合、このセクションではいくつかの方法を紹介します。
配列数式を使用して重複のない乱数を生成する
例えば、100から200の間で重複しないランダムな数字を生成したい場合、これを行うのに役立つ複雑な配列数式があります。次の手順に従ってください:
1. 2つのセルに下限値と上限値を指定します。この例では、B2およびB3のセルに100と200を入力します。スクリーンショットをご覧ください:
2. 次に、以下の数式を空白のセル(例えばD3)にコピーし(最初の行のセルには数式を入れないでください)、そして Ctrl + Shift + Enter キーを同時に押して最初の数字を取得します。スクリーンショットをご覧ください:
注: 上記の数式では、B1は下限値、B2はランダムな数値を返したい上限値です。D2は数式があるセルの上のセルです。
3. 次に、100から200の間の乱数を生成するために、この数式を他のセルにドラッグしてコピーします。
VBAコードを使用して重複のない乱数を生成する
上記の数式が少し理解しにくい場合は、以下のVBAコードを適用できます。次の手順で行ってください:
1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。
2. [Insert] をクリックし、[Module] を選択して、次のコードを [Module] ウィンドウに貼り付けます。
VBAコード:重複のないランダムな数値を生成する
Sub Range_RandomNumber()
'Updateby Extendoffice
Dim xStrRange As String
Dim xRg, xCell, xRg1 As Range
Dim xArs As Areas
Dim xNum_Lowerbound As Integer
Dim xNum_Upperbound As Integer
Dim xI, xJ, xS, xR As Integer
xStrRange = "A1:B20"
xNum_Lowerbound = 100
xNum_Upperbound = 200
Set xRg = Range(xStrRange)
Set xArs = xRg.Areas
xRgCount = 0
For xI = 1 To xArs.Count
Set xCell = xArs.Item(xI)
xRgCount = xCell.Count + xRgCount
Next xI
xS = (xNum_Upperbound - xNum_Lowerbound + 1)
If xRgCount > xS Then
MsgBox ("Number of cells greater than the number of unique random numbers!")
Exit Sub
End If
xRg.Clear
For xI = 1 To xArs.Count
Set xCell = xArs.Item(xI)
For xJ = 1 To xCell.Count
Set xRg1 = xCell.Item(xJ)
xR = Int(xS * Rnd + xNum_Lowerbound)
Do While Application.WorksheetFunction.CountIf(xRg, xR) >= 1
xR = Int(xS * Rnd + xNum_Lowerbound)
Loop
xRg1.Value = xR
Next
Next
End Sub
注: 上記のコードでは、xStrRange = "A1:B20" は範囲 A1:B20 でランダムな数値を生成したいことを示しています。 xNum_Lowerbound = 100 と xNum_Upperbound = 200 は、100 から 200 の間でランダムな数値を生成するための下限値と上限値を示します。必要に応じてこれらを変更してください。
3. その後、F5キーを押してこのコードを実行すると、一意のランダムな数値が指定された範囲に挿入されます。
強力な機能を使用して重複のないランダムな数値を生成
複数のユニークな乱数を迅速に生成するには、Kutools for Excelの「ランダムデータを挿入する」機能がスマートなオプションである「一意の値を生成する」をサポートしています。この小さなオプションをチェックすることで、このタスクを簡単に解決できます。
1. ランダムな数値を生成したいセルの範囲を選択します。
2. そして、Kutools > 挿入 > ランダムデータを挿入する をクリックします。表示されたダイアログボックスで、以下の操作を行ってください:
- 整数タブの下で、From(開始番号)とTo(終了番号)のボックスに、生成する乱数の範囲を入力します。
- 一意の値を生成する オプションをチェックします;
- その後、「OK」または「適用」ボタンをクリックして、以下のスクリーンショットに示すように一意のランダムな数値を取得します。
1.3 Excelでランダムな偶数または奇数を生成する
セルの範囲内でランダムな偶数または奇数を生成したい場合、RANDBETWEEN関数をEVEN関数またはODD関数内に配置するだけで済みます。一般的な構文は次のとおりです:
数式 | 機能の説明 |
=EVEN(RANDBETWEEN(最小値,最大値)) | 指定された2つの数値の間でランダムな偶数を生成します。 |
=ODD(RANDBETWEEN(最小値,最大値)) | 指定された2つの数値の間でランダムな奇数を生成します。 |
例えば、10から100までのランダムな偶数または奇数を生成するには、次の数式を適用してください。
=ODD(RANDBETWEEN(10,100)) (奇数のランダム生成)
そして、フィルハンドルをドラッグして目的の他のセルに数式をコピーすると、以下のスクリーンショットに示すように結果が得られます。
![]() | ![]() |
1.4 指定された値に合計されるランダムな数値を生成
場合によっては、あらかじめ決められた値に合計されるランダムな数のセットを作成する必要があるかもしれません。例えば、以下のように10から50の間で5つ(またはn個)のランダムな数字を生成し、その合計が100になるようにしたいとします。この問題をExcelで解決するために、ここでは2つの方法をご紹介します。
特定の値に合計されるランダムな数値を数式で生成
ここで、次の数式が役立ちます。少し複雑ですので、手順に従って一つずつ進めてください:
1. まず、必要なデータを作成する必要があります:予め決められた合計値、開始番号、終了番号、そして生成したい乱数の個数を以下のように設定します(スクリーンショット参照):
2. 次に、生成したい数字を表示する空白セルに以下の数式をコピーしてください。この例では、数式をセル A4 に入力し、Enter キーを押して最初のランダムな数字を取得します。スクリーンショットをご覧ください:
注: 上記の数式において、A2は指定された合計値です。B2とC2は、生成したい乱数の最小値と最大値です。D2は生成したい乱数の個数を示します。A4はこの数式を入力するセルです。
3. 次の数式をセル A5 にコピーし続け、Enter キーを押して 2 番目の乱数を取得します。スクリーンショットをご覧ください:
注: 上記の数式において、A2は指定された合計値です。B2と C2は、生成したい乱数の最小値と最大値です。D2は生成したい乱数の個数を示します。A4は最初の数式を入力するセルで、A5は2番目の数式を入力するセルです。
4. 次に、2番目に生成された数値を選択し、下にドラッグしてこの数式を下の3つのセルにコピーします。これで、以下のスクリーンショットのように5つのランダムな数値が得られます。
5. 結果をテストするには、これらの数字を合計して、総計が100であるか確認できます。F9キーを押すとランダムな数字が動的に更新され、それらの合計は常に100になります。
特定の値に合計されるランダムな数値の組み合わせを驚きの機能で生成
上記の数式を使用して、ニーズに合った乱数を生成することができます。しかし、指定した数字で構成され、特定の合計値を持つすべての可能な数字の組み合わせをリストしたい場合、ここでは簡単なツールであるKutools for Excelをお勧めします。Make Up A Number機能を使用すると、同じ特定の合計値を持つすべての乱数の組み合わせセットを得ることができます。
まず、指定した数字をリストする必要があります。ここでは、下のスクリーンショットに示すように、10から50までのすべての数字をリストしました。
2. 次に、Kutools > テキスト > 数値の補完 をクリックします。スクリーンショットをご覧ください:
3. 表示された「数値の補完」ダイアログボックスで、次の操作を行ってください:
- データソースボックスで、100に加算される数値を見つけるための数値リストを選択します。
- オプションの下にある「合計」テキストボックスに総値を入力します。ここでは、テキストボックスに100と入力しました。
- 結果を新しいシートにリストしたい場合は、「新しいシートに保存」オプションをチェックしてください。
- OKボタンをクリックします。スクリーンショットをご覧ください:
4. 処理後、10から50までの数値で構成され、合計が100になるすべてのランダム数セットが次のようにリスト表示されます。
ヒント:組み合わせの数や各組み合わせに含まれる乱数の数を指定するのは任意です。例えば、10個の組み合わせを生成し、各組み合わせに5つの乱数を含める場合、[詳細設定] のダイアログボックスで以下のように操作を設定できます。
そして、次の結果が得られます。
1.5 数式を使用してランダムな文字とテキスト文字列を生成する
このセクションでは、Excelでランダムな文字を生成する方法を紹介します。例えば、AからZまでのアルファベットの大文字、aからzまでの小文字、または一部の特殊文字(! " # $ % & ' ( ) * + , - . /)などです。
数式を使用してランダムな文字とテキスト文字列を生成する
Excelでは、CHAR関数とRANDBETWEEN関数をいくつかのANSI文字コードと組み合わせて、以下のように数式を作成できます。
数式 | 機能の説明 |
=CHAR(RANDBETWEEN(65, 90)) | AからZの間のランダムな大文字を生成します。 |
=CHAR(RANDBETWEEN(97, 122)) | aからzの間でランダムな小文字を生成します。 |
=CHAR(RANDBETWEEN(33, 47)) | ランダムな特殊文字を生成します。例: ! " # $ % & ' ( ) * + , - . / |
上記の数式のいずれかを必要に応じて適用し、その数式を必要なセルにコピーすると、以下のスクリーンショットに示すような結果が得られます。
=CHAR(RANDBETWEEN(65, 90)) | =CHAR(RANDBETWEEN(97, 122)) | =CHAR(RANDBETWEEN(33, 47)) |
![]() | ![]() | ![]() |
ヒント: 複数の文字で構成されるランダムなテキスト文字列を生成したい場合は、必要に応じて「&」文字を使用して文字を結合するだけです。
1.) 4つの大文字で構成されるランダムな文字列を生成するには、以下の数式を適用してください。
2.) 小文字4文字で構成されるランダムな文字列を生成するには、以下の数式を適用してください。
3.) 最初の2文字を大文字、最後の2文字を小文字とするランダムな文字列を生成するには、次の数式を使用してください。
シンプルな数式と & 文字を使用して、ニーズに合ったさまざまな組み合わせを作成できます。
便利な機能でランダムな文字やテキスト文字列を生成
Kutools for Excelをインストールしていれば、どんな数式も覚えることなく、ランダムな文字や文字列を迅速かつ簡単に生成できます。
1. 文字列や文字を挿入するセルの範囲を選択します。
2. 次に、Kutools > 挿入 > ランダムデータを挿入する をクリックします。表示されたダイアログボックスで、次の操作を行ってください:
- 「文字列」タブをクリックします。
- 挿入したい a-z または A-Z またはその両方をチェックしてください;
- 次に、文字列の長さを「文字列の長さ」テキストボックスで指定します。
- 最後に、下のスクリーンショットに示すように、文字列を挿入するために「Ok」または「Apply」をクリックします。
1.6 Excelで英数字を含むランダムなパスワードを生成する
パスワードを作成する際、そのパスワードは少なくとも8文字以上で、大文字、小文字、数字、およびいくつかの特殊文字を含むようにする必要があります。このセクションでは、Excelでランダムなパスワードを生成するためのいくつかのテクニックを紹介します。
数式を使用して英数字のランダムなパスワードを生成する
例えば、ここでは8文字の長さのランダムなパスワードを作成します。『Generate random letters and text strings with formulas』セクションで提供されている3つの数式を組み合わせるだけです。
以下の数式を空白のセルにコピーしてください:
注: 上記の数式では、最初のCHAR関数とRANDBETWEEN関数はランダムな大文字を生成し、2番目と3番目の式は2つの小文字を生成します。4番目の式は1つの大文字を生成するために使用され、5番目の式は100から999の間の3桁の数字を生成し、最後の式は特殊文字を生成するために使用されます。必要に応じてこれらを変更したり順序を調整することができます。
ユーザー定義関数を使用して英数字のランダムパスワードを生成する
Excel にランダムなパスワードを挿入するには、次のユーザー定義関数でも対応できます。以下のように操作してください。
1. ALT + F11 キーを押したままにすると、Microsoft Visual Basic for Applications ウィンドウが開きます。
2. 挿入 をクリックし、モジュール を選択して、次のマクロを モジュール ウィンドウに貼り付けます。
VBAコード: Excelでランダムなパスワードを生成する
Function RandomizeF(Num1 As Integer, Num2 As Integer)
'Updateby Extendoffice
Dim Rand As String
Application.Volatile
getLen = Int((Num2 + 1 - Num1) * Rnd + Num1)
Do
i = i + 1
Randomize
Rand = Rand & Chr(Int((85) * Rnd + 38))
Loop Until i = getLen
RandomizeF = Rand
End Function
3. その後、コードを閉じてワークシートに戻ります。セルに、この数式 =RandomizeF(8,10) を入力して、最小文字数8、最大文字数10のランダムなテキスト文字列を生成します。
4. その後、必要に応じて数式を他のセルにドラッグしてコピーします。8~10文字の長さを持つ英数字と特定の文字を含むランダムな文字列が生成されます。スクリーンショットをご覧ください:
簡単な機能を使用して、英数字を含むランダムなパスワードを生成します
Excelで複数のランダムなパスワードを生成する簡単で迅速な方法はありますか?Kutools for Excelは、優れた機能である「ランダムデータを挿入する」を提供しています。この機能を使用すると、数回のクリックだけでランダムなパスワードを挿入できます。
1. パスワードを挿入するセルの範囲を選択します。
2. 次に、Kutools > 挿入 > ランダムデータを挿入する をクリックします。表示されたダイアログボックスで、次の操作を行ってください:
- 「文字列」タブをクリックします。
- 必要に応じて、文字の種類を確認してください;
- 次に、 文字列の長さテキストボックスで希望するパスワードの長さを指定します。
- 最後に、下のスクリーンショットに示すように、[OK] または [適用] をクリックしてパスワードを生成します。
1.7 Excelでランダムな特定のテキストを生成する
Excelで特定のテキスト値をランダムに表示したりリスト化したりしたことはありますか? 例えば、指定されたテキスト(item1、item2、item3、item4、item5)をセルのリストの中でランダムに並べたい場合、次の2つの方法がこのタスクを解決するのに役立つかもしれません。
特定のテキストをランダムに生成する数式
Excelでは、CHOOSE関数とRANDBETWEEN関数に基づいて数式を作成し、特定のテキストをランダムにリスト化することができます。一般的な構文は次のとおりです:
- Value_1, Value_2, Value_3, Value_n : ランダムにリストしたいテキスト値を表します。
- n : 使用したいテキスト値の数。
以下の数式を空白のセルに適用し、その後、特定の値をランダムにリストしたいセルまでフィルハンドルをドラッグしてください。スクリーンショットをご覧ください:
特定のテキストをランダムに素早く生成する方法
Kutools for Excel をお持ちの場合、その ランダムデータを挿入する 機能を使用して、セルの範囲にカスタムテキスト値をランダムに挿入することもできます。
1. 特定のテキストを挿入するセルの範囲を選択します。
2. 次に、 Kutools > 挿入 > ランダムデータを挿入する をクリックします。表示されたダイアログボックスで、次の操作を行ってください:
- 「カスタムリスト」タブをクリックします。
- 次に、クリックします
別のものを開くためのボタン Kutools for Excel プロンプトボックスに、ランダムにリストしたいカスタムテキスト値を入力または選択してください。(手動で入力する場合は、エントリをカンマで区切る必要があります。)
3. 次に、 [Ok] をクリックして「ランダムデータを挿入する」ダイアログに戻ります。作成したカスタムテキストリストがリストボックスに表示されています。ここで、新しいリスト項目を選択し、 [Ok] または [適用] ボタンをクリックして、選択したセルに値をランダムに挿入します。
ヒント: 指定されたテキストを重複なしでランダムにリストするには、[一意の値を生成する] オプションをチェックしてください。
1.8 Excelでリストからランダムな値を生成または選択する
例えば、名前の長いリストがあり、そのリストからいくつかのランダムな名前を選んで、ラッキーな名前や研究対象とする場合があります(以下のスクリーンショットを参照)。この問題をExcelでどのように解決すればよいでしょうか?
INDEX、RANDBETWEEN、ROWS関数を使用してリストからランダムな値を生成する
Excelでは、リストからランダムな値を直接取り出す方法はありませんが、INDEX、RANDBETWEEN、ROWS関数に基づいて数式を作成することで、いくつかのランダムな値を抽出できます。
1. 抽出された値を配置したい空白のセルに、以下の数式をコピーしてください:
注: 上記の数式において、A2:A12はランダムに値を選択したい値のリストです。
2. 次に、ランダムな値を表示したい複数のセルまでフィルハンドルを下にドラッグすると、次のスクリーンショットのように結果が得られます。
INDEX、RANK.EQ関数を使用して重複のないリストからランダムな値を生成する
上記の数式を使用すると、重複する値が表示される場合があります。重複する値をスキップするには、まずヘルパー列を作成し、次にINDEX関数とRANK.EQ関数に基づいた数式を適用する必要があります。以下のように操作してください:
1. 次の数式を空白のセルに入力して、ランダムな数字のリストを取得します。スクリーンショットをご覧ください:
2. 次に、ランダムな値を抽出したい別の列のセルに以下の数式をコピーし、その数式を下のセルにドラッグしてコピーして、重複しないランダムな値を表示します。スクリーンショットをご覧ください:
注: 上記の数式において、A2:A12 はランダムな値を生成したい値のリストであり、B2 は補助列の最初のセル、B2:B12 はステップ1で作成した補助数式のセルです。
素晴らしい機能で範囲からランダムなセル、行、列を選択
ここで、便利な機能をおすすめします — Kutools for Excelの「並び替え、選択、またはランダムに」です。この機能を使用すると、必要に応じてランダムなセル、行、または列を選択できます。
1. ランダムな値を選択したいセルのリストを選択します。
2. そして、Kutools > 範囲 > 並び替え、選択、またはランダムに をクリックします。スクリーンショットをご覧ください:
3. 『並び替え、選択、またはランダムに』ダイアログボックスで、次の操作を行ってください:
- 「選択」タブをクリックします。
- 次に、選択するセルの数を選択するセルの数ボックスに入力します。
- 「選択の種類」セクションで、希望する操作を1つ選択します。この場合、私は「セル」を選択します。
- そして、[Ok] または [適用] ボタンをクリックすると、5つのセルが一度にランダムに選択されます。スクリーンショットをご覧ください:
4. セルを選択した後、必要に応じて他のセルにコピーして貼り付けることができます。
1.9 Excelでデータをランダムにグループに割り当てる
名前のリストがあると仮定します。ここで、下のスクリーンショットに示すように、名前を3つのグループ(グループA、グループB、グループC)にランダムに分けたいとします。このセクションでは、Excelでこのタスクを解決するためのいくつかの数式について説明します。
数式を使用してデータをランダムにグループに割り当てる
指定されたグループにランダムに人を割り当てるには、CHOOSE関数とRANDBETWEEN関数を組み合わせて使用できます。
1. グループを生成したいセルに、次の数式をコピーまたは入力してください:
注: 上記の数式において、グループA、グループB、およびグループCは割り当てたいグループ名を示しており、数字の3は分配したいグループの数を表します。
2. 次に、フィルハンドルをドラッグしてこの数式を他のセルにコピーすると、名前が下のスクリーンショットのように3つのグループに分割されます。
数式を使用してデータを均等な数のグループにランダムに割り当てる
すべてのグループに同数の名前を割り当てたい場合、上記の数式は正しく機能しません。この場合、RAND関数を使用してランダムな値を持つ補助列を作成し、その後、INDEX、RANK、およびROUNDUP関数に基づく数式を適用できます。
例えば、セル F2:F4 に割り当てたいグループ名(Group A、Group B、Group C)をリストアップしています。各グループに4人の参加者を割り当てるには、次のように操作してください。
1. 空のセルにこの数式 =RAND() を入力して、ランダムな数字のリストを取得します。スクリーンショットをご覧ください:
2. 次に、隣の列で、例えばセル D2 に、以下の数式をコピーまたは入力します:
注: 上記の数式において、C2は補助列の最初のセル、C2:C13はステップ1で作成した補助数式のセル範囲、数字の4は各グループに含めたい名前の数を示し、F2:F4はデータに割り当てるグループ名が含まれるセル範囲です。
3. フィルハンドルを下にドラッグして、データリストのランダムなグループを生成します。名前は均等に分割されたグループに分けられます。スクリーンショットをご覧ください:
1.10 Excelでランダムな日付を生成する
2つの指定された日付の間で任意の日付を生成する方法をいくつか紹介します。
指定された2つの日付の間でランダムな日付を数式で生成する
例えば、2021年5月1日から2021年10月15日の間でランダムにいくつかの日付を生成したいとします。通常、Excelでは、RANDBETWEEN関数とDATE関数を組み合わせることでこのタスクを実行できます。以下のように操作してください:
1. ランダムな日付を挿入したいセルを選択し、次の数式を入力します:
注: この数式では、2021年5月1日が開始日、2021年10月15日が終了日です。必要に応じてこれらを置き換えることができます。
2. 次に、この数式を他のセルにドラッグしてコピーし、数式を入力したいセルに5桁の数字が表示されます。以下のスクリーンショットのように表示されます。
3. そして、数値を日付形式にフォーマットする必要があります。数式セルを選択し、右クリックしてコンテキストメニューから「セルの書式設定」を選んでください。
4. [Format Cells] ダイアログボックスで、[Number] タブをクリックし、[Category] ウィンドウから [Date] を選択して、[Type] ドロップダウンリストから必要な日付形式を選択します。スクリーンショットをご覧ください:
5. 「OK」をクリックしてダイアログを閉じます。これで、数字が通常の日付に変換されました。スクリーンショットをご覧ください:
ヒント: 週末を除いたランダムな平日を生成したい場合、以下の数式が役立つかもしれません:
驚きの機能で2つの指定された日付間のランダムな日付を生成
Kutools for Excelの「ランダムデータを挿入する」機能には、指定された2つの日付の間でランダムな日付、平日、週末を生成するためのオプションも用意されています。
1. ランダムな日付を挿入するセルの範囲を選択します。
2. 次に、Kutools > 挿入 > ランダムデータを挿入する をクリックします。表示されたダイアログボックスで、次の操作を行ってください:
- 日付タブをクリックします。
- 次に、日付の範囲を指定します。この例では、2021年5月1日から2021年10月15日までを選択します。
- そして、必要に応じて日付の種類を選択します — 平日、週末、またはその両方です。
- 最後に、下のスクリーンショットに示すように、[Ok] または [適用] をクリックして日付をランダムに生成します。
ヒント: 一意の日付をランダムに生成するには、[一意の値を生成する] オプションを確認してください。
1.11 Excelでランダムな時間を生成する
ランダムな数字、テキスト文字列、および日付を挿入した後、このセクションでは、Excelでランダムな時刻を生成するためのいくつかのテクニックについて説明します。
数式でランダムな時刻を生成する
数式を使用してランダムな時刻を生成する
セルの範囲にランダムな時刻を生成するには、TEXT関数とRAND関数に基づいた数式が役立ちます。
以下の数式を空白のセルに入力し、それを他のセルにドラッグしてコピーしてください。これにより、時刻を取得したい場所に適用されます。スクリーンショットをご覧ください:
2つの指定された時間の間でランダムな時間を数式で生成する
特定の2つの時間(例えば10時から18時まで)の間にランダムに時間を挿入する必要がある場合は、以下の数式を適用してください。
注: 上記の数式において、数字の18は終了時刻を、10は開始時刻を表します。必要に応じてこれらを変更できます。
そして、指定された2つの時間範囲間でランダムな時刻を生成したい他のセルに数式をドラッグしてコピーします。スクリーンショットをご覧ください:
特定の間隔でランダムな時間を数式で生成する
例えば、Excelで15分間隔などの特定の間隔でランダムな時刻を生成したい場合、RAND関数とFLOOR関数をTEXT関数内で使用してこのタスクを処理できます。
以下の数式を空白のセルにコピーまたは入力し、その数式をドラッグしてコピーして、ランダムな時刻を得たいセルに適用してください。スクリーンショットをご覧ください:
注: 式の中で、数字の15は時間間隔を表しています。30分間隔でランダムな時間を生成したい場合は、15を30に置き換えるだけです。
便利な機能を使用して、2つの指定された時間の間でランダムな時間を生成します
Kutools for Excel を使用している場合、その ランダムデータを挿入する 機能を使用して、ワークシート内の指定された時間間でランダムな時間を生成することもできます。
1. 時間を生成するセルの範囲を選択します。
2. 次に、Kutools > 挿入 > ランダムデータを挿入する をクリックします。表示されたダイアログボックスで、次の操作を行ってください:
- 「時間」タブをクリックします。
- 次に、時間の範囲を指定します。この例では、9:00 AMから16:30 PMまでを選択します。
- 最後に、下のスクリーンショットに示すように、[Ok] または [適用] をクリックしてランダムな時間を生成します。
2つの日時間でランダムな日付と時刻を数式で生成する
ランダムな日付と時刻を一緒に生成したい場合は、以下の数式が役立ちます。
1. ランダムな日時を生成したいセルに、次の数式を入力またはコピーします:
注: この数式では、2021-10-15 12:00:00 が終了日時で、2021-1-1 9:00:00 が開始日時です。必要に応じてこれらを変更できます。
2. 次に、ランダムな日時を表示したい他のセルにこの数式をドラッグしてコピーします。スクリーンショットをご覧ください:
Excel 365 / 2021およびそれ以降のバージョンでランダムな数字、テキスト、日付を生成する
このセクションでは、Excel 365、Excel 2021、および今後のバージョンで、新しい動的配列関数であるRANDARRAYを使用して、ランダムな数値や日付を生成し、ランダムに選択を行い、データをグループにランダムに割り当てる方法を紹介します。
RANDARRAY関数は、指定した任意の2つの数値の間でランダムな数値の配列を返すために使用されます。
RANDARRAY関数の構文は次のとおりです:
- 行数 (オプション): 返すランダムな数値の行数。(省略された場合、デフォルト =1)
- 列 (オプション): 返す乱数の列数。(省略された場合、デフォルト=1)
- min (オプション): 返される最小値。(省略された場合、デフォルト =0)
- max(オプション):返される最大値。(省略された場合、デフォルト=1)
- 整数 (オプション): 整数または小数値を返します。TRUE の場合、整数を返します。FALSE の場合、小数を返します。(省略された場合、デフォルト = FALSE)
- 1. RANDARRAY関数には5つの引数がありますが、すべてオプションです。いずれの引数も指定しない場合、RANDARRAYは0から1の間の小数値を返します。
- 2. 行または列の引数が小数の場合、小数点以下の数値は切り捨てられ整数として扱われます(例: 3.9 は 3 として処理されます)。
- 3. 最小値は最大値よりも小さくなければなりません。そうでない場合、#VALUE! エラーが返されます。
- 4. この RANDARRAY は配列を返します。RANDARRAY がワークシートで複数の結果を返す場合、結果は隣接するセルに展開されます。
2.1 Excel 365 / 2021およびそれ以降のバージョンで乱数を生成する
Excel 365、Excel 2021、および今後のバージョンでランダムな整数または小数を生成するには、この新しいRANDARRAY関数を使用できます。
数式を使用して2つの数字間のランダムな数字を生成する
特定の範囲内のランダムな数値のリストを作成するには、次の数式を適用してください。
必要に応じて以下の数式を入力し、Enterキーを押して結果を得てください。スクリーンショットをご覧ください:
=RANDARRAY(6, 4, 50, 200, FALSE) (50から200の間でランダムな小数を生成)
- 6: 6行のランダムな数値を返すことを示します;
- 4: ランダムな数値を4列返すことを示します;
- 50, 200: 生成する数値の最小値と最大値;
- TRUE: 整数を返すことを示します。
- FALSE: 小数を返すことを示します。
![]() | ![]() |
重複のないランダムな数値を数式で生成する
通常のRANDARRAY関数を使用して乱数を生成する場合、重複する数字も生成される可能性があります。重複を回避するために、ここではこのタスクを解決するためのいくつかの数式について説明します。
重複しないランダムな数字のリストを生成する
一意の数値をランダムに生成して列またはリストを作成する場合、一般的な構文は次のとおりです。
重複のないランダムな整数:
重複のないランダムな小数:
- n: 生成したい値の数;
- min: 最小値;
- 最大値: 最大値。
例えば、ここでは50から100までの重複のない8つのランダムな数値のリストを挿入します。必要な以下のいずれかの数式を適用し、結果を得るためにEnterキーを押してください:
=INDEX(UNIQUE(RANDARRAY(8^2, 1, 50, 100, FALSE)), SEQUENCE(8)) (一意のランダム小数)
- 8: 8つのランダムな数値を返すことを示します。
- 50, 100: 生成する数字の最小値と最大値です。
- TRUE: 整数を返すことを示します;
- FALSE: 小数を返すことを示します。
![]() | ![]() |
重複しないランダムな数値の範囲を生成する
範囲内のセルで重複しないランダムな数値を生成したい場合、行数と列数をSEQUENCE関数に定義するだけで済みます。一般的な構文は次のとおりです:
一意の数値をランダムに生成して列またはリストを作成するための一般的な構文は次のとおりです。
重複のないランダムな整数:
重複のないランダムな小数:
- n: 数値を挿入するセルの数で、行数×列数として指定できます。例えば、8行3列を埋めるには24^2を使用します。
- 行: 埋める行数;
- 列: 填充する列数;
- 最小値: 最小の値;
- 最大値: 最高の値。
ここでは、50から100までのユニークな乱数で8行3列の範囲を埋めます。必要な以下の数式を適用してください:
=INDEX(UNIQUE(RANDARRAY(24^2, 1, 50, 100, FALSE)), SEQUENCE(8,3)) (一意のランダム小数)
- 24: 8と3(行×列)の積である24個のランダムな数値を返すことを示します。
- 50, 100: 生成する数字の最小値と最大値;
- TRUE: 整数を返すことを示します;
- FALSE: 小数を返すことを示します。
![]() | ![]() |
2.2 Excel 365 / 2021およびそれ以降のバージョンでランダムな日付を生成する
この新しいRANDARRAY関数を使用することで、Excelで複数のランダムな日付や平日を迅速かつ簡単に生成することもできます。
2つの日付間でランダムな日付を数式で生成する
2つの特定の日付間でランダムな日付のリストを作成するには、以下の数式を適用できます:
1. 空のセルに次の数式を入力してランダムな日付を生成し、Enterキーを押して5桁の数字のリストを取得します。スクリーンショットをご覧ください:
- 10: 10行のランダムな日付を返すことを示します。
- 1: ランダムな日付を1列返すことを示します。
- B1、B2: 開始日と終了日を含むセルで、その間の日付を生成したい範囲を指定します。
2. 次に、数字を通常の日付形式にフォーマットする必要があります:数字を選択し、右クリックしてから、コンテキストメニューから「セルの書式設定」を選択します。表示される「セルの書式設定」ダイアログボックスで、次の操作を行ってください:
- 「数値」タブをクリックします。
- 次に、[Category] ウィンドウから [Date] をクリックします。
- そして、タイプ リスト ボックスからお好みの日付書式を選択します。
3. そして、[OK] ボタンをクリックすると、指定した日付形式で数字がフォーマットされます。スクリーンショットをご覧ください:
ヒント: もちろん、開始日と終了日を直接数式に次のように入力することもできます。
2つの日付間でランダムな平日を数式で生成する
セルの範囲でランダムな平日を生成するには、RANDARRAY関数をWORKDAY関数内に埋め込みます。
1. 空のセルに以下の数式を入力またはコピーし、Enterキーを押して、下のスクリーンショットに示すように数字のリストを取得します。
2. 次に、「 セルの書式設定」ダイアログボックスで、必要な特定の日付形式に数字をフォーマットします。すると、下のスクリーンショットに示すように、日付形式が得られます。
ヒント: 開始日と終了日を直接数式に次のように入力することもできます:
2.3 Excel 365 / 2021およびそれ以降のバージョンでリストからランダムな値を生成または取得する
Excel 365、Excel 2021、および将来のバージョン(例: Excel 2024)では、セルのリストからランダムな値を生成または返したい場合、このセクションではいくつかの数式をご紹介します。
数式を使用してリストからランダムな値を生成または取得する
セルのリストからランダムな値を抽出するには、この RANDARRAY 関数と INDEX 関数を組み合わせて使用すると便利です。一般的な構文は次のとおりです:
- データ: ランダムにアイテムを抽出したい値のリスト;
- n: 抽出したいランダムアイテムの数。
例えば、名前リスト A2:A12 から3つの名前を抽出するには、以下の数式を使用してください。
=INDEX(A2:A12, RANDARRAY(3, 1, 1, 行数(A2:A12), TRUE)) (直接数字を入力)
次に、Enterキーを押すと、一度に3つの名前がランダムに取得されます。スクリーンショットをご覧ください:
重複のないリストからランダムな値を生成または取得する数式
上記の数式を使用すると、結果に重複が見つかる場合があります。リストから重複なしでランダムに選択するための一般的な構文は次のとおりです:
- データ: ランダムに項目を抽出したい値のリスト;
- n: 抽出したいランダム項目の数。
名前リスト A2:A12 からランダムに5つの名前を返す必要がある場合は、以下の数式のいずれかを入力またはコピーしてください。
=INDEX(SORTBY(A2:A12, RANDARRAY(ROWS(A2:A12))), SEQUENCE(5)) (直接数字を入力)
次に、Enterキーを押して、リストA2:A12から重複のない5つのランダムな名前を取得します。スクリーンショットをご覧ください:
2.4 Excel 365 / 2021およびそれ以降のバージョンで範囲からランダムな行を生成または選択する
場合によっては、Excelのセル範囲からランダムな行を選択する必要があるかもしれません。このタスクを実現するために、ここでいくつかの数式について説明します。
数式を使用して範囲からランダムな行を生成または選択
セル範囲からランダムに行を生成するための一般的な構文は次のとおりです:
- データ: ランダムに行を抽出したいセルの範囲;
- n: 抽出したいランダムな行の数;
- {1,2,3…}: 抽出する列番号。
範囲 A2:C12 から3行のデータを抽出するには、次の数式のいずれかを使用してください:
=INDEX(A2:C12, RANDARRAY(3, 1, 1, 行数(A2:C12), TRUE), {1,2,3}) (直接数字を入力)
次に、Enterキーを押して、範囲A2:C12から3行のランダムなデータを取得します。スクリーンショットをご覧ください:
重複のない範囲からランダムな行を生成または選択する数式
同様に、上記の数式でも重複データが生成される可能性があります。重複する行の発生を防ぐために、以下の一般的な構文を使用できます。
- データ: ランダムに行を抽出したいセルの範囲;
- n: 抽出したいランダムな行の数;
- {1,2,3…}: 抽出する列番号。
例えば、範囲 A2:C12 から5行のデータを選択するには、以下の数式のいずれかを使用してください。
=INDEX(SORTBY(A2:C12, RANDARRAY(ROWS(A2:C12))), SEQUENCE(5), {1,2,3}) (直接数字を入力)
そして、Enterキーを押すと、重複のない5つのランダムな行が範囲A2:C12から抽出されます(以下のスクリーンショット参照):
ランダムな結果の変更を防ぐ
おそらく、この記事で紹介されているRAND、RANDBETWEEN、RANDARRAYなどのすべてのランダム化関数が揮発性であることに気付いたでしょう。シートが変更されるたびに生成結果が再計算され、その後新しいランダムな値が生成されます。ランダムな値が自動的に変更されるのを止めるために、ここでは2つの簡単な方法をご紹介します。
コピーと貼り付けを使用して、ランダムな結果が変更されるのを防ぐ
通常、動的な数式を値としてコピーして貼り付けるために「コピー」と「貼り付け」機能を使用できます。次のように操作してください:
1. ランダム数式が入ったセルを選択し、Ctrl + C を押してコピーします。
2. 次に、選択した範囲を右クリックし、[貼り付けオプション]セクションから[値]オプションをクリックします。スクリーンショットをご覧ください:
ヒント: また、Shift + F10を押してからVを押すことでこのオプションを有効にすることもできます。
3. そして、すべての数式セルが値に変換され、ランダムな値はこれ以上変更されなくなります。
便利な機能を使用して、ランダム結果の変更を防ぐ
Kutools for Excelをインストールしている場合、To Actual機能を使用すると、選択したすべての数式セルを1回のクリックで値に変換できます。
1. ランダムな数式が入ったセルを選択し、次に Kutools > 実際の値に変換する をクリックします。スクリーンショットをご覧ください:
2. そして今、選択されたすべての数式が値に変換されました。
最高のオフィス生産性ツール
🤖 | Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパーLOOKUP: 複数条件のVLookup | 複数値のVLookup | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成 | 依存ドロップダウンリスト | マルチセレクトドロップダウンリスト .... | |
列管理: 特定の数の列を追加 | 列を移動 | 非表示列の可視ステータスを切り替え | 範囲と列を比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック & ワークシート管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストで電子メールを送信 | スーパーフィルター | 特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール (テキストの追加, 特定の文字を削除, ...) | 50以上 のグラフ の種類 (ガントチャート, ...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...) | 19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...) | 12 の変換ツール (単語に変換する, 通貨変換, ...) | 7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...) | ...さらに多く |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。 最も必要な機能を入手するにはここをクリック...
Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!