KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でランダムデータを生成:数値、テキスト、日付、時刻をExcel で作成

著者Xiaoyang変更日

一般的に、ランダムデータとは、統計的サンプリング、データ暗号化、くじ、テストやトレーニングなど、予測不可能な結果が求められる場面で使われる、数値・文字列・その他の記号からなるデータです。本記事では、通常のExcel およびExcel 365 で、数値、文字列、日付、時刻を生成するさまざまな方法をご紹介します。

目次:

1。Excel で乱数、テキスト、日付、時刻を簡単に生成

2。Excel 365/2021 以降のバージョンで、乱数・テキスト・日付を簡単に生成

3。乱数の結果が変更されないようにする


Excel で数値、テキスト、日付、時刻をランダムに生成

このセクションでは、Excel ワークシートで数値、文字列、日付、時刻を効率よく生成するためのさまざまなソリューションをご紹介します。

1.1 Excel でランダムな数値を生成

ワークシートに複数のランダムな数値を生成・挿入するには、通常の RAND 関数や RANDBETWEEN 関数が非常に役立ちます。こうした数式に加え、他のコードや簡単なツールも同じように活用できます。

RAND 関数を使用して乱数を生成

2 つの数値の間でランダムな小数を生成

RAND 関数を使えば、0 から1 の間、0 から任意の数値の間、または2 つの指定した数値の間でランダムな小数を生成できます。

数式説明
=RAND()0 から1 の間のランダムな小数を生成します。
=RAND()*N0 から N の間でランダムな小数を生成します。
=RAND()*(B-A)+A指定した任意の2 つの数値の間でランダムな小数を生成します。()Aは下限値、Bは上限値です。)

上記の必要な数式をコピーして必要な数だけセルに適用すると、以下のスクリーンショットのような結果が得られます。

=RAND()=RAND()*50=RAND()*(100-50)+50
Excel で数式 =RAND() の結果を示すスクリーンショット。0 から 1 の間のランダムな小数が表示されていますExcel で数式 =RAND()*50 の結果を示すスクリーンショット。0 から 50 の間のランダムな小数が表示されていますExcel で数式 =RAND()*(100-50)+50 の結果を示すスクリーンショット。50 から 100 の間のランダムな小数が表示されています

2 つの数値の間でランダムな整数を生成

ランダムな整数を生成するには、下表のように RAND 関数と INT 関数を組み合わせてご使用ください。

数式説明
=INT(RAND()*N)0 から N の間のランダムな整数を生成します。
=INT(RAND()*(B-A)+A)指定した任意の2 つの数値の間でランダムな整数を生成します。()Aは下限値、Bは上限値です。)

上記の必要な数式を適用し、必要に応じて他のセルにドラッグしてコピーすると、以下のスクリーンショットのような結果が得られます。

=INT(RAND()*100)=INT(RAND()*(500-200)+200)
Excel で数式 =INT(RAND()*100) の結果を示すスクリーンショット。0 から 100 の間のランダムな整数が表示されていますExcel で数式 =INT(RAND()*(500-200)+200) の結果を示すスクリーンショット。200 から 500 の間のランダムな整数が表示されています

RANDBETWEEN 関数を使用して乱数を生成

Excel には RANDBETWEEN 関数があり、これを使えばランダムな数値を素早く簡単に生成できます。

2 つの数値の間でランダムな整数を生成

=RANDBETWEEN(bottom, top)
  • bottomtop:乱数の範囲として取得したい最小値と最大値を指定します。

たとえば、100 から200 の間でランダムな整数を生成したい場合は、空白セルに次の数式を入力し、必要に応じて他のセルにドラッグしてコピーしてください(スクリーンショット参照)。

=RANDBETWEEN(100, 200)

Excel で数式 =RANDBETWEEN(100, 200) の結果を示すスクリーンショット。100 から 200 の間のランダムな整数が表示されています

ヒント: RANDBETWEEN 関数は、正の数値と負の数値の両方を生成できます。-100 から100 の間でランダムな数値を挿入したい場合は、下限値を-100 に変更するだけで OK です(以下の数式を参照)!

=RANDBETWEEN(-100, 100)

Excel で数式 =RANDBETWEEN(-100, 100) の結果を示すスクリーンショット。-100 から 100 の間のランダムな整数が表示されています


2 つの数値の間で指定された小数点以下の桁数を持つランダムな数値を生成

指定された小数点以下の桁数を持つランダムな数値を生成するには、RANDBETWEEN 関数を次のように調整する必要があります。

  • 小数位数桁の乱数:=RANDBETWEEN(bottom*10, top*10)/10
  • 小数点以下の桁数桁の乱数:=RANDBETWEEN(bottom*100, top*100)/100
  • 小数点以下の桁数桁の乱数:=RANDBETWEEN(bottom*1000, top*1000)/1000

ここでは、10 から50 の間で小数点以下指定桁数のランダムな数値を取得したい場合、以下の数式を入力し、必要に応じて他のセルにドラッグしてコピーしてください(スクリーンショット参照)。

=RANDBETWEEN(10*100, 50*100)/100

Excel で数式 =RANDBETWEEN(10*100, 50*100)/100 の結果を示すスクリーンショット。10 から 50 の間で小数点以下 2 桁のランダムな数値が表示されています


ユーザー定義関数を使用して2 つの値の間で乱数を生成

以下のユーザー定義関数を使えば、ワークシートの範囲内でランダムな整数や指定した小数点以下の桁数を持つ数値を簡単に生成できます。次の手順に従ってください。

1ALT + 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 の間でランダムな整数を生成するには、次の数式をご利用ください。

=RandomNumbers(50,200,0)

2.)50 から200 の間で小数点以下2 桁のランダムな数値を挿入するには、以下の数式を適用してください。

=RandomNumbers(50,200,2)

4.最後に、必要に応じて他のセルに数式をドラッグしてコピーすると、以下のスクリーンショットのような結果が得られます。

Excel でカスタム VBA 数式 =RandomNumbers(50,200,0) の結果を示すスクリーンショット。50 から 200 の間のランダムな整数が表示されていますExcel でカスタム VBA 数式 =RandomNumbers(50,200,2) の結果を示すスクリーンショット。50 から 200 の間で小数点以下 2 桁のランダムな数値が表示されています

2 つの数値の間で乱数を生成する便利な機能

数式を覚えて入力するのが面倒な方には、便利な機能「ランダムデータを挿入する」()Kutools for Excel)をおすすめします。この機能を使えば、数式を使わずにランダムな整数や小数を簡単に生成できます。

Kutools for Excel-Excel 向けの必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、効率的になります。今すぐダウンロード!

