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

Excel で行・列・セル範囲をランダムにシャッフルするには、どうすればよいですか?

著者Sun変更日

Microsoft Excel でデータを扱う際、行・列・特定のセル範囲の順序をランダム化したい場面に直面することがあります。データをシャッフルすることで、統計分析のためのランダムサンプル生成、クイズやアンケート設問のランダム表示、参加者リストの無作為作成、テストおよび検証目的での多様なデータ分布の確保など、さまざまなメリットが得られます。本記事では、Excel でデータを効率的にシャッフルするための実用的な複数の手法をご紹介します。それぞれのアプローチはExcel のバージョンやユーザーのスキルレベルに応じて最適化されており、ご自身のデータ管理シナリオに最も適した方法を簡単に選べます。


ヘルパー列を使用して行/列のデータをシャッフルする

シンプルなケースでは、アドインや複雑な手法を使わずに、行や列を手軽にシャッフルしたいことが多いでしょう。この方法では、ヘルパー列とExcel の組み込み並べ替え機能を組み合わせてデータをランダム化します。手順が簡単で、ほぼすべてのExcel バージョンで動作するため、小~中規模のデータセットを素早く処理したいユーザーに最適です。

1。データ範囲の隣にセル範囲(例:データが A1:B8 にある場合、D1:D8)を選択し、最初のセルに次の数式を入力します。=RAND()この数式により、各行に乱数が割り当てられ、シャッフルキーとして機能します。スクリーンショットを参照してください:

2。Ctrl + Enterを押して、数式を選択した範囲全体に適用します。これにより、各行に対応する乱数のリストが表示されます。

ランダムデータのリストが表示されます

3。データタブに移動し、最小から最大への並べ替えまたは最大から最小への並べ替えを選択してください。これにより、データが乱数キーに基づいて並べ替えられ、行がシャッフルされます。データの整合性を保つため、関連するすべての列が選択範囲に含まれていることを必ず確認してください。スクリーンショットを参照してください:

[データ] タブに移動し、[昇順で並べ替え] または [降順で並べ替え] を選択します

4。並べ替えダイアログが表示されたら、選択範囲を拡張するを選択し、行全体にシャッフルが適用されてデータの整合性が保たれるようにします。並べ替えをクリックして確定します。

[選択範囲を拡張する] オプションをチェック

以上の手順を完了すると、データ範囲の行がシャッフルされ、新たなランダムな順序で表示されます。

データ範囲が行単位でランダムにシャッフルされます

並べ替えが完了したら、ワークシートをすっきり整理するためにヘルパー列を削除またはクリアできます。

ヘルパー列を削除

ヒントと注意事項:
  1. Excel の RAND 関数は、再計算のたびに新しい乱数を生成する揮発性関数です。そのため、ワークシートの再計算がトリガーされると、意図せずデータが再度シャッフルされる可能性があります。特に、最初のシャッフル後はご注意ください。
  2. シャッフル後の順序を固定したい場合は、RAND 関数を含むセルをコピーし、特殊貼り付け > を使って数式を静的な数値に変換してから、並べ替えを行い、ヘルパー列を削除してください。
  3. この方法は、行全体をシャッフルする用途に最適です。列や個々のセルをランダム化するなど、より複雑なケースには、以下で紹介する代替手法をご検討ください。

RANDARRAY 関数を使用して行または列をシャッフルする(Excel 365/2021)

Excel 365 またはExcel 2021 をご利用の場合、RANDARRAY 関数で各行または各列に一意の乱数キーを動的に生成できます。大規模データセットのシャッフルに特に効果的で、重複のない乱数による確実なランダム化を実現します。乱数の重複を避けたい方や、最新版Excel で数式ベースのソリューションをお探しの方に最適です。さらに、任意の条件に基づいた再シャッフルにも柔軟に対応可能です。

1。データがセル A1:B8 にあると仮定します。セル D1 に次の数式を入力して、各行に対応する一意の乱数リストを生成してください:

=RANDARRAY(8,1)

説明: 8は行数を、1は列数を表します。範囲のサイズに応じてこれらの数値を調整してください。行数が多い場合は、8をデータセットの実際の行数に置き換えてください。

2。メインのデータ範囲とRANDARRAYで生成された乱数列を一緒に選択し、データタブから並べ替えを選択して、乱数列に基づいて並べ替えを行います。このとき、関連するすべての列が含まれるよう選択範囲を拡張してください。

3。 並べ替え後に、ワークシートを整理するためのヘルパー列を削除できます。

ヒント:

  • 列をシャッフルしたい場合は、乱数配列を生成した後、行ではなく列で並べ替えを行ってください。
  • 他の動的配列数式とRANDARRAYを組み合わせれば、特定の行サブセットだけを並べ替えたり、特定のエントリを除外したりするなど、さらに高度なシャッフル操作が可能になります。

 

制限事項:RANDARRAY 関数はExcel 365 およびExcel 2021 でのみご利用いただけます。それ以前のバージョンでは、上記で説明したRAND()メソッドをご利用ください。


