ExcelのRANDBETWEEN関数の使い方|乱数の基本から実務活用まで解説

スポンサーリンク

「Excelでランダムな整数を出したいけど、どの関数を使えばいいんだろう?」

くじ引きやテストデータなど、ランダムな整数がほしい場面は意外と多いですよね。

そんなときはRANDBETWEEN関数の出番です。

この記事では、RANDBETWEEN関数の基本から実務活用まで解説します。RAND関数との使い分けもまとめました。

RANDBETWEEN関数とは?

RANDBETWEEN関数(読み方: ランドビトウィーン)は、指定した範囲内のランダムな整数を返す関数です。

名前の由来は「Random Between」です。「2つの値の間のランダムな数」という意味ですね。

たとえば =RANDBETWEEN(1,100) と入力してみましょう。1〜100のどれかの整数が表示されます。

再計算するたびに値が変わるのが特徴です。

NOTE

RANDBETWEEN関数は揮発性関数です。セルを編集したりF9キーを押したりするだけで値が変わります。結果を確定させたいときは「値貼り付け」で固定してください(方法は後述します)。

RANDBETWEEN関数の書き方(構文と引数)

基本構文

=RANDBETWEEN(最小値, 最大値)

2つの引数で「下限」と「上限」を指定するだけのシンプルな構文です。

引数の説明

引数必須/省略可説明
最小値(bottom)必須乱数の下限となる整数を指定します
最大値(top)必須乱数の上限となる整数を指定します
項目内容
戻り値最小値以上・最大値以下のランダムな整数
対応バージョンExcel 2007以降すべて / Microsoft 365 / Googleスプレッドシート

TIP

最小値と最大値には小数を指定することもできます。小数点以下は切り捨てられて整数として扱われます。たとえば =RANDBETWEEN(1.5, 9.8)=RANDBETWEEN(1, 9) と同じ動作です。

RANDBETWEEN関数の基本的な使い方

1から10のランダムな整数を生成する

もっとも基本的な使い方です。セルに以下の数式を入力します。

=RANDBETWEEN(1,10)

Enterを押すと、1から10のどれかの整数が表示されます。別のセルを編集すると値が変わりますが、揮発性関数の仕様です。

負の数を含む範囲を指定する

最小値にマイナスの値を指定することもできます。

=RANDBETWEEN(-50,50)

-50から50までのランダムな整数を返します。温度データや差異のテストデータを作りたいときに便利です。

0か1をランダムに生成する

フラグ(ON/OFF)のテストデータを作るときに使えるパターンです。

=RANDBETWEEN(0,1)

0または1がランダムに返されます。大量のテストデータにフラグを付けるときに重宝します。

RANDBETWEEN関数の実践的な使い方・応用例

パターン1: くじ引き・抽選番号を作る

社内イベントやプレゼント企画で抽選番号を割り振りたいときに使えます。

参加者がA列(A2:A11)に10名入っているとします。B列に以下の数式を入力します。

=RANDBETWEEN(1,100)

各参加者にランダムな番号が割り振られます。一番大きい番号の人が当選、というルールにすればOKです。

NOTE

RANDBETWEEN関数は重複する値を返すことがあります。重複なしの抽選をしたい場合は、RAND関数RANK関数を組み合わせる方法がおすすめです。

パターン2: テストデータを大量に作成する

ダミーデータがほしいことってありますよね。RANDBETWEEN関数なら一瞬で作れます。

売上金額のテストデータ(1,000円〜50,000円):

=RANDBETWEEN(1000,50000)

年齢のテストデータ(20歳〜65歳):

=RANDBETWEEN(20,65)

ランダムな日付を生成する:

=RANDBETWEEN(DATE(2026,1,1),DATE(2026,12,31))

セルの表示形式を「日付」に変更してみてください。2026年内のランダムな日付が表示されます。

Excelの日付はシリアル値(整数)なので相性抜群です。

パターン3: リストからランダムに1件抽出する

名簿からランダムに1件を選びたいとき、INDEX関数と組み合わせると実現できます。

A列にデータが10件(A2:A11)入っているとします。

=INDEX(A2:A11,RANDBETWEEN(1,10))

RANDBETWEEN関数が1〜10のランダムな行番号を返します。INDEX関数がその行のデータを取り出す仕組みです。

データ件数が変わる場合は、COUNTA関数で自動カウントしましょう。