1.ランダムな数値を生成したいセル範囲を選択し、次にKutools>挿入>ランダムデータを挿入するをクリックしてください(スクリーンショット参照)。

リボンの [挿入] タブにある Kutools の [ランダムデータの挿入] オプションのスクリーンショット

2ランダムデータを挿入するダイアログボックスで:

1.)ランダムな整数を生成:

[[Integer]]タブのIntegerセクションで、ランダムな整数を生成する範囲を指定するために[[From]]ボックスと[[To]]ボックスに数値を入力し、FromおよびToの設定が完了したら、[[OK]]または[[Apply]]ボタンをクリックして、以下スクリーンショットのようなランダムな整数を取得します。OkまたはApplyボタンをクリックします。

[整数] タブでランダムな整数を生成する [ランダムデータの挿入] ダイアログ ボックスのスクリーンショット

2.)特定の小数点以下の桁数を持つランダムな数値を生成:

[[Decimal]]タブで、ランダムな小数を生成したい範囲の最小値と最大値を、それぞれ[[From]]ボックスと[[To]]ボックスに入力します。次に、[[Decimal place]]テキストボックスで小数点以下の桁数を指定し、Decimal[[OK]]または[[Apply]]ボタンをクリックしてランダムな小数を生成します(スクリーンショット参照)。OkまたはApplyボタンをクリックします。

[小数] タブでランダムな小数を生成する [ランダムデータの挿入] ダイアログ ボックスのスクリーンショット

ヒント:重複のないランダムな小数値を生成するには、一意の値オプションをオンにしてください。


1.2 重複のないランダム数値を生成する(一意のランダム数値)

数式やコードを使用してランダム数値を生成すると、一部の数値が重複することがあります。重複のないランダム数値のリストを作成したい場合は、このセクションでいくつかの方法をご紹介します。

配列数式を使用して重複のない乱数を生成

たとえば、100 から200 の範囲で重複のないランダム数値を生成したい場合、次の複雑な配列数式が役立ちます。以下の手順に従って操作してください。

1.下限値と上限値をそれぞれ2 つのセルに入力します。この例では、セル B2 と B3 にそれぞれ100 と200 を入力します(下記スクリーンショット参照)。

Excel でランダムな数値を生成するための下限値と上限値をセル B2 および B3 に入力しているスクリーンショット

2.次に、次の数式を空白セル(たとえば D3 など。ただし、最初の行のセルには入力しないでください)にコピーし、Ctrl + Shift + Enterキーを同時に押して、最初の数値を取得します(下記スクリーンショット参照)。

=IFERROR(LARGE(ROW(INDIRECT($B$1&":"&$B$2))*NOT(COUNTIF($D$2:D2,ROW(INDIRECT($B$1&":"&$B$2)))),RANDBETWEEN(1,$B$2-$B$1-ROW(A1)+2)),「」)

:上記の数式において、B1は下限値、B2はランダム数値を生成する範囲の上限値を表します。D2はこの数式の上にあるセルです。

Excel で一意のランダムな数値を生成する配列数式の初期結果を示すスクリーンショット

3.その後、この数式を他のセルにドラッグしてコピーすると、100 から200 の範囲でランダムな数値が生成されます(下記参照)。

Excel で配列数式を使用して 100 から 200 の間の一意のランダムな数値のリストを生成したスクリーンショット


VBA コードを使用して重複のない乱数を生成

上記の数式が少し難しく感じる場合は、以下の VBA コードを使用できます。以下の手順に従ってください。

1ALT + F11キーを押すと、Microsoft Visual Basic for Applicationsウィンドウが開きます。

2挿入 > モジュールをクリックして開き、次のコードをモジュールウィンドウに貼り付けてください。

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ランダムデータを挿入する機能にある「一意の値」というスマートなオプションをご活用ください。この小さなチェックボックスにチェックを入れるだけで、あっという間にタスクが完了します!

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.ランダムな数値を生成したいセル範囲を選択します。

2.次に、Kutools > 挿入 > ランダムデータを挿入するをクリックします。表示されたダイアログボックスで、以下の操作を行います。

  • 整数」タブの「From」および「To」ボックスに、乱数を生成したい範囲の数値を入力してください。
  • 重複なし」オプションをオンにしてください。
  • 次に、「OK」または「適用」ボタンをクリックすると、下のスクリーンショットのように一意の乱数が取得されます。

[一意の値] オプションがチェックされた [ランダムデータの挿入] ダイアログ ボックスのスクリーンショット


1.3 Excel でランダムな偶数または奇数を生成する

セル範囲内でランダムな偶数または奇数を生成したい場合は、RANDBETWEEN 関数を EVEN 関数または ODD 関数の中に配置するだけで済みます。一般的な構文は次のとおりです。

数式説明
=EVEN(RANDBETWEEN(bottom,top))指定された2 つの数値の間でランダムな偶数を生成します。
=ODD(RANDBETWEEN(bottom,top))指定された2 つの数値の間でランダムな奇数を生成します。

たとえば、10 から100 の範囲でランダムな偶数または奇数を生成するには、次の数式を使用します。

=EVEN(RANDBETWEEN(10,100))             (Generate random even numbers)
=ODD(RANDBETWEEN(10,100))             
 (Generate random odd numbers)

その後、数式をフィルハンドルでドラッグして必要なセルにコピーすると、以下のような結果が得られます(下記スクリーンショット参照)。

Excel で 10 から 100 の間のランダムな偶数を生成しているスクリーンショットExcel で 10 から 100 の間のランダムな奇数を生成しているスクリーンショット

1.4 合計が指定された値になるようにランダム数値を生成する

場合によっては、合計が事前に定められた値となるようなランダムな数値のセットを作成する必要があります。たとえば、10 から50 の範囲内で5 個(または n 個)のランダムな数値を生成し、その合計を100 にしたいことがあります(下記スクリーンショット参照)。こうした課題をExcel で解決するため、ここでは2 つの方法をご紹介します。

Excel で合計が 100 になるように 10 から 50 の間でランダムな数値を生成しているスクリーンショット

数式を使用して合計が特定の値になる乱数を生成

ここで、次の数式が役立ちます。少し複雑ですので、指示に従ってステップバイステップで進めてください。

1.まず、必要なデータ(事前に決められた合計値、開始番号、終了番号、および生成したいランダム数値の個数)を用意します(下記スクリーンショット参照)。

Excel で特定の合計値になるようにランダムな数値を生成するための設定(下限値、上限値、合計値)を示すスクリーンショット

2.次に、以下の数式をランダムな数値を生成したい空白セルにコピーします。この例では、セル A4 に数式を入力し、Enterキーを押して最初のランダムな数値を取得します(下記スクリーンショット参照)。

