INDEX
ランダムに行を選択するには?
Excelでデータリストからランダムに1行を選択したい場合、ROWS
関数とRANDBETWEEN
関数を組み合わせることで、自動的にランダムな行を抽出できます。
本記事では、ExcelのROWS
とRANDBETWEEN
を活用して、リストの中からランダムに行を選択する方法を解説します。
RANDBETWEEN関数とは?
RANDBETWEEN
関数は、指定した最小値と最大値の間でランダムな整数を返す関数です。
基本構文
=RANDBETWEEN(最小値, 最大値)
この関数を使うことで、リストの中からランダムに行を選択することができます。
ROWS関数とは?
ROWS
関数は、指定した範囲に含まれる行数を取得する関数です。
基本構文
=ROWS(範囲)
この関数を利用することで、リストの長さに応じたランダムな行番号を生成できます。
リストからランダムに行を選択する方法
例えば、以下のような商品リストがあるとします。
A | B | C | |
---|---|---|---|
1 | ID | 商品名 | ランダム選択 |
2 | 101 | りんご | =INDEX(B2:B4, RANDBETWEEN(1, ROWS(B2:B4))) |
3 | 102 | バナナ | |
4 | 103 | ぶどう |
数式の解説
セルC2に以下の数式を入力します。
=INDEX(B2:B4, RANDBETWEEN(1, ROWS(B2:B4)))
ROWS(B2:B4)
→ B2:B4の行数(データの長さ)を取得RANDBETWEEN(1, ROWS(B2:B4))
→ 1からリストの長さの間でランダムな数値を生成INDEX(B2:B4, ...)
→ ランダムに選ばれた行の値を取得
計算結果の例
- バナナ(B3の値)
この方法を使うことで、リストの中からランダムに1つの行を自動選択できます。
リストが増減しても対応できる方法
データの増減に対応させるには、範囲を広げ、COUNTA
関数を使ってリストの長さを自動判定する方法が便利です。
数式
=INDEX(B2:B100, RANDBETWEEN(1, COUNTA(B2:B100)))
Excelでの計算例
A | B | C | |
---|---|---|---|
1 | ID | 商品名 | ランダム選択 |
2 | 101 | りんご | =INDEX(B2:B100, RANDBETWEEN(1, COUNTA(B2:B100))) |
3 | 102 | バナナ | |
4 | 103 | ぶどう |
数式の解説
COUNTA(B2:B100)
→ B列のデータ数をカウント(空白を除外)RANDBETWEEN(1, COUNTA(B2:B100))
→ 1からリストの長さの間でランダムな数値を生成INDEX(B2:B100, ...)
→ ランダムに選ばれた行の値を取得
計算結果の例
- ぶどう(B4の値)
この方法を使うことで、リストが増減してもランダムな行選択が自動で行えます。
まとめ
Excelでリストからランダムに行を選択するには、INDEX
関数とRANDBETWEEN
関数の組み合わせが便利です。
- 固定範囲でランダム選択:
=INDEX(B2:B4, RANDBETWEEN(1, ROWS(B2:B4)))
- 動的なリストに対応:
=INDEX(B2:B100, RANDBETWEEN(1, COUNTA(B2:B100)))
この方法を活用すれば、ランダムなデータ抽出や抽選の自動化が可能になります。
使用した関数について

ROWS関数で指定した範囲の行数を求める方法をわかりやすく解説
ROWS関数についてROWSの概要範囲内の行数を返す Excel関数=ROWS(範囲)概要 範囲内の行数を計算して返します。 指定した範囲の行数を返します。 単一セルを指定した場合、結果は「1」となります。 多次元の範囲を指定すると、行の総数を返します。ROWSはどのような時に使用するか 範囲に含まれる行の数を簡単に取...

INDEX関数で範囲内の指定したデータを取り出す方法についてわかりやすく解説
INDEX関数についてINDEXの概要範囲内の指定位置にあるデータを取得Excel関数=INDEX( 範囲 , 行位置 , 列位置 )範囲内左上からの位置のデータを表示する 位置は省略することも(1となる)できるが、わかりにくくなるため設定しておくことが望ましい 位置は行、列の順。XYではなくYXの順になっていることに...

RANDBETWEEN関数で指定した範囲内で整数の乱数を発生させる方法についてわかりやすく解説
RANDBETWEEN関数についてRANDBETWEENの概要整数の乱数を発生させるExcel関数=RANDBETWEEN( 最小値 , 最大値 )概要 最小値から最大値の整数の乱数を求める 0以上1未満の乱数についてはRANDを用いる RANDBETWEEN( 1 , 5 ) であれば、1,2,3,4,5 のいずれか...

COUNTA関数で指定したデータの個数を求める方法についてわかりやすく解説
COUNTA関数についてCOUNTA関数の概要COUNTAExcel関数=COUNTA( 数値 , 数値 ,,, ) 指定したデータの個数を求める(空白文字、エラー値も含まれる) 数値、数値はにあるデータの個数を求めます。 データは文字、空白文字やエラーなどもカウントされます。 空白文字(スペース)ではなく、データその...