Excel一覧 Excel関数 RAND・RANDBETWEEN・ランダム関数

【Excel】ランダムに順番を決める方法を徹底解説|RAND・SORTBY関数で簡単自動シャッフル!

「チーム分けを公平にしたい」「抽選やプレゼン順をランダムで決めたい」──
そんなとき、わざわざくじを作らなくてもExcelだけで完全ランダムな順番決めが可能です。

Excelには「RAND関数」や「RANDBETWEEN関数」といった乱数生成関数があり、
並べ替え機能や新しい動的配列関数(SORTBY・RANDARRAY)と組み合わせることで、
わずか数秒で「重複なし・順序ランダム」のリストを自動作成できます。

この記事では、初心者でもすぐ使える実務レベルのランダム順番決めの方法を、
バージョン別に丁寧に解説します。
Excel 365/2021以降の最新関数はもちろん、Excel 2016以前でも使える方法も網羅しています。

✅ Excelでランダムに順番を決める基本の考え方

Excelで「順番をランダムにする」には、元データ+乱数+並べ替えの3ステップで実現します。

  1. 順番を決めたい人や項目をリスト化
  2. 各項目にランダムな数値(乱数)を付与
  3. 乱数を基準に並べ替える

この手順を理解しておけば、どんなデータでも公平にシャッフルできます。
まずはRAND関数を使った最も基本的な方法から見ていきましょう。

参考:【Excel】適当な数値(乱数)をランダムに入力する方法


✅ RAND関数で順番をランダム化する基本手順

RAND関数はExcelの乱数生成の基本中の基本です。
関数を入力するだけで0以上1未満のランダムな小数を返します。


・RAND関数の構文

=RAND()

再計算のたびに値が変わるため、毎回異なる結果が得られます。


・手順:RANDで順番をランダムにする

  1. A列に名前リストを入力
    例:A1~A10に社員名を入力
  2. B1に次の式を入力
    =RAND()
  3. B列全体にコピー
  4. データタブ → 並べ替え → 「B列」を昇順に並べ替え

これで、A列の名前がランダム順に入れ替わります。


・ポイント

  • 並べ替えのたびに新しい順番を作れる
  • 公平性が高く、くじ引きや発表順などにも利用可能
  • RAND関数は再計算のたびに変わるため、確定後は「値貼り付け」で固定化がおすすめ

・結果を固定する手順

  1. 並べ替え後、範囲を選択してコピー(Ctrl+C)
  2. 右クリック → 「値として貼り付け」

これで、乱数の再計算による変動を防げます。

参考:【Excel】ランダムな数字を「重複なし」で作る方法|RAND・RANDBETWEEN


✅ RANDBETWEEN関数で整数乱数を使った順番決め

RAND関数は小数を返しますが、整数で順番を管理したい場合はRANDBETWEEN関数が便利です。


・RANDBETWEEN関数の構文

=RANDBETWEEN(最小値, 最大値)

例:=RANDBETWEEN(1,100) → 1〜100の整数の中からランダムに1つを返す。


・順番決めでの使い方

  1. A列にメンバー名を入力
  2. B1に次の式を入力:
    =RANDBETWEEN(1,1000)
  3. B列を昇順で並べ替え

整数の方が「順位を付ける」イメージがわかりやすく、
ランキング形式で表示したい場合に向いています。


・注意点

RANDBETWEENは乱数の重複が起こることがあります。
重複を避けたい場合は、RAND関数+並べ替えの方が確実です。


✅ SORTBY関数×RANDARRAY関数で完全自動シャッフル(Excel 365以降)

Excel 365/Excel 2021以降では、1行の数式だけで完全ランダムな順番決めができます。


・SORTBY関数の構文

=SORTBY(範囲, RANDARRAY(行数))

  • SORTBY:指定範囲を別の配列の順序で並べ替える関数
  • RANDARRAY:乱数の配列を生成

・実例

=SORTBY(A1:A10, RANDARRAY(10))

これだけで、A1:A10の内容がランダム順に自動表示されます。
並べ替えを手動で行う必要はありません。

再計算(F9キー)するたびに、異なる順序が生成されます。

参考:【Excel】数字を並び替えると「1, 10, 100, 2」になる原因と解決方法|正しい昇順・降順の作り方


・応用:順番付きで表示する

乱数でシャッフルした結果に「順位」も付けたい場合は、
SEQUENCE関数を組み合わせて次のようにします。

=CHOOSE({1,2}, SEQUENCE(ROWS(A1:A10)), SORTBY(A1:A10, RANDARRAY(ROWS(A1:A10))))

これで、1列目に順位、2列目にランダム順の名前が一覧表示されます。
くじ番号や発表順表を自動生成したい場合に非常に便利です。

参考:【Excel】曜日を扱う関数の使い方まとめ【TEXT関数・WEEKDAY関数・CHOOSE関数】


✅ UNIQUE関数と組み合わせて重複なしの順番を作る

「リストに重複がある場合」「同じ名前が混在している場合」は、
UNIQUE関数を使って重複を除いた上でランダム化するのが効果的です。


・構文

=SORTBY(UNIQUE(A1:A20), RANDARRAY(COUNTA(UNIQUE(A1:A20))))