=RANDBETWEEN(MAX($B$2,$A$2-(($D$2-ROWS($A$4:$A4))*$C$2)),MIN($C$2,$A$2-(($D$2-ROWS($A$4:$A4))*$B$2)))

:上記の数式において、A2は指定された合計値、B2およびC2はランダムな数値を生成する範囲の下限値と上限値、D2は生成するランダムな数値の個数、A4はこの数式を入力するセルを示します。

Excel で数式を使用して最初に生成されたランダムな数値の結果を示すスクリーンショット

3.次に、セル A5 に以下の数式をコピーしてEnterキーを押すと、2 番目のランダムな数値が表示されます(下記スクリーンショット参照)。

=IF(ROW()=$D$2+3,$A$2-SUM($A$4:$A4),IF(ROW()>$D$2+3,「」,RANDBETWEEN(MAX($B$2,$A$2-(SUM($A$4:$A4)+($D$2-ROWS($A$4:$A5))*$C$2)),MIN($C$2,$A$2-(SUM($A$4:$A4)+($D$2-ROWS($A$4:$A5))*$B$2)))))

:上記の数式において、A2は指定された合計値、B2およびC2はランダムな数値を生成する範囲の下限値および上限値、D2は生成したいランダムな数値の個数、A4は最初の数式を配置するセル、A5は2 番目の数式を配置するセルを示します。

Excel で数式を使用して 2 番目に生成されたランダムな数値と更新された結果を示すスクリーンショット

4.次に、2 番目に生成された数値を選択し、下方向にドラッグしてこの数式を下の3 つのセルにコピーします。すると、5 個のランダムな数値が得られます(下記スクリーンショット参照)。

Excel で特定の合計値になるように最終的に生成されたランダムな数値のセットを示すスクリーンショット

5.結果を確認するには、これらの数値を合計し、合計値が100 になっているかチェックしてください。F9 キーを押すとランダムな数値が動的に更新されますが、その合計は常に100 に保たれます。

合計を検証するために Excel で生成されたランダムな数値の合計を示すスクリーンショット


特定の合計値になるランダムな数値の組み合わせを驚くほど簡単に生成する

上記の数式を使えば、要件を満たすランダムな数値を生成できます。ただし、指定した数値から構成され、特定の合計値を持つすべての可能な組み合わせを一覧表示したい場合は、ここでおすすめの簡単ツール——Kutools for Excelをご紹介します。その数値の補完機能を使えば、同じ合計値を持つすべてのランダムな数値の組み合わせを瞬時に取得できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.まず、指定した数値を一覧表示します。ここでは、10 から50 までのすべての数値を下記スクリーンショットのようにリストアップしています。

Excel で特定の合計値になる組み合わせを見つけるための 10 から 50 の間の数値リストを示すスクリーンショット

2.次に、Kutools > コンテンツ > 数値の補完をクリックします(下記スクリーンショット参照)。

Excel の Kutools タブの [コンテンツ] グループにある [数値の組み合わせ] オプションのスクリーンショット

3.表示された数値の補完ダイアログボックスで、次の操作を行ってください。

  • ソース範囲」ボックスで、合計が100 になる数値のリストを選択してください。
  • オプション」で、「合計」テキストボックスに合計値を入力します。ここでは、100をテキストボックスに入力しました。
  • 結果を新しいシートに一覧表示するには、新しいシートに保存オプションをオンにしてください。
  • OK」ボタンをクリックしてください(スクリーンショット参照)。

合計が 100 になる数値の組み合わせを生成するための設定を含む [数値の組み合わせ] ダイアログ ボックスのスクリーンショット

4.処理後、合計値が100 で、数値が10 から50 の範囲からなるすべてのランダムな数値セットが、以下のように一覧表示されます。

Kutools を使用して合計が 100 になるすべてのランダムな数値の組み合わせの結果を示すスクリーンショット

ヒント:各組み合わせにおける組み合わせの数と乱数の個数は、任意で指定できます。たとえば、10 個の組み合わせを生成し、それぞれに5 個の乱数を含める場合は、詳細設定ダイアログボックスで次のように設定してください。

Excel で組み合わせの数と各組み合わせの数値の個数を指定する高度な設定を含む [数値の組み合わせ] ダイアログ ボックスのスクリーンショット

すると、次のような結果が得られます。

高度な設定に基づいて生成されたランダムな数値の組み合わせの結果を示すスクリーンショット


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))
Excel で数式 =CHAR(RANDBETWEEN(65,90)) を使用して生成されたランダムな大文字アルファベットを示すスクリーンショットExcel で数式 =CHAR(RANDBETWEEN(97,122)) を使用して生成されたランダムな小文字アルファベットを示すスクリーンショットExcel で数式 =CHAR(RANDBETWEEN(33,47)) を使用して生成されたランダムな特殊文字を示すスクリーンショット

ヒント:複数の文字からなるランダムなテキスト文字列を生成したい場合は、&記号を使って必要な文字をつなげるだけです。

1.)大文字4 文字からなるランダムな文字列を生成するには、次の数式をご利用ください。

=CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90))

Excel で複合数式を使用して生成された 4 文字の大文字アルファベットのランダムな文字列を示すスクリーンショット

2.)小文字4 文字からなるランダムな文字列を生成するには、以下の数式をご利用ください。

=CHAR(RANDBETWEEN(97,122))& CHAR(RANDBETWEEN(97,122)) & CHAR(RANDBETWEEN(97,122)) & CHAR(RANDBETWEEN(97,122))

3.)先頭2 文字を大文字、末尾2 文字を小文字とするランダムな文字列を生成するには、次の数式を使用してください。

=CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(97,122)) & CHAR(RANDBETWEEN(97,122))

簡単な数式と&記号を活用すれば、ニーズに応じたさまざまな組み合わせを作成できます。


便利な機能を使用してランダムな文字およびテキスト文字列を生成

Kutools for Excelがすでにインストール済みなら、数式を覚える必要なく、素早く簡単にランダムな文字や文字列を生成できます!

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.文字または文字列を挿入するセル範囲を選択します。

2.次に、Kutools > 挿入 > ランダムデータを挿入するをクリックします。表示されたダイアログボックスで、以下の操作を行ってください。

  • 文字列」タブをクリックしてください。
  • 挿入したい文字の種類()a~zA~Z、またはその両方)にチェックを入れてください。
  • 次に、「文字列の長さでフィルタリング」テキストボックスに、必要な文字列の長さを入力してください。
  • 最後に、「OK」または「適用」をクリックすると、下のスクリーンショットのように文字列が挿入されます。

Excel でランダムな文字および文字列を生成するための [ランダムデータの挿入] ダイアログ ボックスのスクリーンショット


1.6 Excel で英数字を含むランダムなパスワードを生成する