Kutools for Excel でセル範囲/行/列をランダムにシャッフルする

行を超えた高度なデータシャッフルが必要な場合(例:すべての列をランダムに並び替える、または特定範囲内の個別セルをシャッフルするなど)は、Kutools for Excelランダムに並び替え機能をご活用ください。このユーティリティを使えば、行・列・任意の選択範囲を簡単にシャッフルでき、手動での数式入力や複雑な回避策に頼ることなく、高度なニーズにもしっかり対応できます。大規模データセットの管理、実験サンプルの作成、トレーニング用およびテスト用シートのランダム準備を行うユーザーに特におすすめです。

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

Kutools for Excel をインストール後、以下の手順に従ってください:Kutools for Excel

1。ランダムにシャッフルしたいセル範囲を選択し、Kutools > 範囲 > 並び替え、選択、またはランダムにをクリックします。スクリーンショットを参照してください:

2。並べ替え/ランダムに選択ダイアログの並べ替えタブで、シャッフルする対象に応じて、「行」「列」、または「範囲内の各セル」などの該当オプションを選択します。

ダイアログ ボックスでオプションを選択

3。OKまたは適用をクリックすると、選択したランダム化が実行されます。Kutools が指定条件に基づいて即座に選択範囲をシャッフルします。

行全体で並べ替え

行全体で並べ替え

すべての列を並び替えるで並べ替え

列全体で並べ替え

範囲内のセルを並べ替え

範囲内のセルを並べ替え

各行で並び替えるで並べ替え

各行のセルを並べ替え

各列で並び替えるで並べ替え

各列のセルを並べ替え

さらに、Kutools for Excel のランダムに並び替えユーティリティを使えば、指定範囲からセルをランダムに選択できます。ランダムサンプルが必要なときや、ワークシート全体をシャッフルせずに特定のセルだけを抽出したいときにぴったりです!

Kutools でセルをランダムに選択

Kutools は手動操作と比べて、より幅広いシャッフル操作を実現し、複数のステップを要したりミスが起こりやすかった作業を自動化します。その結果、繰り返しの実行や大規模な運用において、高い効率性と柔軟性を発揮します。

本記事では、Microsoft Excel で行・列・範囲をランダム化するためのさまざまなソリューションをご紹介しました。即時対応可能な簡単な方法から、より細かな設定まで幅広くカバーしています。Excel のデータ操作テクニックをさらに深く知りたい方は、当サイトに数千もの専門チュートリアルをご用意しています。こちらをクリックしてアクセスしてください


VBA マクロでセルをシャッフルする

以下のマクロは、指定した範囲内のセルをシャッフルします。

準備:安全のため、マクロを実行する前にブックを保存し、マクロが有効になっていることをご確認ください。VBA ソリューションは、複数のファイルや大規模なデータセットに対して繰り返し可能なプログラムによるシャッフルが必要な場合に最適です。

使用方法:
1。開発者ツール>Visual Basicをクリックします。Microsoft Visual Basic for Applications ウィンドウで、挿入>モジュールをクリックします。
2。次のコードのいずれかをモジュール領域にコピー&ペーストします。

直接スワップによる範囲内セルのシャッフル(完全ランダム化)

Sub FullyShuffleRange()
    Dim rng As Range
    Dim arr
    Dim r As Long, c As Long, i As Long, totalCells As Long
    Dim r1 As Long, c1 As Long, r2 As Long, c2 As Long, tmp
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select a range to fully shuffle", xTitleId, rng.Address, Type:=8)
    
    arr = rng.Value
    r = UBound(arr, 1)
    c = UBound(arr, 2)
    
    Randomize
    totalCells = r * c
    
    For i = 1 To totalCells
        r1 = Int(Rnd * r) + 1
        c1 = Int(Rnd * c) + 1
        r2 = Int(Rnd * r) + 1
        c2 = Int(Rnd * c) + 1
        
        tmp = arr(r1, c1)
        arr(r1, c1) = arr(r2, c2)
        arr(r2, c2) = tmp
    Next i
    
    rng.Value = arr
End Sub

クリック実行してマクロを起動し、シャッフル対象の範囲(例:A1:D10)を選択してください。このコードはセルの値をランダムかつ繰り返し入れ替えるため、範囲全体が徹底的にシャッフルされます。ゲームやクイズでの無作為割り当てなど、すべてのセルを均等にシャッフルしたい場面で非常に効果的です。

トラブルシューティングと注意事項:
  • マクロは元の範囲内の数式をシャッフル後の値で上書きする可能性があるため、静的データにのみ適用することをおすすめします。
  • エラー(範囲の選択ミスなど)が発生した場合は、再度実行して正しい範囲を選び直してください。
  • マクロを初めて実行する前には、必ずファイルを保存し、重要なワークシートはバックアップしてください。マクロ操作は自動的に元に戻せないためです。

デモ:セルをランダムに選択または並べ替え

 

最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得