これで、A列の重複データを取り除いた上でランダム順に並べ替えます。
データ入力ミスや同名重複がある場合も安心です。

参考:【Excel】名前を検索して抽出する方法まとめ|関数とフィルターで効率化


✅ 重複なしでランダムな「番号」だけを生成したい場合

順番を決める代わりに、ランダムな番号を割り振りたいケースもあります。
その場合はSEQUENCE関数を活用します。


・構文

=SORTBY(SEQUENCE(10), RANDARRAY(10))

これは「1~10」の連番をランダムに並べ替えたリストを返します。
つまり、「順番表」や「抽選番号表」を一瞬で作成できる関数です。


・応用:人名リストに自動で番号を付ける

A列に人名がある場合、次のように記述します。

=CHOOSE({1,2}, SORTBY(SEQUENCE(COUNTA(A1:A10)), RANDARRAY(COUNTA(A1:A10))), SORTBY(A1:A10, RANDARRAY(COUNTA(A1:A10))))

1列目にランダム番号、2列目に対応する人名が出力されます。
関数ひとつで「番号付き順番リスト」が完成します。


✅ Excel 2016以前でも使えるランダム順の決め方

Excel 365の新関数が使えない場合でも、従来の方法で十分対応可能です。


・RAND関数+並べ替え

  1. 名前リスト(A列)を作成
  2. 隣の列(B列)に =RAND() を入力しコピー
  3. データ → 並べ替え → 「B列」を基準に昇順

この方法はどのバージョンのExcelでも確実に使えます。
再計算(F9)で新しい順番を再生成できます。


・マクロ(VBA)を使う方法

より自動的に処理したい場合は、VBAでランダム並べ替えを行うことも可能です。

Sub ShuffleList()
    Dim i As Long, j As Long
    Dim tmp As Variant
    Dim rng As Range

    Set rng = Range("A1:A10")
    Randomize
    For i = rng.Rows.Count To 2 Step -1
        j = Int(Rnd() * i) + 1
        tmp = rng.Cells(i, 1).Value
        rng.Cells(i, 1).Value = rng.Cells(j, 1).Value
        rng.Cells(j, 1).Value = tmp
    Next i
End Sub

このマクロを実行すると、A1:A10のリストが自動的にランダム順に並び替えられます。
再計算不要で、ボタン1つで公平なシャッフルが行えます。


✅ 実務での活用例

ランダム順決めの仕組みは、業務や日常のあらゆるシーンで活躍します。


・1. 発表順・面接順の決定

会議や発表会での順番決めに最適です。
RAND関数+並べ替えで手軽に公平性を保てます。


・2. チーム分けの自動化

社員名簿や生徒リストをランダム化して、上位から順にグループ分け。
SORTBY関数とSEQUENCEを組み合わせると、グループ番号も自動付与できます。

例:
=CHOOSE({1,2}, MOD(SEQUENCE(COUNTA(A1:A12))-1,3)+1, SORTBY(A1:A12, RANDARRAY(COUNTA(A1:A12))))
→ 3チームに自動分割。


・3. 抽選・プレゼント当選者選び

応募リストをランダムに並べ、上位N名を当選とするだけで、
抽選をExcel上で簡単に再現できます。
透明性のある公平な抽選ツールとしても利用可能です。


・4. テストデータやモックデータ生成

データ分析やシミュレーションの際に、
並び順をランダム化してバイアスを減らすことができます。
特にRANDARRAY関数はテスト環境構築に便利です。


✅ 注意点とコツ

・RANDとRANDBETWEENは再計算で値が変わる

Excelは再計算(F9キーやデータ編集)時に乱数を更新します。
結果を固定したい場合は、値貼り付けで静的に保存しておきましょう。


・RANDARRAY・SORTBYはExcel 365専用

古いバージョンでは使用できないため、RAND関数+並べ替えで代用します。


・RANDは揮発性関数

再計算が多くなると処理が重くなる場合があります。
数百行を超える場合は、必要な時だけ再計算するのがコツです。


・乱数の公平性を高める

RAND関数やRANDARRAYは非常に高品質な乱数を生成しますが、
「疑似乱数」である点を理解し、厳密な統計用途にはRなどの専用ツールを検討しましょう。
ただし日常業務やイベント用途には十分な精度です。


 

✅ まとめ:Excelのランダム順決めを活用して業務をスマートに

  • RAND関数で乱数を生成し、並べ替えで順番をランダム化できる
  • RANDBETWEEN関数は整数乱数として順位付けにも便利
  • Excel 365では SORTBYRANDARRAY で完全自動ランダム化が可能
  • 重複なし・公平な順番決め・グループ分けなど幅広い応用ができる
  • 再計算で変動する点に注意し、必要に応じて値貼り付けで固定

Excelを使えば、特別なツールを使わずに公平・効率的な順番決めを誰でも実現できます。
社内抽選やチーム分け、イベント運営などでぜひ活用してみてください。
わずか数秒で「完全ランダム」が実現するExcelの力を、あなたの仕事にも取り入れてみましょう。

    -Excel一覧, Excel関数, RAND・RANDBETWEEN・ランダム関数