Office

Excelの機能で抽選やランダムな優先順位付けを行う

更新日:

先日、仕事で、あるTwitterのリツイートプレゼント企画の抽選を行う機会がありました。この手の企画、実は手作業で運営するのが結構大変なんです。いろいろある中で、最終的にリツイート者のリストが出そろってから、それを簡単・上手に抽選する方法をご紹介します。

使うのはExcelなどのスプレッドシートアプリケーション。本文中で紹介する機能を持っているなら、その他のソフトウェアでも実現可能だと思います。

以下ご紹介していきましょう。

抽選する手順

Excelで抽選する方法は以下の通りです。副作用で、優先順位をすべてつけられますので、補欠の順位も決定できます。

Excelにリストを貼り付ける

何かで得たリストを、Excelに貼り付けます。列Aの頭から行方向に貼り付ければOK。

ランダムの関数を別の列に追加する

次に、B列にExcelの関数を入れます。

半角で

=rand()

と入れればOK。確定すると0から1の間の小数が入ります。
あとは、全てのリストの横に、rand関数をコピーしましょう。成功したrand関数のセルをコピーして、残りのセルを一括指定して貼り付けてもOKですし、オートフィルでコピーしても問題なし。

▼rand関数のセルをコピーして

▼範囲を一気に指定して、数式を貼り付ける

▽rand関数のセルの右下をつかんで

▽下にドラッグする

ランダムの関数を数値に変換して際

rand関数は、Excelでほかの作業をしていると値が更新されてしまうことがあります。今、rand関数をコピーして貼り付けた時点では、その内容は都度都度変わってしまい、並べ替えの元として固定できません。

そこで、出力された結果を一度まるっとコピーして、数値として貼り付ける作業をします。

▼範囲をコピーして

▼そのまま数値形式で貼り付けます

セルを選択したときに、rand関数の指定になっているようならだめで、

数値が値として入っている状態になればOKです。

これで、ランダムに発行した数値を数値としてExcelに貼り付けることができました。

並べ替えを行う

順位付けをしたい数値のところで並べ替えを行いましょう。

並べ替えたいリストの範囲を指定してから、Excelのメニューから「データ」→「並べ替え」を選択します。
リストが大きすぎて範囲指定が面倒なら、Ctrl+Aキーで、シート全体を設定してもOKです。必要なリスト以外の情報が無い状態でやってください。

並べ替えのウィンドウが出てきます。僕の場合は先頭行に「名前」「順位」という名称をつけているので、これが指定の際の目印になっています。

ウィンドウ右上の「先頭行をデータの見出しとして使用する」にチェックが入っている状況で、その氏亜の

最優先されるキー:順位
並べ替えのキー:セルの値
順序:大きい順

となっていることを確認します。順序は大きい順でも小さい順でも、好きな方にすれば大丈夫です。
すべて終わったら右下の「OK」をクリック。

これで、ランダムに抽選した上で順位付けをする作業が終了しました。

関数か数値かを間違わずにいれば簡単に順位付けやソートができる

一度ランダム関数で乱数を発生させる状況にしておき、そこから数値に変換することで、ランダムな序列を作るのが今回の作業のコツです。
当選・非当選や、優先順位の設定をこれで簡単に行えます。

スプレッドシートで作ったので、この後、当選者への連絡チェックリスト部分を作り込んでいくのも簡単です。

rand関数で生成したのちに、数値形式でペーストすることで並べ替えを確実にするのが分りやすいソートのコツです。お試しください。

合同noteマガジンを読んでみませんか?

noteの合同マガジンで、10人程度の情報発信者が書いています。個性が集まっていて楽しいですよ。
登録は↓↓下のリンクをクリック!↓↓
Edge Rank note|Daiji Okuno|note

-Office