言語を選択

リストのシャッフルとランダムグループ分けツール

貼り付けたリストをランダムな順番に並べ替えたり、指定した人数やグループ数でチーム分けしたりできます。結果はCSVやExcel、画像として書き出し可能です。

リストシャッフル使い方 ↓
1行に1項目を入力してください。空行は無視されます。 0項目。
Mehmet Demiray 公開日 更新日
共有

リストの順番をランダムにする方法

リストシャッフルを使えば、手元にあるリストの順番を瞬時にランダムへ並び替えられます。使い方は非常にシンプルです。まず、テキストボックスに項目を1行に1つずつ入力するか貼り付けます。空行は自動的に無視されるため、整形に神経質になる必要はありません。次に「リストをシャッフル」を選択し、実行ボタンを押します。すると、番号付きの表として結果が表示されます。この結果はプレーンテキストとしてコピーできるほか、CSVやExcel、画像形式でのエクスポートにも対応しています。会議の発言順や抽選の順番など、あらゆる場面で公平な順番決めが可能です。

シャッフルの仕組みと公平性

リストシャッフルが採用しているのは、フィッシャー・イェーツ・シャッフルと呼ばれるアルゴリズムです。これは、リストの最後の項目から順に、それより前のランダムな位置の項目と入れ替えていく手法で、数学的に証明された公平性を持っています。項目数が nn の場合、考えられる並び替えの総数は n!n! 通りです。例えば 10 個の項目があれば、その並び順は 3,628,800 通り存在し、それぞれの順番が完全に等しい確率で出現します。

n!=n×(n−1)×(n−2)×⋯×1n! = n \times (n-1) \times (n-2) \times \dots \times 1

乱数の生成には、ブラウザの暗号学的に安全な乱数生成器を使用しています。単にランダムな数値を割り当ててソートするだけの単純な方法では偏りが生じることが知られていますが、フィッシャー・イェーツ・シャッフルと暗号学的乱数を組み合わせることで、あらゆる順番が等確率で選ばれる真に公平なシャッフルを実現しています。

ランダムなグループやチームへの分割

授業やワークショップ、スポーツのチーム分けにおいて、リストシャッフルは強力なグループ分け機能を発揮します。分割モードには「グループ数の指定」と「1グループあたりの人数指定」の2種類があります。どちらも余り物が出て不公平にならないよう、人数が均等に分散されるように設計されています。

例えば、23 人の生徒を1グループ 4 人で分割する場合、6 個のグループが作成されます。このとき、4人のグループと3人のグループに綺麗に分かれ、1人だけの孤立したグループが発生することはありません。特定のリストからさらに1人の代表者を選びたい場合は、ランダム名前選択などの専用ツールと組み合わせると、より柔軟な運営が可能になります。

日常やビジネスでの活用シーン

ランダムな並び替えは、日常やビジネスの多様な場面で役立ちます。セミナーや勉強会でのプレゼンテーション順を決める際、くじ引きの手間を省いて公平な順番を即座に決定できます。スポーツのトーナメント表のシード順や、忘年会のシークレットサンタのプレゼント交換相手を決めるのにも最適です。

また、音楽のプレイリストや読書リストの順序をランダムにして新鮮な体験を得たり、クイズの質問順をシャッフルしてカンニングを防止したりする用途にも使えます。小規模な調査におけるA/Bテストの割り当てにも利用できますが、厳密な医学研究や学術調査では、専用の無作為化プロトコルに従う必要がある点に留意してください。

重複の削除とデータ整形の仕様

リストシャッフルにおける項目の定義は、空行を除いた各行のテキストです。貼り付けたデータに空行が含まれていても、自動的にスキップされるため、事前に手作業で削除する必要はありません。大文字と小文字の違いを無視する重複削除オプションを有効にすれば、同じ内容が複数行にわたって記載されている場合でも、ユニークな項目のみを抽出してシャッフルできます。

結果画面には各項目に連番が振られて表示されるため、そのまま文書やスプレッドシートへ貼り付けた際も番号付きリストとして綺麗に整形されます。ExcelやGoogleスプレッドシートで作業する際は、CSVやExcel形式でエクスポートすることで、番号と項目が別々の列に正しく配置された状態で読み込めます。

プライバシー保護と完全無料の仕組み