パスワードを作成する際、パスワードは少なくとも8 文字以上で、大文字・小文字・数字・特殊記号を組み合わせることが推奨されます。このセクションでは、Excel でランダムなパスワードを生成するためのいくつかのテクニックを紹介します。

数式を使用して英数字を含むランダムなパスワードを生成

ここでは例として、8 文字のランダムなパスワードを生成します。そのためには、数式でランダムな文字およびテキスト文字列を生成するセクションで紹介されている3 つの数式を組み合わせるだけです。

以下の数式を空白セルにコピーしてください。

=CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(100,999)&CHAR(RANDBETWEEN(33,47))

:上記の数式では、最初のCHARおよびRANDBETWEEN 関数でランダムな大文字を1 文字生成し、2 番目と3 番目の式で小文字をそれぞれ1 文字ずつ(計2 文字)生成します。4 番目の式では大文字を1 文字、5 番目の式では100~999 の範囲にある3 桁の数字を生成します。最後の式は特殊記号を生成します。これらの順序や構成は、必要に応じて自由に変更・調整できます。

Excel で CHAR 関数と RANDBETWEEN 関数を組み合わせた数式を使用して生成されたランダムなパスワードを示すスクリーンショット


ユーザー定義関数を使用して英数字を含むランダムなパスワードを生成

Excel でランダムなパスワードを挿入するには、以下のユーザー定義関数も便利です。次の手順に従って操作してください。

1ALT + 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 文字のランダムな文字列が生成されます。スクリーンショットをご参照ください。

VBA 関数 RandomizeF を使用して生成されたランダムなパスワードを示すスクリーンショット


簡単な機能を使用して英数字を含むランダムなパスワードを生成

Excel で複数のランダムなパスワードを素早く簡単に生成する方法はあるでしょうか?Kutools for Excelには、「ランダムデータを挿入する」という優れた機能が搭載されており、わずか数回のクリックでランダムなパスワードを簡単に挿入できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.パスワードを挿入したいセル範囲を選択してください。

2.次に、Kutools>挿入>ランダムデータを挿入するをクリックします。表示されるダイアログボックスで、以下の操作を行ってください。

  • 文字列」タブをクリックしてください。
  • 必要に応じて文字の種類をチェックします。
  • 次に、「文字列の長さでフィルタリング」テキストボックスに、必要なパスワードの長さを入力してください。
  • 最後に、「OK」または「適用」をクリックすると、下のスクリーンショットのようにパスワードが生成されます。

Kutools の [ランダムデータの挿入] 機能を使用して生成されたランダムなパスワードを示すスクリーンショット


1.7 Excel でランダムな特定のテキストを生成する

Excel で特定のテキスト値をランダムに表示したり、一覧表示したことはありますか?たとえば、指定されたテキスト(item1、item2、item3、item4、item5)をセルの一覧内にランダムに並べたい場合、以下の2 つのテクニックがこのタスクを効果的に解決します。

数式を使用して特定のテキストをランダムに生成

Excel では、CHOOSE 関数と RANDBETWEEN 関数を組み合わせた数式を作成することで、特定のテキストをランダムに表示できます。一般的な構文は次のとおりです。

=CHOOSE(RANDBETWEEN(1,n),「Value_1」,「Value_2」,「Value_3」,…「Value_n」)
  • Value_1、Value_2、Value_3、Value_n:ランダムに一覧表示したいテキスト値を示します。
  • n:使用するテキスト値の個数です。

以下の数式を空白セルに適用し、必要に応じてフィルハンドルを下方向にドラッグして、特定の値をランダムに一覧表示したいセルを埋めてください。スクリーンショットを参照してください。

=CHOOSE(RANDBETWEEN(1,5),「Chemistry」,「Physics」,「Geography」,「Biology」,「Economics」)

Excel で CHOOSE 関数と RANDBETWEEN 関数を使用して生成されたランダムな特定のテキストを示すスクリーンショット


迅速な方法で特定のテキストをランダムに生成

Kutools for Excelをお持ちなら、そのランダムデータを挿入する機能で、セル範囲にカスタムテキスト値を簡単にランダム挿入できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.特定のテキストを挿入したいセル範囲を選択します。

2.次に、Kutools>挿入>ランダムデータを挿入するをクリックします。表示されるダイアログボックスで、以下の操作を行ってください。

  • カスタムリスト」タブをクリックしてください。
  • 次に、追加ボタンボタンをクリックして、別のKutools for Excelプロンプトボックスを開き、ランダムに一覧表示したい独自のカスタムテキスト値を入力または選択してください。(手動で入力する場合は、各項目をカンマで区切ってください。)

Kutools for Excel の [ランダムデータの挿入] ダイアログでカスタムテキスト値を入力するプロンプト ボックスのスクリーンショット

3.次に、OKをクリックしてランダムデータを挿入するダイアログに戻ると、独自のカスタムテキストリストがリストボックスに表示されます。ここで新しいリストアイテムを選択し、OKまたは適用ボタンをクリックすると、選択したセルに値がランダムに挿入されます。

Excel で Kutools の [ランダムデータの挿入] 機能を使用して範囲にカスタムのランダムテキストを挿入したスクリーンショット

ヒント:指定されたテキストを重複なしでランダムに一覧表示するには、重複なしの値オプションをオンにしてください。


1.8 Excel でリストからランダムな値を生成または選択する

たとえば、長い名前リストがあり、そのリストからいくつかの名前を抽選対象や調査対象としてランダムに選択したい場合(下記スクリーンショット参照)、Excel でどのように対処すればよいでしょうか?

Excel でランダムに選択される長い名前のリストを示すスクリーンショット

INDEX、RANDBETWEEN、ROWS 関数を使用してリストからランダムな値を生成

Excel にはリストから直接ランダムな値を抽出する機能はありませんが、INDEX 関数、RANDBETWEEN 関数、ROWS 関数を組み合わせた数式を使うことで、簡単に複数のランダムな値を抽出できます。

1.抽出した値を配置したい空白セルに、次の数式をコピーしてください。

=INDEX($A$2:$A$12,RANDBETWEEN(1,ROWS($A$2:$A$12)),1)

:上記の数式で、A2:A12はランダムに抽出したい値のリストです。

2.次に、フィルハンドルを下方向に必要なセルまでドラッグすると、以下のスクリーンショットのような結果が得られます。

Excel で INDEX、RANDBETWEEN、ROWS 関数を使用してリストからランダムな名前を抽出したスクリーンショット


INDEX および RANK.EQ 関数を使用してリストから重複のないランダムな値を生成

上記の数式を使用すると、一部の重複する値が表示されることがあります。重複する値をスキップするには、まず補助列を作成し、次に INDEX 関数と RANK.EQ 関数に基づく数式を適用してください。以下の手順で操作します。

