• 公開日:

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

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

この記事では、エクセルでランダム抽出する方法について詳しく解説していきます。

ランダム抽出のためのツールやシーン別の方法、具体的な手順をご紹介しています。

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

エクセルでランダム抽出する方法をご紹介します。

ランダムに特定の数字を抽出する

ランダムに数字を抽出したい

上図の「No.」から、ランダムに数字を抽出したい場合を例にご説明します。

今回の例では1~10ですが、好きな数字や文字などに変更して応用することが可能です。

関数を入力する

表のセルに「乱数」の項目を作成します。

B3セルに「=RAND()」と入力し、Enterを押します。

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

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

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

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

オートフィル操作を行う

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

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

関数を入力する

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

C2セルに「=RANK.EQ(B2,$B$2:$B$11)」と入力し、Enterを押します。

RANK.EQ関数はRANK関数の互換性関数です。

 Excel 2010からRANK.AVG関数が追加され、区別するためにRANK.EQ関数となりました。そのため、RANK.EQ関数とRANK関数は同じ結果を返します。

RANK.EQ関数の書式は「数値・参照・順序」となっており、「順序」は省略可能です(省略した場合、大きいほうからの順[降順])。

数値(B2)で順位付けしたいデータを指定し、参照で順位を求める範囲を指定($B$2:$B$11)します。この数式によって、重複しないランダム抽出が可能となります。

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

オートフィル操作を行う

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

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

抽出する準備ができた

「乱数」と「重複対策」の列に数式を入力し、抽出の準備ができました。

関数を入力する

E2セルに「=INDEX(A2:C11,MATCH(MAX(C2:C11),C2:C11,0),1)」と入力し、Enterを押します。

数式については、以下の「ランダムに特定の数字を抽出する数式について」セクションで詳しくご説明します。

ランダム抽出できた

E2セルにランダムで数字を抽出させることができました。

ランダムに特定の数字を抽出する数式について

数式の説明

ランダムに特定の数字を抽出する」セクションのSTEP 6で使用した「=INDEX(A2:C11,MATCH(MAX(C2:C11),C2:C11,0),1)」という数式についてご説明します。

MAX関数でC列から最大値を算出し、MATCH関数でそのセルの相対的な位置を算出します。INDEX関数で、指定した行と列が交差する位置にあるセルの参照を返します。

例えば上記の場合、C列の中の最大値のセル(例:C8)に対応するA列のセル(例:A8)の値(例:7)を返します。

MATCH関数は、指定した「照合の種類」に従って「検査範囲内」を検索し、「検索値」と一致するセルの配列内での相対的な位置を数値で返します。

MATCH関数の書式は「=MATCH(検索値, 検索範囲, [照合の種類])」です。

INDEX関数は、指定された行と列が交差する位置にあるセルまたはセルの参照を返します。

INDEX関数の書式は「=INDEX(配列, 行番号, [列番号])」です。

ExcelのINDEX関数とMATCH関数を組み合わせた使い方

指定の数字を除外してランダム抽出する

ビンゴゲームや抽選を行う場合、特定の数字を除外してランダム抽出する必要があります。

特定の数字を除外してランダム抽出したい

上記の「除外」項目の数字以外をランダム抽出したい場合を例にご説明します。

関数を入力する

E2セルに「=INDEX(A2:C11,MATCH(MAX((COUNTIF(F2:F4,A2:A11)=0)*(C2:C11)),C2:C11,0),1)」と入力し、Enterを押します。

ランダムに特定の数字を抽出する」セクションのSTEP 6でご説明している数式に、COUNTIF関数を付け足しています。

COUNTIF関数で除外する数字があるかどうかを判定し、ある場合は0(=0)、ない場合はC列の数字を掛けて(*(C2:C11))計算します。

ExcelのCOUNTIF関数の使い方|条件に一致するデータの個数表示

特定の数字を除外してランダム抽出できた

「除外」の「7,2,10」を除く数字をランダム抽出することができました。

ランダム抽出で当選者を決定する

ランダムに当選を表示させたい

上図の表において、ランダムに抽出した3人を当選とし、「結果」に「当選」と表示させたい場合を例にご説明します。