リストシャッフルの最大の特徴の一つは、すべての処理がブラウザ内で完結することです。入力されたリストや個人名などのデータがサーバーに送信されることは一切なく、アカウント登録や利用制限も存在しません。機密性の高いプロジェクトのメンバーリストや、生徒の個人情報が含まれる名簿であっても、完全にプライベートな環境で安全にシャッフルできます。

結果はCSV、Excel、画像、テキスト形式で自由にエクスポート可能です。もしリストのシャッフルではなく、特定の範囲内での乱数生成が必要な場合は乱数生成を、宝くじのような番号の抽選を行いたい場合は宝くじ番号生成を利用するなど、目的に応じて適切なツールを使い分けることをお勧めします。

最もよくいただく質問

リストをシャッフルするにはどうすればよいですか。

リストシャッフルのテキストエリアに、1行に1つずつ項目を入力または貼り付けて、シャッフルボタンを押すだけです。空行は自動的にスキップされ、ランダムに並び替えられた結果が番号付きのリストとして表示されます。結果はテキストとしてコピーするか、CSVやExcel形式でダウンロードできます。

クラスやイベントでランダムなグループ分けをするにはどうすればよいですか。

リストに氏名を入力し、分割モードを選択してグループ数または1グループあたりの人数を指定してから実行します。例えば、23人の生徒を4人ずつのグループに分ける場合、余りが出ないように自動的に調整され、誰も1人ぼっちにならないようバランスよく分配されます。特定の個人を1名だけ選びたい場合は、ランダムネームピッカーも便利です。

シャッフルのランダム性はどのように保証されていますか。

リストシャッフルは、Fisher-Yatesシャッフルアルゴリズムとブラウザの暗号学的乱数生成器を組み合わせて使用しています。これにより、すべての並び順が完全に等確率で生成されます。10個の項目がある場合、考えられる並び順は3,628,800通りありますが、そのすべてが公平に選ばれる仕組みになっています。

グループ数の指定とグループの人数指定の違いは何ですか。

グループ数の指定は、全体をいくつのチームに分けるかを固定するもので、各グループの人数は最大で1人の差になるように均等に分けられます。一方、グループの人数指定は1つのグループに入る最大人数を設定するもので、人数が割り切れない場合でも、端数グループに1人だけ残るといった不自然な分け方を防ぎ、全体のバランスを調整します。

割り切れない人数でグループ分けすると、人数がばらつくのはなぜですか。

全体の人数がグループ数や指定人数で割り切れない場合、余剰人員を各グループに1人ずつ分散させて配分するため、グループによって人数に1名の差が生じます。これにより、極端に人数が少ないグループや1人だけのグループが作られるのを防ぎ、公平なチーム分けを実現しています。

空行や重複した項目はどのように処理されますか。

テキストエリア内の空行や、スペースのみの行は自動的に無視されます。重複する項目については、デフォルトではそのまま保持されますが、オプションで大文字と小文字を区別しない重複削除を有効にすると、同じ項目が1つにまとめられます。

入力したリストや個人情報がサーバーに送信されることはありますか。

リストシャッフルは完全にブラウザ内で処理されるため、入力したデータが外部サーバーに送信されることはありません。アカウント登録も不要で、プライバシーが守られた状態で何度でも無料で利用できます。

ExcelのRAND関数を使って並び替えるのと何が違いますか。

ExcelのRAND関数を用いた並び替えは、再計算のたびに順序が変わってしまうことや、擬似乱数による偏りが生じる可能性があります。リストシャッフルは暗号学的に安全な乱数を使用しており、偏りのない公平な結果を瞬時に得られます。数式を管理する手間もなく、直感的に操作できます。

結果をExcelやスプレッドシートに貼り付けることはできますか。

はい、結果は表形式で表示されるため、そのままコピーしてExcelやGoogleスプレッドシートに貼り付けることができます。また、CSVファイルやExcelファイルとして直接ダウンロードする機能も用意されているため、データの管理や共有がスムーズに行えます。

数字のリストもシャッフルできますか。

はい、数字を1行に1つずつ入力すれば、他のテキストと同様にランダムに並び替えることができます。もし、既存のリストをシャッフルするのではなく、新しい乱数を生成したい場合は、乱数ジェネレーターをご利用ください。抽選のような用途には宝くじ番号生成も役立ちます。

参考文献

  1. Fisher–Yates shuffle · Wikipedia
  2. Crypto: getRandomValues() method · MDN Web Docs
  3. Random permutation · Wikipedia