1。以下の数式を空白セルに入力して、ランダムな数値のリストを取得してください(スクリーンショット参照):

=RAND()

Excel で一意の選択のための補助列として生成されたランダムな数値のリストを示すスクリーンショット

2。次に、別の列のセルに以下の数式を入力し、そのセルから下方向にドラッグしてコピーすると、重複しないランダムな値が表示されます(スクリーンショットを参照):

=INDEX($A$2:$A$12,RANK.EQ($B2,$B$2:$B$12))

:上記の数式において、A2:A12はランダムに抽出したい値のリスト、B2はヘルパー列の先頭セル、B2:B12はステップ1 で作成したヘルパー数式のセル範囲です。

Excel で INDEX 関数と RANK.EQ 関数を使用してランダムかつ一意の名前を選択したスクリーンショット


セル、行、列を範囲から優れた機能で抽出

ここでは、Kutools for Excelの便利な機能「並び替え、選択、またはランダムに」をご紹介します。この機能を使えば、セルや行、列を簡単にランダムに選択できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。ランダムに値を抽出したいセルの範囲を選択します。

2。次に、Kutools > Range > 並び替え、選択、またはランダムにをクリックします(スクリーンショットを参照)。

Excel の Kutools タブにある [範囲をランダムに並べ替え/選択] 機能のスクリーンショット

3。「並び替え、選択、またはランダムに」ダイアログボックスで、以下の操作を行ってください:

  • 選択」タブをクリックしてください。
  • 選択するセル数(No. of cells to select)」ボックスに、ランダムに選択したいセルの数を入力してください。
  • 選択の種類」セクションで、必要な操作を1 つ選択してください。ここでは、セルオプションを選択します。
  • 次に、「OK」または「適用」ボタンをクリックすると、5 つのセルが一気にランダムに選択されます。スクリーンショットをご確認ください。

Kutools の [範囲をランダムに並べ替え/選択] 機能を使用してランダムに選択されたセルの結果を示すスクリーンショット

4。セルを選択した後、必要に応じて他のセルにコピー&ペーストできます。


1.9 Excel でデータをランダムにグループに割り当て

名前リストがあると仮定します。ここで、以下のスクリーンショットのように名前を3 つのグループ(グループ A、グループ B、グループ C)にランダムに分割したい場合、このセクションではExcel でこのタスクを解決するための数式をいくつか紹介します。

Excel で名前をランダムに 3 つのグループに分割したスクリーンショット

数式を使用してデータをランダムにグループに割り当て

指定されたグループにランダムに人を割り当てるには、CHOOSE 関数と RANDBETWEEN 関数を組み合わせるのが効果的です。

1。グループを作成したいセルに、次の数式をコピーまたは入力してください:

=CHOOSE(RANDBETWEEN(1,3),「Group A」,「Group B」,「Group C」)

:上記の数式において、Group AGroup B、およびGroup Cは割り当てるグループ名を表し、数値 3は割り当てるグループの数を示します。

2。次に、フィルハンドルをドラッグしてこの数式を他のセルにコピーすると、以下のスクリーンショットのように名前が3 つのグループに分割されます:

Excel で CHOOSE 関数と RANDBETWEEN 関数を使用してランダムにグループを割り当てたスクリーンショット


数式を使用してデータを等数でランダムにグループに割り当て

すべてのグループに同じ人数を割り当てたい場合、上記の数式では正しく動作しません。このような場合は、RAND 関数でランダム値を含むヘルパー列を作成し、その後 INDEX 関数、RANK 関数、ROUNDUP 関数を組み合わせた数式を適用します。

たとえば、割り当て基準となるグループ名(グループ A、グループ B、グループ C)をセル F2:F4 にリストアップしている場合、各グループに4 人の参加者を割り当てるには、次のように操作してください:

1。次の数式を入力します:=RAND()。空白セルにこの数式を入力すると、ランダムな数値のリストが生成されます(スクリーンショットを参照):

Excel でデータを均等なグループに分割するための補助列として生成されたランダムな数値を示すスクリーンショット

2。次に、隣の列(例:セル D2)に次の数式をコピーまたは入力してください:

=INDEX($F$2:$F$4, ROUNDUP(RANK(C2,$C$2:$C$13)/4,0))

:上記の数式において、C2はヘルパー列の最初のセル、C2:C13は手順1 で作成したヘルパー数式のセル範囲、数値4 は各グループに含める人数、そしてF2:F4はデータに割り当てるグループ名を含むセル範囲です。

3。フィルハンドルを下方向にドラッグしてデータリストからランダムなグループを生成すると、名前が均等なグループに分割されます(スクリーンショット参照):

Excel で数式を使用して名前を 3 つのグループに均等に分割したスクリーンショット


1.10 Excel でランダムな日付を生成

2 つの指定された日付の間で任意の日付を生成するには、いくつかの方法があります。

数式を使用して指定された2 つの日付の間にランダムな日付を生成

たとえば、2021 年5 月1 日から2021 年10 月15 日までの期間内でランダムな日付をいくつか生成したい場合、Excel では通常、RANDBETWEEN 関数と DATE 関数を組み合わせてこのタスクを実行できます。以下の手順に従って操作してください:

1。ランダムな日付を挿入したいセルを選択し、次の数式を入力してください:

=RANDBETWEEN(DATE(2021, 5, 1),DATE(2021, 10, 15))

:この数式では、2021、5、1が開始日、2021、10、15が終了日を表しています。必要に応じて、これらの日付を置き換えてください。

2。次に、この数式を他のセルにドラッグしてコピーすると、以下のスクリーンショットのように5 桁の数値がセルに表示されます:

ランダムな日付用に RANDBETWEEN 関数で生成された 5 桁の数値を示すスクリーンショット

3。その後、これらの数値を日付形式に変更する必要があります。数式が入力されたセルを選択し、右クリックしてコンテキストメニューからセルの書式設定を選択してください。

4セルの書式設定」ダイアログボックスで、数値タブをクリックし、日付分類ペインから選択して、種類リストから必要な日付形式をお選びください(ドロップダウンリストをご参照ください)。スクリーンショットもご確認ください:

Excel で数値を日付形式に設定するための [セルの書式設定] ダイアログ ボックスのスクリーンショット

5OKをクリックしてダイアログを閉じると、数値が通常の日付形式に変換されます(スクリーンショットを参照):

書式設定後に Excel で 2021-5-1 から 2021-10-15 の間のランダムな日付を生成したスクリーンショット

ヒント:週末を除いたランダムな平日を生成したい場合は、以下の数式が役立ちます:

=WORKDAY(RANDBETWEEN(DATE(2021, 5, 1),DATE(2021, 10, 15))-1,1)

