メインコンテンツへスキップ

Excel でリストをランダム化する (簡単なステップバイステップのチュートリアル)

ランダムな並べ替えを実行すると、すべてのケースが同じ確率で表示されるようにするための迅速かつ簡単な方法になります。 このチュートリアルでは、いくつかの手順で Excel でリストを簡単にランダム化またはシャッフルする方法について説明します。


ビデオ: Excel でリストをランダム化する


関数でリストをランダム化する

このセクションでは、組み込みの Excel 関数を使用してリストをシャッフルする方法を説明します。

RAND 関数でリストをランダム化する

Excel のどのバージョンのユーザーも、元のデータセットをランダムに並べ替えることができます。 RAND ~の助けを借りて機能する 並び替え 以下の手順に従ってください。

ステップ 1: RAND 式を入力する

ランダム化するリストの一番上のセルの隣のセルを選択し、以下の RAND 式を入力して、 入力します.

=RAND()

ステップ 2: RAND 式を他のセルに入力する

数式セルの塗りつぶしハンドル (右下隅にある小さな緑色の四角形) をダブルクリックして、数式を下のセルに適用します。

ステップ 3: RAND の結果を並べ替えてリストをシャッフルする

1。 選択 B2:B8、RAND 式を含むリスト。

2。 クリック 並べ替えとフィルター > 最小から最大に並べ替え セクションに 編集 グループを ホーム タブには何も表示されないことに注意してください。

3.ポップアップで ソート警告 ダイアログ、選択 選択範囲を拡大、をクリックしてください 並び替え.

Result

これで準備完了です。 リストは、以下に示すようにランダム化されています。

注: 最大XNUMXWの出力を提供する エクセルRAND関数 揮発性: ワークシートが変更されるたびに結果を再計算します。 したがって、列 B の数値は、並べ替え後に即座に変更されました。 リストをもう一度シャッフルしたい場合は、上記を繰り返します ステップ1. それ以外の場合は、RAND 関数を使用して列を削除するだけです。
RANDARRAY、SORTBY、および ROWS 関数を使用してリストをランダム化する (Excel 365/2021)

Excel for Microsoft 365 または Excel 2021、Excel for the Web などの新しいバージョンの Excel を使用している場合は、 ランダレイ, 並び替え > 式は、指定した位置でシャッフルされたリストをすばやく取得するのに役立ちます。

ステップ 1: RANDARRAY、SORTBY、および ROWS 式を入力する

ランダム化された結果を取得する空白のセルを選択し、以下の式を入力します (変更する必要があることに注意してください A2:A8 以下の式で、ランダム化したい元のリストに)、押します 入力します.

=SORTBY(A2:A8,RANDARRAY(ROWS(A2:A8)))

注:
  • #流出 スピル範囲 (B2:B8 この場合) 式は空白ではありません。
  • 数式は揮発性です。ワークシートが変更されるたびに結果が再計算されます。 リストをもう一度シャッフルする場合は、 を押します。 F9.
  • 式の結果 (ランダム化されたリスト) は編集できません。 ランダム リストを編集する必要がある場合は、次の手順に従います。

(オプション) ステップ 2: 数式の結果をコピーして貼り付け、編集可能にする

ランダムな結果だけを見たい場合は、次のことができます このステップを飛ばす. ランダムにシャッフルされたリストを編集する場合は、式の結果をコピーして値のみを貼り付ける必要があります。

1. 式の結果を選択し、 を押します Ctrlキー+ C それをコピーする。

2. コピーした結果を貼り付けるセルを右クリックします。 (値を元の場所に貼り付けることもできます。)

3。 選択します 値のみを貼り付け 右クリックメニューからオプション。

Result

以下に示すように、シャッフルされた編集可能なリストが表示されます。


2回のクリックでKutoolsを使用してExcelのリストをランダム化する

数式の使用にうんざりしていて、アドインの助けを借りるつもりなら、 Kutools for Excelさん 範囲をランダムに並べ替え/選択 機能を使用すると、より多くのオプションを使用してランダム ソートをより簡単に実行できます。 次のようにしてください。

まず、シャッフルするリストを選択します。 そして、選択します クツール > レンジ > 範囲をランダムに並べ替え/選択。 ポップアップで 範囲をランダムに並べ替え/選択 ダイアログ、選択 行全体、をクリックしてください Ok.

注:

VBA でリストをランダム化する

VBA メソッドでリストをランダム化する場合は、次のようにしてください。

注: VBA マクロの実行後は元に戻すことができません。 したがって、将来元のデータが必要になった場合に備えて、リストのコピーを別の場所に作成してください。

ステップ 1: シャッフルするリストを選択する

ステップ 2: VBA コードをモジュール ウィンドウにコピーする

1。 押す Ctrlキー+ F11 をクリックして VBA エディタを開き、 インセット > モジュール モジュール コード ウィンドウを開きます。

2. 以下の VBA コードをコピーして、開いているモジュール ウィンドウに貼り付けます。

VBA コード: リストをランダムに並べ替える

Sub RandomSort()
'Update by ExtendOffice
Dim xRg As Range
Dim xNum, xF, xI As Integer
Dim xWSh, xAWSh As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xAWSh = Application.ActiveSheet
Set xRg = ActiveWindow.RangeSelection
Set xWSh = Worksheets.Add
xNum = xRg.Count
For xF = xNum To 1 Step -1
    xI = WorksheetFunction.RandBetween(1, xF)
    xWSh.Range("A1").Value = xRg.Item(xI)
    xRg.Item(xI) = xRg.Item(xF)
    xRg.Item(xF) = xWSh.Range("A1")
Next
xWSh.Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

ステップ 3: VBA コードを実行する

コード ウィンドウで、 F5 をクリックするか、 ボタンをクリックしてこのコードを実行します。

Result

注: リストを再度ランダム化する場合は、上記を繰り返します ステップ1.