関数を入力する

表の隣のセルに「乱数」の項目を作成します。

D3セルに「=RAND()」と入力し、Enterを押します。

RAND関数については、「ランダムに特定の数字を抽出する」セクションのSTEP 1で詳しくご説明しています。

オートフィルをする

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

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

オートフィルで関数を適用させることができた

オートフィルでD列に乱数を表示させることができました。

関数を入力する

C3セルに「=IF(RANK.EQ(D3,$D$3:$D$9)<=3,"当選","")」と入力し、Enterを押します。

RANK.EQ関数については、「ランダムに特定の数字を抽出する」セクションのSTEP 3で詳しくご説明しています。

RANK.EQ関数で、数値(D3)で順位付けしたいデータを指定し、参照で順位を求める範囲を指定($D$3:$D$9)します。

IF関数で、乱数の大きさが上位3つのセルに「当選」と表示させる設定(<=3,"当選","")をします。

ExcelのIF関数の使い方|論理式の条件(IF文)によって処理を分岐

オートフィルを行う

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

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

当選を表示することができた

3人をランダム抽出し、「当選」と表示させることができました。

F9を押すと結果が変わる

F9キーを押すと乱数が再計算されるため、「結果」もその都度変わります。

抽出結果を保存したい場合

RAND関数の結果は、前述した通りセルを編集するたびに再計算されるため、その都度変わってしまいます。

厳正な1回の結果を残したい場合など、以下の操作で結果を保存しましょう。

コピーする

表(例:A2:C9)をドラッグして選択し、Ctrl+Cでコピーします。

値を選択する

①任意のセル(例:A11)を右クリックし、②「貼り付けのオプション」から「値」を選択します。

表をコピーできた

抽出した結果をコピー&ペーストして保存することができました。

サンプリングでランダム抽出する

サンプリングでランダム抽出する方法をご紹介します。

サンプリングとは?

サンプリングとは統計調査の用語であり、調査対象の母集団の中から、調査を行うサンプル(標本)を抽出することです。

調べたいデータが大量の場合、全てのデータを調べることはコストや時間を考えると現実的ではありません。

サンプリングとは

そのため、調べたい母集団(調査の対象となる集団全体)の中から一部のデータを無作為に抽出して調査します。この抽出をサンプリングといいます。

調査の多くは、限られたサンプルへの調査によって母集団全体の傾向を推定できています。したがって、サンプリングを適切に行うことは、調査結果の質を保つためにとても重要です。

サンプリングにおいて重要なのはランダム性です。以下では、サンプリングでランダム抽出する方法をご説明します。

データ分析を追加する

エクセルの「データ」タブに「データ分析」がない場合、以下の手順で追加します。

ファイルタブを選択する

「ファイル」タブを選択します。

オプションを選択する

「オプション」を選択します。

設定ボタンを押す

「Excel のオプション」ダイアログボックスが表示されます。

「アドイン」、「分析ツール」の順に選択し、③「設定」ボタンを押します。

OKボタンを押す

「アドイン」ダイアログボックスが表示されます。

「分析ツール」にチェックマークを入れ、「OK」ボタンを押します。

データ分析ツールが表示されるようになる

エクセルの「データ」タブに、「データ分析」ツールが表示されるようになります。

サンプリングでランダム抽出する方法

サンプリングで抽出したい

上図の表から、サンプリングでランダム抽出する場合を例にご説明します。

データ分析を選択する

「データ」タブ、「データ分析」の順に選択します。

OKボタンを押す

「データ分析」ダイアログボックスが表示されます。

「サンプリング」を選択し、②「OK」ボタンを押します。

OKボタンを押す

「サンプリング」ダイアログボックスが表示されます。

①「入力範囲」で抽出対象の範囲(例:$B$2:$F$21)、②「データの個数」に抽出数(例:6)の順に入力します。

「出力先」を選択し、④出力先のセル(例:$H$2)を入力し、⑤「OK」ボタンを押します。

サンプリングで抽出できた

出力先のセル(例:H2:H7)に、サンプリングでランダム抽出することができました。