素晴らしい機能を使用して指定された2 つの日付の間にランダムな日付を生成

Kutools for Excelランダムデータを挿入する機能では、指定した2 つの日付の間に、ランダムな日付や平日、週末を生成するオプションもご利用いただけます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。ランダムな日付を挿入するセル範囲を選択します。

2。次に、Kutools > 挿入 > ランダムデータを挿入するをクリックします。表示されたダイアログボックスで、次の操作を行ってください:

  • 日付」タブをクリックしてください。
  • 次に、日付の範囲を指定します。この例では、2021 年5 月1 日から2021 年10 月15 日までを選択します。
  • 次に、日付の種類を選択してください—平日週末、または必要に応じて両方を選びましょう。
  • 最後に、「OK」または「適用」をクリックすると、下のスクリーンショットのようにランダムに日付が生成されます。

Kutools を使用して 2 つの日付の間でランダムな営業日を生成したスクリーンショット

ヒント:重複しないランダムな日付を生成するには、一意の値オプションをオンにしてください。


1.11 Excel でランダムな時刻を生成

ランダムな数値、文字列、日付を挿入した後、このセクションではExcel でランダムな時刻を生成するためのテクニックを紹介します。

数式を使用してランダムな時刻を生成

数式でランダムな時刻を生成

セル範囲にランダムな時刻を生成するには、TEXT 関数と RAND 関数を組み合わせた数式がぴったりです。

空白セルに以下の数式を入力し、時刻を取得したい他のセルにもドラッグして数式をコピーしてください(スクリーンショットを参照):

=TEXT(RAND(),「HH:MM:SS」)

Excel で TEXT 関数と RAND 関数を使用してランダムな時刻を生成した結果を示すスクリーンショット


2 つの指定された時刻の間にランダムな時刻を生成

特定の2 つの時刻(例:10 時から18 時)の間にランダムな時刻を挿入したい場合は、以下の数式を適用してください:

=TEXT(RAND()*(18-10)/24+10/24,”HH:MM:SS”)

:上記の数式では、数値 18が終了時刻、10が開始時刻を表します。必要に応じて、これらの値は変更可能です。

その後、この数式を他のセルにもドラッグしてコピーすると、2 つの指定された時間範囲の間にランダムな時刻が生成されます(スクリーンショットを参照):

数式を使用して午前 10 時から午後 6 時の間でランダムな時刻を生成したスクリーンショット


数式で特定の間隔でランダムな時刻を生成

たとえば、Excel で特定の間隔(例:15 分ごと)でランダムな時刻を生成したい場合があります。そんなときは、TEXT 関数の中に RAND 関数と FLOOR 関数を組み合わせて使うと便利です。

以下の数式をコピーまたは入力し、空白セルに貼り付けた後、その数式をドラッグしてランダムな時刻を取得したいセルにコピーしてください。スクリーンショットをご参照ください:

=TEXT(FLOOR(RAND(),"0:15"),「HH:MM:SS」)

:数式内の数値 15は時刻の間隔を表します。30 分間隔でランダムな時刻が必要な場合は、15 を30 に置き換えてください。

Excel で数式を使用して 15 分間隔でランダムな時刻を生成したスクリーンショット


便利な機能を使用して指定された2 つの時刻の間にランダムな時刻を生成

もしKutools for Excelをお持ちなら、そのランダムデータを挿入する機能で、ワークシート内で指定した時刻の範囲からランダムな時刻を簡単に生成できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。時刻を入力したいセル範囲を選択します。

2。 次に、Kutools > 挿入 > ランダムデータを挿入するをクリックします。表示されたダイアログボックスで、以下の操作を行ってください:

  • 時刻」タブをクリックしてください。
  • 次に、時間範囲を指定します。この例では、午前9 時から午後4 時30 分までを選択します。
  • 最後に、「OK」または「適用」をクリックすると、下のスクリーンショットのようにランダムな時刻が生成されます。

Kutools for Excel で [ランダムデータの挿入] ツールを使用して午前 9:00 から午後 4:30 の間でランダムな時刻を生成したスクリーンショット


数式を使用して指定された2 つの日時データの間にランダムな日付と時刻を生成

日付と時刻を同時にランダムに生成したい場合は、以下の数式が役立ちます。

1。ランダムな日時を生成したいセルに、次の数式を入力またはコピーしてください:

=TEXT(RAND()*("2021-10-15 12:00:00"-"2021-1-1 9:00")+"2021-1-1 9:00:00",「YYYY-MM-DD HH:MM:SS」)

: この数式では、2021-10-15 12:00:00が終了日時、2021-1-1 9:00:00が開始日時です。必要に応じて、これらを変更できます。

2。その後、この数式を他のセルにドラッグしてコピーすると、ランダムな日時が表示されます。スクリーンショットをご参照ください:

Excel で数式を使用して 2021-01-01 9:00:00 から 2021-10-15 12:00:00 の間でランダムな日時値を生成したスクリーンショット


Excel 365 / 2021 以降のバージョンでランダムな数値、テキスト、日付を生成する

このセクションでは、Excel 365、Excel 2021 およびそれ以降のバージョンで、新しい動的配列関数「RANDARRAY」を使用して、ランダムな数値や日付を生成し、ランダムに選択したりデータをグループにランダムに割り当てたりする方法を説明します。

RANDARRAY 関数は、指定した2 つの数値の間に基づいて、ランダムな数値の配列を返すために使用されます。

RANDARRAY 関数の構文は次のとおりです:

=RANDARRAY([rows],[columns],[min],[max],[integer])
  • rows(省略可能):返される乱数の行数。(省略時はデフォルト値 = 1)
  • columns(省略可能):返される乱数の列数。(省略時は既定値が1 になります。)
  • min(省略可):返される最小値。(省略時はデフォルト値=0)
  • max(省略可能):返される最大値(省略時は既定値 = 1)
  • integer(省略可能):整数または小数値を返します。TRUE の場合は整数、FALSE の場合は小数値を返します。(省略時は既定値 FALSE)
注:
  • 1。RANDARRAY 関数には5 つの引数があり、すべて省略可能です。いずれの引数も指定しない場合、RANDARRAY は0 から1 までの間の小数値を返します。
  • 2。行数または列数の引数が小数の場合、小数点以下は切り捨てられ、整数部分のみが使用されます(例:3.9 は3 として扱われます)。
  • 3。最小値は最大値より小さくなければなりません。そうでない場合、#VALUE! エラーが返されます。
  • 4。この RANDARRAY 関数は配列を返します。ワークシート上で複数の結果が返される場合、それらは隣接するセルにスピルされます。

2.1 Excel 365 / 2021 以降のバージョンでランダムな数値を生成する

