本文へスキップ

ランダム抽選ツールベータ

名前や項目を1行ずつ入力し、公平に当選者を選んだり、順番を混ぜたり、チームに分けたりできます。暗号学的な乱数を使い、何もサーバーに送信しません。

0件

このリストはこのブラウザにのみ保存され(どこにも送信されません)、次回訪問時にも残ります。

動作

オフにすると、一度選ばれた項目は同じ回で再び選ばれません。
次の抽選で当選済みの人を除いて選びたいときに使います(重複を許可していない場合のみ有効)。

結果

まだ結果がありません。

今回のセッション履歴

このブラウザタブで実行した記録がここに表示されます。再読み込みすると消えます。

使い方

リスト入力欄に名前や項目を1行ずつ貼り付けます。「当選者を選ぶ」では選ぶ人数を決め、重複を許可するかどうか(同じ項目が何度も選ばれてよいか)を選びます。重複を許可しない場合は「選ばれた項目をリストから外す」をオンにすると、次の抽選で既に当選した人を自動的に除いて選び直せます。「順番を混ぜる」はリスト全体をランダムな順番に並べ替え、「チーム分け」は希望するチーム数に人数をできるだけ均等に分けます。

公平に選ばれる仕組み

このツールはMath.random()の代わりにブラウザのcrypto.getRandomValuesを使います。順番を混ぜるときはFisher–Yatesシャッフルを使ってすべての並び順が完全に同じ確率で出るようにし、リストから何人か選ぶときは棄却サンプリング(rejection sampling)で剰余演算の偏りをなくし、すべての枠が同じ確率で選ばれるようにしています。同じテキストの行が複数あっても、行(枠)ごとに別々の応募として扱われます。

どんなときに使うか

景品の抽選、発表順の決定、掃除当番やグループ分け、スポーツのチーム分け、会議での発言順の決定のように、人や項目をランダムに選んだり分けたりしたいときに使います。

今回のセッション履歴

同じページで実行した抽選・シャッフル・チーム分けの結果が、画面下の履歴に順番に記録されます。何度も抽選を繰り返すときに、前の結果を見返したりコピーしたりできます。この履歴はこのブラウザタブだけにあり、再読み込みすると消えます。

プライバシーについて

入力したリストと抽選結果はすべてこのブラウザの中だけで計算され、どこにも送信されません。入力したリストはこのブラウザのローカルストレージ(localStorage)に保存され、次回訪問時にも残りますが、「リストを消去」ボタン(またはブラウザの設定でこのサイトのデータを削除)でいつでも消せます。結果と今回のセッション履歴はどこにも保存されず、ページを再読み込みしたり閉じたりすると消えます。

参考資料

よくある質問

本当に公平に選ばれますか?

はい。このツールはMath.random()の代わりに暗号学的に安全なcrypto.getRandomValuesを使います。順番を混ぜるときはすべての並び順が同じ確率で出るFisher–Yatesシャッフルを、何人か選ぶときは剰余演算の偏りをなくす棄却サンプリング(rejection sampling)を使います。

リストに同じ名前が複数あるとどうなりますか?

テキストが同じでも行(枠)ごとに別々の応募として扱います。例えば「太郎」が3行あれば、太郎が選ばれる確率は1行しかない人の3倍になります——同じ名前が複数回参加している状況をそのまま反映しています。

人数がチーム数で割り切れないときはどうなりますか?

まず全員をランダムに混ぜてから、順番に1人ずつチームへ配っていきます。余った人数は先頭のチームから1人ずつ多く受け取るので、チーム間の人数差は最大1人です。

今回のセッション履歴はどこに保存されますか?

このブラウザタブのメモリ内だけにあります。サーバーに送信・保存されることはなく、ページを再読み込みしたり閉じたりすると消えます。