リストシャッフル
1行に1つずつリストを貼り付ければ、公平なランダムの順番で返します。名前、タスク、曲、プレゼント企画の応募者など何でも。
結果
左にリストを貼り付けて、シャッフルを押してください。
- 発表順・面接順クラスや班の名簿を貼れば、シャッフル後の番号がそのまま発表順。あとから文句も出ません。
- プレゼント企画の抽選応募者のアカウント名を貼って重複を消し、先頭N人を当選、続く人を繰り上げ候補にできます。
- ドラフト・手番決めドラフト会議の指名順、ボードゲームの席順、カラオケの順番も一発で。
- プレイリスト・勉強の順番曲や単語カード、復習する単元をシャッフルして、毎回同じところから始めないように。
3ステップでリストをシャッフル
リストを貼り付け
1行に1つ。ExcelやGoogleスプレッドシートの列をコピーすれば、そのまま1行ずつになります。リストはこのブラウザに保存されます。
整える
抽選なら重複を削除はオンのままに。空白と空行を無視すれば、余計な空行やスペースは気にしなくて大丈夫です。
シャッフル
全部並べ替える、先頭N件だけ取る、グループに分けるの3通り。番号つきでコピーしてLINEに貼るか、ルーレットに送れます。
公平さを説明できるシャッフル
「乱数で並べ替え」ではなくFisher–Yatesを使う理由
Excelやプログラムでよく見かけるのが、並べ替えの比較関数でランダムに正負を返す方法です。見た目はバラバラでも、実は公平ではありません。並べ替えのアルゴリズムは比較結果が矛盾しないことを前提にしているため、比較がランダムだと特定の要素が特定の位置に来やすくなります。5人のリストでも、元の位置に残る確率が5分の1よりずっと高くなる人が出ることがあります。
Fisher–Yatesシャッフルは、最後の位置から先頭に向かって、各位置をそれ以前(自分を含む)のランダムな位置と入れ替えていきます。n個なら n、n−1、…と範囲を狭めながら n−1 回選ぶので、結果は n の階乗通りで、すべての並び順にちょうど1対1で対応し、確率も等しくなります。
乱数そのものの偏りも大切です。このツールは crypto.getRandomValues と棄却サンプリングで整数を作るので、7つの位置から1つ選ぶときは正確に7分の1です。
| 方法 | すべての順番が同じ確率か | メモ |
|---|---|---|
| Fisher–Yates+偏りのない乱数 | はい | このツールの方式。長いリストでも一瞬です。 |
| ランダムな比較関数で並べ替え | いいえ | 結果がブラウザの並べ替え実装に左右され、前の要素が動きにくい傾向があります。 |
| ExcelでRAND列を作って並べ替え | ほぼはい | 各行に固定の乱数があれば公平。ただしRANDは編集のたびに再計算されます。 |
| 紙のくじ引き | よく混ぜればはい | あとから公平さを示しにくく、紙がくっつくこともあります。 |
出力モードの選び方
3つのモードはどれも同じ1回のシャッフルから作られます。先頭3件を取るのは、1人ずつ3回くじを引くのとまったく同じ公平さです。
| やりたいこと | モード | ポイント |
|---|---|---|
| 発表順・面接順・順番待ち | 全部シャッフル | 番号つきでコピーしてクラスのLINEグループに。 |
| 応募者から当選者を選ぶ | 先頭N件 | 先に重複を削除。Nより後ろの人がそのまま繰り上げ候補になります。 |
| 班分け・チーム分け | グループ分け | 指定するのは1組の人数ではなくグループ数。23人を4グループなら6・6・6・5人です。 |
| 盛り上がる結果発表 | どれでも+ルーレット | 候補をシャッフルしてから、画面でルーレットを回しましょう。 |
リストで公平な抽選をする手順
- 応募者のアカウント名を1列にまとめ、1行に1人ずつ並べます。
- 1人1回までのルールなら重複を削除をオンに。ルール上複数口の応募を認めているならオフにします。
- 先頭N件を選び、賞品の数を入力します。
- 画面を録画するか、繰り上げ候補まで含めた結果全体をスクリーンショットで残します。
- 当選者から期限内に返信がなければ、引き直さずにシャッフル順で次の人に繰り上げます。
InstagramやYouTube、Xのコメントから選ぶなら、コメント抽選ツールが応募者の整理まで自動で行います。
よくある質問
リストの順番をランダムに並べ替えるには?
1行に1つずつリストを貼り付けて、シャッフルを押すだけです。すべての項目が番号つきの新しい順番で表示され、もう一度押せば別の順番になります。
本当にランダムですか?
はい。Fisher–Yatesアルゴリズムと crypto.getRandomValues の乱数を使っているので、リストのどの並び順も完全に同じ確率です。
シャッフルの前に重複した名前を消せますか?
はい。重複を削除は最初からオンです。大文字小文字や余分なスペースの違いは無視し、何行除いたかも表示します。
リストから何人かだけ選ぶには?
出力を先頭N件に切り替えて人数を入力します。シャッフル後の先頭N人が表示され、N回続けてくじを引くのと同じ結果になります。
リストをランダムにグループ分けできますか?
できます。グループ分けを選んでグループ数を入れると、シャッフル後に順番に振り分けるので、人数はできるだけ均等になります。
次に開いたときもリストは残っていますか?
同じ端末の同じブラウザなら残ります。保存先はローカルストレージだけでサーバーには送りません。クリアを押せば消えます。
リストは何行まで入れられますか?
数千行でも問題ありません。ルーレットに送るときだけ、見やすさのため先頭100件までになります。