=INDEX(A2:A11,RANDBETWEEN(1,COUNTA(A2:A11)))

パターン4: CHOOSE関数でランダムにカテゴリを振り分ける

CHOOSE関数と組み合わせると、ランダムな文字列の振り分けができます。

=CHOOSE(RANDBETWEEN(1,3),"営業部","開発部","総務部")

RANDBETWEEN関数が1〜3を返します。CHOOSE関数が対応する部署名を表示する仕組みです。

パターン5: IF関数で2択をランダムに振り分ける

IF関数と組み合わせた2択のランダム振り分けです。

=IF(RANDBETWEEN(1,2)=1,"合格","不合格")

A/Bテスト振り分けやテストデータの合否フラグに使えます。

値を固定する方法(揮発性関数の対策)

RANDBETWEEN関数は揮発性関数です。再計算のたびに値が変わります。

「良い値が出たのに変わった」というのはよくある話です。

再計算で値が変わるタイミング

操作値が変わるか
任意のセルを編集してEnter変わる
F9キーを押す(手動再計算)変わる
ブックを開き直す変わる
別のセルに数式を入力する変わる
セルの書式だけ変更する変わらない

値貼り付けで固定する手順

結果を確定させたいときは、値貼り付けを使います。

  1. RANDBETWEEN関数が入ったセル範囲を選択してコピー(Ctrl+C)
  2. 同じ範囲を選択した状態で Ctrl+Shift+V(または右クリック → 「値」貼り付け)
  3. 数式が消えて、コピー時点の数値だけが残る

これで再計算しても値は変わりません。くじ引きの結果を確定させるときなどに必ず使ってください。

TIP

RANDBETWEEN関数を大量に使うと再計算が遅くなることがあります。テストデータ作成後は値貼り付けで固定しておくのがおすすめです。

よくあるエラーと対処法

RANDBETWEEN関数で遭遇しやすいエラーをまとめました。

症状原因対処法
#VALUE! エラー最小値が最大値より大きい引数の順序を確認する(最小値 <= 最大値)
#VALUE! エラー引数に文字列が含まれている数値またはセル参照を使用する
#NAME? エラー関数名のスペルミスRANDBETWEEN のスペルを確認する
値が勝手に変わる揮発性関数の仕様値貼り付け(Ctrl+Shift+V)で固定する
同じ値が繰り返し出るランダムなので偶然の重複範囲を広げるか、RAND+RANKの組み合わせを使う
小数が返されないRANDBETWEEN関数は整数のみ返す小数の乱数が必要ならRAND関数を使う

似た関数との違い・使い分け

Excelには乱数を生成する関数が3つあります。それぞれの特徴を比較してみましょう。

比較項目RANDBETWEENRANDRANDARRAY
構文=RANDBETWEEN(下限,上限)=RAND()=RANDARRAY(行,列,最小,最大,整数)
引数2つ(必須)なし5つ(すべて省略可)
戻り値指定範囲の整数0以上1未満の小数配列(整数または小数)
複数セル1セルずつ1セルずつ一括で複数セル
対応バージョンExcel 2007以降Excel 2003以降Microsoft 365のみ
揮発性ありありあり

使い分けのポイント

  • 整数の乱数を手軽にほしい → RANDBETWEEN関数がいちばんシンプル
  • 0〜1の小数や確率で分岐したいRAND関数を使う
  • 大量の乱数を配列で一括生成したいRANDARRAY関数を使う(Microsoft 365のみ)
  • 他の関数と柔軟に組み合わせたい → RAND関数を使う

迷ったら「整数ならRANDBETWEEN、それ以外はRAND」と覚えておけばOKです。

まとめ

RANDBETWEEN関数は指定範囲のランダムな整数を返す関数です。この記事の内容をおさらいしましょう。

  • 基本: =RANDBETWEEN(最小値, 最大値) で整数の乱数を生成
  • テストデータ: 売上金額・年齢・日付など、ダミーデータを一瞬で作れる
  • ランダム抽出: INDEX関数やCHOOSE関数と組み合わせてリストからランダムに選べる
  • 揮発性: 再計算のたびに値が変わるので、確定したら値貼り付けで固定する
  • 使い分け: 整数ならRANDBETWEEN、小数ならRAND、配列ならRANDARRAY

くじ引きやテストデータ作成など、ランダムな整数が必要な場面でぜひ活用してみてください。

関連記事

タイトルとURLをコピーしました