• 公開日:

エクセルを使ってデータをランダムに振り分ける方法

エクセルはデータの整理や分析に便利なツールですが、特定の条件に基づいてデータをランダムに振り分けることも可能です。

例えば、グループ分けや席を決めたいときなど、メンバーをランダムに分ける必要がある場合に役立ちます。

この記事では、エクセルを使って簡単にデータをランダムに振り分ける方法をご紹介します。

エクセルを使ってデータをランダムに振り分ける方法

エクセルを使ってデータをランダムに振り分ける方法をご紹介します。

VLOOKUP関数でデータをランダムに振り分ける

ランダムに振り分けたい

上図のようにクラスの生徒を「席番号」へランダムに振り分け、席を決めたい場合を例にご説明します。

VLOOKUP関数でデータをランダムに振り分ける方法は、以下のとおりです。

項目を追加する

生徒の氏名のほか、以下の項目を追加します。

「席番号」(A列)、「乱数」(C列)、「席番号」「氏名」(E,F列)を追加します。

E列の「席番号」には生徒数と合致する連番を入力します。

関数を入力する

C列「乱数」のセル(例:C2)に、「=RAND()」と入力し、Enterを押します。

RAND関数とは、乱数を作成する関数です。

RAND関数の書式は「=RAND()」となり、引数はありません。

Excelファイルが再計算される度に、0以上1未満の整数をランダムに作成します。

ExcelのRAND関数の使い方|0以上1未満の乱数を発生させる

オートフィル操作を行う

関数を入力したセル(例:C2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

関数を入力する

C列に乱数を表示させることができました。

A列「席番号」のセル(例:A2)に、「=RANK(C2,C$2:C$26,0)」と入力し、Enterを押します。

RANK関数はデータの順位を求める関数で、書式は「=RANK(数値,参照,[順序])」となります。

「数値」で順位付けしたいデータ(C2)、「参照」で順位を求める範囲(C$2:C$26)、最後に順序で大きい方から数えるのか小さい方から数えるのか(「0」は降順)を指定しています。

この数式で、その乱数が全乱数の中で何番目に大きいのかが返されます。

ExcelのRANK関数の使い方|データの順位を求める

オートフィル操作を行う

関数を入力したセル(例:A2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

関数を入力する

A列に乱数の順位を返すことができました。

F列「氏名」のセル(例:F2)に、「=VLOOKUP(E2,A$2:C$26,2,FALSE)」と入力し、Enterを押します。

VLOOKUP関数は、指定した範囲の先頭列を縦方向に検索し、条件に一致したデータを取り出してくれる関数です。書式は「=VLOOKUP(検索値, 範囲, 列番号, [検索の型])」となります。

「範囲」(A$2:C$26)の中から、「検索値」の「E2」に一致したデータの「2」列目を抽出する指定をしています。

ExcelのVLOOKUP関数の使い方|指定の列と同じ行にある値を返す

オートフィル操作を行う

関数を入力したセル(例:F2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

ランダムにデータを振り分けることができた

F列「氏名」に、席番号をランダムに振り分けることができました。

XLOOKUP関数でデータをランダムに振り分ける

ランダムに振り分けたい

上図のB列「メンバー」を、D列「グループ」の「3人一組」に振り分ける場合を例にご説明します。

XLOOKUP関数でデータをランダムに振り分ける方法は、以下のとおりです。

関数を入力する

任意のセル(例:H2)に「=RAND()」と入力し、Enterを押します

RAND関数については、「VLOOKUP関数でデータをランダムに振り分ける」セクションのSTEP 2で詳しくご説明しています。

オートフィル操作を行う

関数を入力したセル(例:H2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

関数を入力する

H列に乱数を表示させることができました。

任意のセル(例:G2)に「=RANK(H2,H$2:H$16,0)」と入力し、Enterを押します。

RANK関数については、「VLOOKUP関数でデータをランダムに振り分ける」セクションのSTEP 4で詳しくご説明しています。

オートフィル操作を行う

関数を入力したセル(例:G2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

関数を入力する

E列に乱数の順位を返すことができました。

任意のセル(例:E2)に「=XLOOKUP(G2,A$2:A$16,B$2:B$16)」と入力し、Enterを押します。

VLOOKUP関数は縦方向、HLOOKUP関数は横方向にそれぞれ検索し、特定のデータを取り出す関数でしたが、XLOOKUP関数は、縦方向・横方向の検索を1つの関数でカバーすることができます。

書式は「=XLOOKUP(検索値,検索範囲,戻り配列,[一致モード],[検索モード])」となり、[一致モード],[検索モード]は省略可能です。

「検索値」でランダムに振り分けられた整数(G2)、「検索範囲」で「No.」(A$2:A$16)を指定します。

「戻り配列」で検索の結果として返すセルや範囲(B$2:B$16)を指定します。

ExcelのXLOOKUP関数の使い方|縦方向/横方向を両方検索する

オートフィル操作を行う

関数を入力したセル(例:E2)を選択します。

セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

ランダムに振り分けることができた

XLOOKUP関数で「メンバー」を「3人一組」のグループに振り分けることができました。

エクセルでランダム抽出する方法

ランダム抽出する

上図は、A列「No.」からランダムに数字を抽出した例です。

下記の記事では、エクセルでランダム抽出する方法について詳しく解説しています。上記の例の「No.」は1~10ですが、好きな数字や文字などに変更して応用することが可能です。

エクセルでランダム抽出することは、抽選やサンプリングを行う際に活用されることが多く、正確で公正な結果を得るためには適切な方法です。

ランダム抽出のためのツールやシーン別の方法、具体的な手順をご紹介していますので、ぜひ参考にしてみてください。

エクセルでランダム抽出する方法