ランダムピッカー

名前、タスク、アイデアなど、あらゆるリストを貼り付けて、公平にランダム抽出します。すべての抽選はブラウザ上で実行されるため、リストのデータがデバイス外部に送信されることはありません。

「生成」を押して抽選
区切り文字はデフォルトで自動的に決定されますが、以下で選択することもできます。
詳細オプション

プレゼント企画の当選者を選ぶ、授業で生徒を指名する、あるいは今日のゴミ出しを誰がするか決める必要がありますか?この無料のオンラインランダムピッカーは、貼り付けられたリストから公平にランダムな項目を選択します。「アイテム」ボックスに項目を入力し(1行に1つ、またはカンマ区切りで入力)、「個数」で必要な結果の数を設定して、「生成」ボタンを押すだけです。リストには最低2つの項目が必要で、最大1000個まで入力でき、各項目の長さは最大200文字です。

すべての選択処理は、Web Crypto API (crypto.getRandomValues) を使用してブラウザ内で直接実行されます。これは、デバイスのオペレーティングシステムの乱数生成機能から暗号学的に安全な乱数を提供するものです。リストがサーバーに送信されたり、ログに記録されたり、私たちが閲覧したりすることは決してありません。ユーザーがここに入力するデータは、顧客リスト、クラスの名簿、同僚の名前などであることが多いため、他のツールよりもこの点が重要になります。「ファイルからロード」ボタンも同じ約束を守ります。ブラウザがファイル自体を読み込み、データをどこにもアップロードすることなく、ローカルでボックスを直接入力します。

オプションは、人々が実際に持っているリストの形式に合わせて作られています。「値の分割方法」はデフォルトで「自動検出」になっており、改行とカンマのどちらがリストで使用されているかを自動的に判別します。そのため、スプレッドシート、チャットメッセージ、ドキュメントからコピーしたリストをそのまま貼り付けても、書式を修正することなく機能します。データに複数の形式が混在している場合は、「改行」、「カンマ」、または「スペース」に固定してください。なお、「スペース」は常に意図的に選択するものであり、自動的に適用されることは決してありません。なぜなら、フルネームのような項目自体にスペースが含まれていることがあり、デフォルトでそれらを分割するとリストが壊れてしまうためです。「個数」は、いくつの項目を抽出するか(1〜100)を決定します。200人の応募者から3人の当選者を選ぶ場合は、応募者の名前を貼り付けて、「個数」を3に設定し、「生成」を押します。2つのコントロールは、抽出する個数が2以上になった場合にのみ適用され、それまではグレー表示されたままになります。1つは、同じ項目を2回抽出できるかどうかを決定する「重複なし」スイッチ、もう1つは、結果をどのように区切るか(「改行」、「スペース区切り」、または「カンマ区切り」)を設定する「出力形式」です。

「アイテム」ボックス内にあるボタンの列は、本来なら別の場所で行うような編集作業を実行してくれます。「ファイルからロード」は、プレーンテキストまたはCSVファイルから直接リストを読み込みます。「シャッフル」はボックス内の項目の順序をランダムに並べ替え、「並べ替え」はアルファベット順および数字の自然な順序で並べ替えます(もう一度クリックすると順序が逆になります)。そして「クリア」はボックスを空にします。「サンプル データを入力します」は、ワンクリックでツールを試せる短いテストリストを追加し、「内容に合わせて拡大します」は長いリスト全体が見えるようにボックスを展開し、「デフォルトのサイズに折りたたむ」は元のサイズに戻します。結果の下にある「すべてコピー」はすべての選択結果をクリップボードにコピーし、「ファイルに保存」はそれらをデバイスに書き出します。また、「履歴」はブラウザ内に直近10回の抽選結果を保存するため、ワンクリックで過去の結果にアクセスできます。

実際の選択はどのように行われるのでしょうか?「生成」を押すと、Math.random() のような JavaScript の疑似乱数関数に依存する代わりに、crypto.getRandomValues を介してブラウザに安全な乱数を要求し、それを使用してリスト内の位置を選択します。32ビットの生の数値をリスト上の位置に変換する段階こそが、選択ツールが人知れず誤りを犯す部分です。数値をリストの長さで割って余り(モジュロ)を取るのは最も分かりやすい方法ですが、これには偏りが生じます。なぜなら、2^32という数値がリストの項目数で完全に割り切れない限り、リストの先頭付近の項目が、残りの項目よりもわずかに多く出現してしまうからです。この欠陥は modulo bias と呼ばれ、単なる理論ではなく測定可能なものです。このピッカーは代わりに、リストの長さの最大の完全な倍数を超える値が出た場合は破棄し、もう一度乱数を引きます。この技術は rejection sampling と呼ばれます。バックグラウンドで何度か追加の抽選を行うことになりますが、大まかな確率ではなく正確な保証を得ることができます。リスト内の位置は何も変えません。最初の項目と最後の項目は、すべての抽選で全く同じ確率を持ちます。