Excel 365、Excel 2021 以降のバージョンでは、整数または小数のランダムな数値を生成するのに、この新しい RANDARRAY 関数をご利用いただけます。

数式を使用して2 つの数値の間に乱数を生成

特定の範囲内でランダムな数値のリストを作成するには、以下の数式を適用してください:

必要に応じて以下の数式のいずれかを入力し、Enterキーを押して結果を取得してください。スクリーンショットをご参照ください:

=RANDARRAY(6, 4, 50, 200, TRUE)               (Generate random integers between 50 and 200)
=RANDARRAY(6, 4, 50, 200, FALSE)           
 (Generate random decimals between 50 and 200)
注:上記の数式について:
  • 6:乱数を6 行分返すことを示します。
  • 4:乱数を4 列分返すことを示します。
  • 50200:生成される数値の範囲の最小値と最大値を示します。
  • TRUE:整数を返すことを示します。
  • FALSE:小数値を返すことを示します。
RANDARRAY 関数を使用して 50 から 200 の間でランダムな整数を生成したスクリーンショットExcel で RANDARRAY 関数を使用して 50 から 200 の間でランダムな小数を生成したスクリーンショット

数式を使用して重複のない乱数を生成

通常の RANDARRAY 関数を使用してランダムな数値を生成すると、重複する数値が含まれることがあります。重複を回避するために、ここではこの課題を解決するためのいくつかの数式を紹介します。

重複のないランダムな数値のリストを生成する

列またはリスト形式で一意の数値をランダムに生成するための一般的な構文は次のとおりです:

重複のないランダムな整数:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, TRUE)), SEQUENCE(n))

重複のないランダムな小数:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, FALSE)), SEQUENCE(n))
  • n:生成する値の個数を指定します。
  • min: 最小値の中の最小値。
  • max: 最大値の中の最大値。

たとえば、ここでは50 から100 の範囲で重複のないランダムな数値を8 個挿入します。以下のいずれかの数式を入力した後、Enterキーを押して結果を取得してください:

=INDEX(UNIQUE(RANDARRAY(8^2, 1, 50, 100, TRUE)), SEQUENCE(8))          (Unique random integers)
=INDEX(UNIQUE(RANDARRAY(8^2, 1, 50, 100, FALSE)), SEQUENCE(8))         
(Unique random decimals)
注:上記の数式について:
  • 8:8 個の乱数を返すことを示しています。
  • 50100:生成される数値の範囲の最小値および最大値を示します。
  • TRUE:整数を返すことを示します。
  • FALSE:小数値を返すことを示します。
Excel で UNIQUE 関数と RANDARRAY 関数を使用して一意のランダムな整数のリストを生成したスクリーンショットExcel で UNIQUE 関数と RANDARRAY 関数を使用して一意のランダムな小数のリストを生成したスクリーンショット

重複のないランダムな数値の範囲を生成する

セル範囲内に重複のないランダムな数値を生成したい場合は、SEQUENCE 関数に必要な行数と列数を定義するだけで済みます。一般的な構文は次のとおりです:

列またはリスト形式で一意の数値をランダムに生成するための一般的な構文は次のとおりです:

重複のないランダムな整数:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, TRUE)), SEQUENCE(rows, columns))

重複のないランダムな小数:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, FALSE)), SEQUENCE(rows, columns))
  • n: 数値を挿入するセルの個数。行数×列数で指定します。たとえば、8 行3 列に埋める場合は、24 を指定してください。
  • rows:埋める行数。
  • columns:埋める列数。
  • min: 最小値。
  • max: 最大値。

ここでは、8 行3 列の範囲を50 から100 の範囲の一意なランダムな数値で埋めます。以下の数式のいずれかを適用してください:

=INDEX(UNIQUE(RANDARRAY(24^2, 1, 50, 100, TRUE)), SEQUENCE(8,3))          (Unique random integers)
=INDEX(UNIQUE(RANDARRAY(24^2, 1, 50, 100, FALSE)), SEQUENCE(8,3))         
(Unique random decimals)
注:上記の数式について:
  • 24:24 個の乱数を返すことを示しています(8×3(行数×列数)の積)。
  • 50100:生成される数値の範囲の最小値と最大値を示します。
  • TRUE:整数を返すことを示します。
  • FALSE:小数値を返すことを示します。
Excel の RANDARRAY 関数を使用して 8 行 3 列のグリッドで一意のランダムな整数を生成したスクリーンショットExcel の RANDARRAY 関数を使用して 8 行 3 列のグリッドで一意のランダムな小数を生成したスクリーンショット

2.2 Excel 365 / 2021 以降のバージョンでランダムな日付を生成する

この新しい RANDARRAY 関数を使用すると、Excel で複数のランダムな日付や営業日を素早く簡単に生成することもできます。

数式を使用して2 つの日付の間にランダムな日付を生成

2 つの特定の日付の間にランダムな日付のリストを作成するには、以下の数式を適用してください:

1。空白セルに次の数式を入力してランダムな日付を生成し、Enterキーを押すと5 桁の数値リストが表示されます。スクリーンショットをご参照ください:

=RANDARRAY(10, 1, B1, B2, TRUE)
注:上記の数式について:
  • 10:乱数の日付を10 行分生成することを示します。
  • 1:乱数の日付を1 列分返します。
  • B1B2:日付を生成する範囲の開始日と終了日が入力されたセルです。

Excel で RANDARRAY 関数を使用して 2 つの日付の間で 5 桁のランダムな日付を生成したスクリーンショット

2。次に、これらの数値を通常の日付形式に設定する必要があります。数値を選択して右クリックし、コンテキストメニューからセルの書式設定を選択してください。セルの書式設定ダイアログボックスが表示されたら、次のように操作します:

  • クリックしてNumberタブを開いてください。
  • 次に、DateCategoryペインからクリックしてください。
  • その後、Typeリストボックスから希望する日付書式を選択してください。

Excel でランダムな数値を日付形式に設定するための [セルの書式設定] ダイアログ ボックスのスクリーンショット

3。その後、OKボタンをクリックすると、指定した日付形式で数値が表示されます。スクリーンショットをご参照ください:

Excel を使用して 2021 年 5 月 1 日から 2021 年 12 月 31 日の間で書式設定されたランダムな日付を示すスクリーンショット

ヒント:もちろん、開始日と終了日を数式内に直接入力することもできます。例:

=RANDARRAY(10, 1, 「5/1/2021」, 「12/31/2021」, TRUE)

数式を使用して2 つの日付の間にランダムな営業日を生成

セル範囲内でランダムな営業日を生成するには、RANDARRAY 関数を WORKDAY 関数内に組み込みます。

