「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キーを押す(手動再計算) | 変わる |
| ブックを開き直す | 変わる |
| 別のセルに数式を入力する | 変わる |
| セルの書式だけ変更する | 変わらない |
値貼り付けで固定する手順
結果を確定させたいときは、値貼り付けを使います。
- RANDBETWEEN関数が入ったセル範囲を選択してコピー(Ctrl+C)
- 同じ範囲を選択した状態で Ctrl+Shift+V(または右クリック → 「値」貼り付け)
- 数式が消えて、コピー時点の数値だけが残る
これで再計算しても値は変わりません。くじ引きの結果を確定させるときなどに必ず使ってください。
TIP
RANDBETWEEN関数を大量に使うと再計算が遅くなることがあります。テストデータ作成後は値貼り付けで固定しておくのがおすすめです。
よくあるエラーと対処法
RANDBETWEEN関数で遭遇しやすいエラーをまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
#VALUE! エラー | 最小値が最大値より大きい | 引数の順序を確認する(最小値 <= 最大値) |
#VALUE! エラー | 引数に文字列が含まれている | 数値またはセル参照を使用する |
#NAME? エラー | 関数名のスペルミス | RANDBETWEEN のスペルを確認する |
| 値が勝手に変わる | 揮発性関数の仕様 | 値貼り付け(Ctrl+Shift+V)で固定する |
| 同じ値が繰り返し出る | ランダムなので偶然の重複 | 範囲を広げるか、RAND+RANKの組み合わせを使う |
| 小数が返されない | RANDBETWEEN関数は整数のみ返す | 小数の乱数が必要ならRAND関数を使う |
似た関数との違い・使い分け
Excelには乱数を生成する関数が3つあります。それぞれの特徴を比較してみましょう。
| 比較項目 | RANDBETWEEN | RAND | RANDARRAY |
|---|---|---|---|
| 構文 | =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
くじ引きやテストデータ作成など、ランダムな整数が必要な場面でぜひ活用してみてください。