「重複なし」スイッチは、完全に異なる2種類の抽選を区別するものであり、統計学ではそれぞれに名前がついています。これをオンにすると、ツールは Fisher-Yates アルゴリズムを使用してリストのコピーをシャッフルし、上から順に項目を取り出します。これは帽子からくじを引き、それを戻さないのと同じことなので、誰も2回選ばれることはなく、そのサイズのグループが選ばれる確率はすべて等しくなります。これは sampling without replacement(非復元抽出)と呼ばれ、当選者やチーム、順番を決める際に必要な方法です。オフにすると、それぞれの選択はリスト全体から独立して行われるため、同じ項目が複数回出現する可能性があります。これは sampling with replacement(復元抽出)と呼ばれ、繰り返しの抽選や素早い統計的サンプリングのように、各ラウンドで全員が常に選ばれる資格を維持する必要がある場合に用いられます。どちらのモードがより公平というわけではなく、それぞれ異なる問いに答えるものです。

公平な抽選は、公平な見た目にはならないものです。10個の名前から5個を抽出すると、元のリストで隣り合っていた2つの名前が選ばれたり、重複が許可されている場合は同じ名前が連続して選ばれたりすることがよくありますが、それらはすべてごく普通のことです。それぞれの抽選は独立しており、以前の選択が後の選択に影響を与えることは一切なく、誰かに当たる「順番」が回ってくることも決してありません。そうではないと信じたくなる直感は gambler's fallacy(ギャンブラーの誤謬)と呼ばれ、私たちが自分自身でランダムに選ぶのが下手な理由もこの直感のせいです。ランダムに選ぶように言われると、私たちは最初と最後の項目を避け、名前の繰り返しを避け、実際の偶然が作り出すよりもはるかに均等に選択肢を散らばらせてしまいます。不自然なほどきれいに整って見える結果は、常に人間の手が加えられた証拠です。真のランダム性は、必ず塊や繰り返しを生み出します。

なぜこのランダムピッカーを選ぶべきなのでしょうか?

ランダムな抽出は、後で決定について疑問を持たれても耐えうる必要があるあらゆる場面で登場します。教師はえこひいきすることなく生徒を指名し、クラスを文化祭のグループに分けます。配信者やマーケターは、結果を信じてもらう必要がある視聴者の前でプレゼント企画や福引の当選者を決定します。マネージャーは誰もやりたがらないタスクを割り当て、チームはプレゼンの順番や誰がオンコール待機するかを決めます。研究者は監査のために記録のランダムなサンプルを抽出します。家族はどの映画を見るかの言い争いを終わらせ、お腹をすかせた友人たちがランチの店を決めます。これらすべてのシナリオに共通しているのは、後から誰にでも説明できる選択であるということです。この抽選では暗号学的に安全な乱数を使用しており、処理はすべてデバイス上で行われます。後から誰かに結果を問われても、「履歴」に結果が保存されています。

このツールには、知っておくべきいくつかの誠実な制限があります。ピッカーは、リストに含まれる重複のない項目の数を超えて抽出することはできません。3人の当選者を決めるには少なくとも3つの名前が必要です。上限は200文字の項目が1000個までで、1回の抽選で最大100個まで選択できます。「シャッフル」と「並べ替え」ボタンは行ごとに機能するため、1行に貼り付けられたカンマ区切りのリストは、1行につき1つの項目に変換された後にのみ順序が並べ替えられます。また、どちらのボタンも抽出結果ではなくボックス内の項目を並べ替えるだけであり、項目がどのような順序であっても抽選は等しく公平に行われます。さらに、仕様上すべての項目は完全に同じ重みを持つため、抽選で2回分としてカウントされるべき名前がある場合は、その名前をリストに2回記述する必要があります。これらの制限の範囲内において、このツールの保証は強力です。すべての抽選において、リスト内のすべての項目は完全に同じ確率を持っています。

FAQ

リストからランダムに名前を選ぶにはどうすればいいですか?

「アイテム」ボックスに名前を貼り付けます(1行に1つ、またはカンマかスペースで区切ります)。「個数」は1のままにして「生成」を押します。すぐに1つの名前が抽出されます。一度に複数の名前を抽出したい場合は、必要な数まで「個数」を増やしてください。

その選択は本当に公平ですか?

はい。すべての選択はブラウザの Web Crypto API (crypto.getRandomValues) と rejection sampling を組み合わせて使用しており、単純な実装では生じてしまう modulo bias を排除しています。リスト内での位置に関係なく、すべての項目が完全に等しい確率を持ち、複数の異なる項目を抽出する際には Fisher-Yates シャッフルが使用されるため、そのサイズのグループが選ばれる確率もすべて等しくなります。