1。以下の数式を空白セルにコピーまたは入力し、Enterキーを押すと、下のスクリーンショットのような数値のリストが表示されます:

=WORKDAY(RANDARRAY(10, 1, B1, B2, TRUE), 1)

Excel で RANDARRAY 関数と WORKDAY 関数を使用してランダムな営業日数を生成したスクリーンショット

2。その後、セルの書式設定ダイアログボックスで数値を目的の日付形式に設定すると、以下のスクリーンショットのような日付表示が得られます:

Excel で日付形式に書式設定されたランダムな営業日を示すスクリーンショット

ヒント:開始日と終了日は、数式内に直接入力することもできます。例:

=WORKDAY(RANDARRAY(10, 1, 「5/1/2021」, 「12/31/2021」, TRUE), 1)

2.3 Excel 365 / 2021 以降のバージョンでリストからランダムな値を生成または取得する

Excel 365、Excel 2021 およびそれ以降のバージョン(例:Excel 2024)では、セルのリストからいくつかのランダムな値を生成または返したい場合があります。このセクションでは、そのためのいくつかの数式を紹介します。

数式を使用してリストからランダムな値を生成または取得

セルのリストからランダムな値を抽出するには、RANDARRAY 関数と INDEX 関数を組み合わせた数式が効果的です。一般的な構文は次のとおりです:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE))
  • data: ランダムに抽出したい値のリスト。
  • n: 抽出するランダムな項目の数。

たとえば、名前リスト A2:A12 から3 件の名前を抽出するには、以下の数式を使用してください:

=INDEX(A2:A12, RANDARRAY())C2, 1, 1, ROWS(A2:A12), TRUE))             (Use a cell reference)
=INDEX(A2:A12, RANDARRAY())3, 1, 1, ROWS(A2:A12), TRUE))                 
(Type a number directly)

Enterキーを押すと、一度に3 件の名前がランダムに取得されます。スクリーンショットをご参照ください:

Excel でリストから抽出されたランダムな名前のスクリーンショット


数式を使用してリストから重複のないランダムな値を生成または取得

上記の数式では、結果に重複範囲が含まれる可能性があります。重複なしでリストからランダムに選択するための一般的な構文は次のとおりです:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n))
  • データ:ランダムに抽出したい値のリスト。
  • n:抽出したいランダムな項目の数。

名前リスト A2:A12 から5 件の名前をランダムに返す必要がある場合は、以下の数式のいずれかを入力またはコピーしてください:

=INDEX(SORTBY(A2:A12, RANDARRAY(ROWS(A2:A12))), SEQUENCE())C2))             (Use a cell reference)
=INDEX(SORTBY(A2:A12, RANDARRAY(ROWS(A2:A12))), SEQUENCE())5))             
(Type a number directly)

その後、Enterキーを押すと、リスト A2:A12 から重複のないランダムな名前が5 件取得されます。スクリーンショットをご参照ください:

Excel でリストから重複なしで抽出されたランダムな名前のスクリーンショット


2.4 Excel 365 / 2021 以降のバージョンで範囲からランダムに生成または行全体する

場合によっては、Excel のセル範囲からいくつかのランダムな行を抽出する必要があるかもしれません。このタスクを実行するために、ここではいくつかの数式を紹介します。

数式を使用して範囲からランダムに生成または行全体する

セル範囲からランダムな行を生成するための一般的な構文は次のとおりです:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE), {1,2,3…})
  • data: ランダムに抽出したい行を含むセル範囲。
  • n: 抽出するランダムな行の数。
  • {1,2,3…}: 抽出する列の番号。

範囲 A2:C12 から3 行のデータを抽出するには、以下の数式のいずれかを使用してください:

=INDEX(A2:C12, RANDARRAY())E2, 1, 1, ROWS(A2:C12), TRUE), {1,2,3})               (Use a cell reference)
=INDEX(A2:C12, RANDARRAY())3, 1, 1, ROWS(A2:C12), TRUE), {1,2,3})                 
(Type a number directly)

その後、Enterキーを押すと、範囲 A2:C12 からランダムに3 行のデータが取得されます。スクリーンショットをご参照ください:

Excel で範囲から抽出された 3 行のランダムな行のスクリーンショット


数式を使用して範囲から重複なしでランダムに生成または行全体する

同様に、上記の数式でも重複データが生成される可能性があります。重複行の発生を防ぐには、以下の一般的な構文を使用できます:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n), {1,2,3…})
  • データ: ランダムに行を抽出したいセルの範囲。
  • n: 抽出するランダムな行数。
  • {1,2,3…}:抽出する列の番号。

たとえば、範囲 A2:C12 から5 行のデータを抽出するには、以下の数式のいずれかを使用してください:

=INDEX(SORTBY(A2:C12, RANDARRAY(ROWS(A2:C12))), SEQUENCE())E2), {1,2,3})            (Use a cell reference)
=INDEX(SORTBY(A2:C12, RANDARRAY(ROWS(A2:C12))), SEQUENCE())5), {1,2,3})             
(Type a number directly)

その後、Enterキーを押すと、範囲 A2:C12 から重複のないランダムな行が5 行抽出され、以下のスクリーンショットのように表示されます。

Excel で範囲から重複なしで抽出された 5 行のランダムな行のスクリーンショット


ランダム結果の自動更新を防止する

おそらくお気づきかと思いますが、本記事で紹介した RAND、RANDBETWEEN、RANDARRAY などのランダム関数はすべて揮発性です。これらの関数は、シートが変更されるたびに再計算され、新たなランダム値が生成されます。この自動更新を停止するには、以下の2 つの簡単な方法があります。

コピー&ペーストでランダム結果の自動更新を防止する

通常、動的数式を値として貼り付けるには、コピーおよびペースト機能を使えば簡単です。手順は次のとおりです。

1.ランダムな数式を含むセルを選択し、Ctrl + Cを押してコピーします。

2.次に、範囲を右クリックし、「」オプションを「選択的貼り付け」セクションから選択してください(下記スクリーンショット参照)。

ヒント:このオプションを有効にするには、Shift + F10を押した後、Vを押すこともできます。

Excel の [貼り付けオプション] メニューにある [値] オプションのスクリーンショット

3.これにより、すべての数式セルが値に変換され、ランダムな値はそれ以上変化しなくなります。


便利な機能でランダム結果の自動更新を防止する

Kutools for Excelがすでにインストール済みなら、実際の値に変換機能を使えば、選択した数式セルをワンクリックで値に変換できます!

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1.ランダムな数式を含むセルを選択し、Kutools>実際の値に変換をクリックします(下記スクリーンショット参照)。

Excel の Kutools [実際の値に変換] 機能のスクリーンショット

2.これで、選択したすべての数式が値に変換されました。

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得