私のリストはサーバーにアップロードされますか?

いいえ。抽選全体はローカルのブラウザ内で実行されます。リスト、選択結果、履歴がデバイスから外部に出ることは決してないため、名前、メールアドレス、その他の非公開のリストを安全に貼り付けることができます。「ファイルからロード」もローカルで機能します。ブラウザがファイル自体を読み込み、データは一切アップロードされません。

1行に1項目ではなく、カンマやスペースで区切られたリストを貼り付けることはできますか?

はい。「値の分割方法」は「自動検出」に設定されており、改行とカンマを自動で区別するため、スプレッドシート、チャットメッセージ、ドキュメントからコピーしたリストはそのまま機能します。ただし、スペース区切りのリストの場合は、「値の分割方法」を「スペース」に設定するという追加の手順が必要です。フルネームのような項目自体にスペースが含まれていることがあり、それらが自動的に分割されることはないためです。データに複数の形式が混在している場合は、「値の分割方法」を「改行」または「カンマ」に固定してください。

「重複なし」スイッチは何をするものですか?

「重複なし」をオンにすると、抽出されるすべての項目が異なるものになります。これは帽子からくじを引き、それを戻さないのと同じことであり、当選者やチームを決める際に必要な方法です。オフにすると、同じ項目が複数回選ばれる可能性があります。これは統計学者が sampling with replacement(復元抽出)と呼ぶ方法です。

なぜ「重複なし」と「出力形式」コントロールがグレーアウトしているのですか?

どちらも複数の項目を抽出する場合にのみ適用されるからです。横にあるヒントに「個数が1より大きい場合のみ有効です」と記載されている通りです。「個数」を2以上に増やすと両方が利用可能になります。個数が1の場合、重複させることも分割することもできないためです。

「出力形式」オプションは何をするものですか?

複数の選択結果がどのように表示され、コピーされるかを設定します。「改行」、チャットメッセージですぐに送れる「スペース区切り」、スプレッドシートやスクリプトに貼り付けるための「カンマ区切り」があります。「個数」が2以上になると利用可能になります。

「シャッフル」と「並べ替え」ボタンは何をするものですか?

「シャッフル」は「アイテム」ボックス内の項目の順序をランダムに並べ替え、「並べ替え」はアルファベット順と数字の自然な順序で整列させます(もう一度クリックすると逆順になります)。どちらもリストの記述順序を変更するだけで、抽選の仕組みが変わるわけではありません。項目の順序がどうであれ、ピッカーは等しく公平に機能します。

リストには何個の項目を入れることができますか?また、一度に何個まで抽出できますか?

リストには2から1000個の項目(各200文字まで)を入れることができ、1回の抽選で最大100個まで選択できます。空白行や前後のスペースは無視されるため、スプレッドシートやドキュメントから貼り付けたリストはそのまま機能します。

プレゼント企画や福引の当選者を選ぶのに適していますか?

はい、それは最も一般的な用途の1つです。応募者のリストを貼り付け、「個数」を当選枠の数に設定し、「重複なし」をオンにして誰も2回当選しないようにしてから、「生成」を押します。抽選には暗号学的に安全な乱数が使用され、完全にデバイス上で実行されるため、プロセスを説明するのは簡単です。もし後で応募者から疑問を持たれたとしても、「履歴」に結果が保存されています。

人をチームに分けるために使用できますか?

はい。「個数」を最初のチームの人数に設定して「生成」を押すと、抽出された名前がチーム1になります。その名前をリストから削除し、次のチームに対して同じ操作を繰り返します。「重複なし」をオンのままにしておけば、誰かが同時に2つのチームに所属してしまうことはありません。

なぜ同じ名前が2回連続で出たのですか?

独立した抽選では結果が繰り返されることがあり、それが本来のランダム性というものだからです。各抽選はそれ以前のすべての抽選を無視するため、10個の名前のリストにおいて、同じ名前が2回連続で出現する確率は常に10分の1です。これはよくあることであり、壊れているわけではありません。1回の抽選で選ばれる項目をすべて異なるものにしたい場合は、「重複なし」をオンにしてください。

ピッカーは私の選択を記憶しますか?また、無料ですか?

「履歴」は、あなた自身のブラウザ内に直近10回の抽選結果を保存するため、過去の結果を復元、コピー、または削除したり、好きなときに履歴をすべてクリアしたりできます。このツールは完全に無料で、サインアップも不要です。データが送信されることはないため、私たちがあなたの選択を見たり保存したりすることは、たとえそうしたいと思ったとしても不可能です。