「Excelで1から100まで連番を自動入力したい」「ランダムなテスト用データを一瞬で用意したい」——そんな要望に応えるのがSEQUENCE関数とRANDARRAY関数です。どちらもMicrosoft 365・Excel 2021で導入された動的配列関数(スピル関数)で、1つの数式から複数セルへ自動展開するスピル(Spill)機能を使って配列を生成します。
従来は「1→2→3…」という連番入力にオートフィルや数式コピーが必要でしたが、SEQUENCE関数なら=SEQUENCE(10)の1行で10行分の連番が自動展開されます。RANDARRAY関数は行数・列数・最小値・最大値を指定した乱数の配列を一瞬で生成し、サンプルデータ作成・抽選ツール・座席シャッフルに活用できます。
本記事では、SEQUENCE・RANDARRAY両関数の基本構文・引数の意味・実務でよく使う活用パターン・SORT/FILTER/UNIQUE関数との組み合わせ・エラー対処法・MOS Excel試験の出題ポイントを体系的に解説します。
SEQUENCE関数の基本構文
SEQUENCE関数は「連続した数値の配列」を生成します。
=SEQUENCE(行数, [列数], [開始値], [増分])
| 引数 | 説明 | 省略時の既定値 |
|---|---|---|
| 行数 | 生成する行の数(縦方向の要素数) | 必須 |
| 列数 | 生成する列の数(横方向の要素数) | 1 |
| 開始値 | 最初の数値 | 1 |
| 増分 | 各ステップの差分(負の値にすると降順も可) | 1 |
基本例:A1セルに =SEQUENCE(5) と入力するとA1:A5に 1・2・3・4・5 が自動展開されます。=SEQUENCE(3, 4) なら3行4列(12個の数値)の配列が生成されます。
開始値・増分の指定例:=SEQUENCE(6, 1, 10, 10) はA1:A6に 10・20・30・40・50・60 を生成します。=SEQUENCE(5, 1, 100, -10) は 100・90・80・70・60 という降順の連番になります。
RANDARRAY関数の基本構文
RANDARRAY関数は「乱数の配列」を生成します。
=RANDARRAY([行数], [列数], [最小値], [最大値], [整数])
| 引数 | 説明 | 省略時の既定値 |
|---|---|---|
| 行数 | 生成する行の数 | 1 |
| 列数 | 生成する列の数 | 1 |
| 最小値 | 乱数の下限値 | 0 |
| 最大値 | 乱数の上限値 | 1 |
| 整数 | TRUE=整数乱数 / FALSE=小数乱数 | FALSE |
基本例:=RANDARRAY(5, 3) で5行3列の小数乱数(0以上1未満)が生成されます。=RANDARRAY(10, 1, 1, 100, TRUE) は1~100の整数乱数を10個縦に並べます。テスト用の売上データ・スコア・番号などのサンプル生成に直結します。
注意:RANDARRAYはシートを再計算するたびに(セルの編集・F9キー・ファイルを開くたびに)新しい乱数を生成します。値を固定したい場合は、生成後に範囲をコピーして「値のみ貼り付け(Ctrl+Shift+V → 値)」で固定してください。
スピル(動的配列)の仕組みと注意点
SEQUENCE・RANDARRAYはどちらもスピル(Spill)関数です。数式を入力した起点セルから右・下方向に自動展開されます。スピル範囲はシステムが管理するため、展開先のセルへ直接入力はできません。
| 特徴 | 内容 |
|---|---|
| スピル範囲の選択 | 起点セルを選択すると青い枠でスピル範囲全体が表示される |
| スピル範囲参照 | 起点セルに#を付けて A1# と書くと「A1のスピル範囲全体」を参照できる |
| #SPILL!エラー | 展開先のセルに既存データがあるときに発生する。該当セルを空にすれば解消する |
| 非対応バージョン | Excel 2016・2019・旧Office 365では動作しない(#NAME?エラーになる) |
スピル参照(A1#)の使い方:=SEQUENCE(10) をA1に入力した後、別の数式から SUM(A1#) とすれば、スピル範囲(A1:A10)の合計を自動計算できます。スピル範囲が増減した場合も自動で追随するため、OFFSET関数の代替として利用できます。
PR
MOS Excel 365 対策テキスト&問題集(よくわかるマスター/富士通ラーニングメディア)
MOS試験の頻出範囲を体系的に演習できる公式教材シリーズ。関数の使い方を試験形式の問題で確認しながら定着させたい方に向いています。
SEQUENCE関数の実務活用パターン
パターン1:連番リストの自動生成
データ行数が変わるたびに連番を手動で修正する作業をSEQUENCEで自動化できます。
=SEQUENCE(COUNTA(B2:B100))
B列にデータが入力されている行数(COUNTA)と連動させることで、行を追加・削除するたびに連番が自動更新されます。手動でオートフィルし直す手間がゼロになります。
パターン2:日付カレンダーの自動生成
SEQUENCE×DATE関数で、指定月の日付カレンダーを1行で生成できます。
=DATE(2026, 7, SEQUENCE(31))
2026年7月の日付(2026/7/1~2026/7/31)が縦に展開されます。表示形式を「d(日)」や「ddd(曜日短縮)」にカスタマイズすることで、シフト表・月次カレンダーのテンプレートを素早く作れます。
=TEXT(DATE(2026, 7, SEQUENCE(31)), "m/d(aaa)")
上の数式ではTEXT関数と組み合わせて「7/1(水)」「7/2(木)」という形式の日付ラベルを縦31行に自動生成します。
パターン3:行番号・列番号の自動生成(2次元配列)
=SEQUENCE(5, 4) は5行4列の行列(1~20の連番)を生成します。この2次元配列をROW関数・COLUMN関数の代替として使うと、大きな集計テーブルの行・列インデックスを動的に管理できます。
=SEQUENCE(5, 4, 1, 1) ' 1~20を5行4列で展開
九九表やパラメータグリッドの自動生成にも応用できます。=SEQUENCE(9,1,1)*SEQUENCE(1,9,1) と縦ベクトル×横ベクトルで計算すると、スピルで9行9列の九九表が自動展開されます。
RANDARRAY関数の実務活用パターン
パターン4:テスト用サンプルデータの高速生成
100行のダミー売上データを手動で作る代わりに、RANDARRAYで瞬時に生成できます。
=RANDARRAY(100, 1, 10000, 500000, TRUE) ' 1万~50万の整数乱数を100個
生成したデータでピボットテーブルや関数のテストを行い、本番データに切り替える前の動作確認に使います。テスト完了後は「値のみ貼り付け」で乱数を固定し、再計算による変化を防ぎます。
パターン5:SORT×RANDARRAYでリストをシャッフル
参加者リストや問題リストをランダムに並べ替える「シャッフル」は、SORT×RANDARRAYで実現できます。
=SORT(A2:A21, RANDARRAY(20)) ' A列の20名リストをランダム順に並べ替え
SORT関数の第2引数(並べ替えキー)にRANDARRAYを渡すと、乱数の大小順に元のリストが並べ替わります。再計算のたびに順番が変わるため、固定するときは値のみ貼り付けで確定します。
パターン6:抽選ツール(重複なしランダム抽出)
100名の応募者から10名を重複なしで抽選する場合は、SORTBY×SEQUENCE×RANDARRAYを組み合わせます。
=INDEX(SORTBY(A2:A101, RANDARRAY(100)), SEQUENCE(10))
まずRANDARRAY(100)で100個の乱数を生成し、SORTBYでA列リストをその乱数順に並べ替えます。その先頭10件をINDEX×SEQUENCEで取得することで、重複のない10名の抽選結果が得られます。F9キーで何度でも再抽選でき、結果が確定したら値のみ貼り付けで固定します。
パターン7:座席表のランダム割り当て
研修・テスト会場の座席配置をランダムに生成するには、SEQUENCEで座席番号を生成しRANDARRAYでシャッフルします。
=SORTBY(SEQUENCE(30), RANDARRAY(30)) ' 1~30の座席番号をシャッフル
30席の座席番号1~30をランダム順に並べ替えます。参加者リストと縦に並べれば「1列目の参加者氏名→対応する座席番号」のペアが完成します。
SEQUENCE・RANDARRAYと他のスピル関数との組み合わせ
| 組み合わせパターン | 数式例 | 用途 |
|---|---|---|
| SEQUENCE × DATE | =DATE(2026,7,SEQUENCE(31)) | 指定月の日付リスト自動生成 |
| SEQUENCE × TEXT | =TEXT(DATE(2026,7,SEQUENCE(31)),”m/d(aaa)”) | 曜日付き日付ラベルの自動生成 |
| SEQUENCE × COUNTA | =SEQUENCE(COUNTA(B2:B100)) | データ行数と連動した動的連番 |
| RANDARRAY × SORT | =SORT(A2:A21,RANDARRAY(20)) | リストのランダム並べ替え(シャッフル) |
| RANDARRAY × SORTBY × INDEX × SEQUENCE | =INDEX(SORTBY(A2:A101,RANDARRAY(100)),SEQUENCE(10)) | 重複なし無作為抽出 |
| SEQUENCE × SEQUENCE(2次元) | =SEQUENCE(9,1,1)*SEQUENCE(1,9,1) | 九九表・パラメータグリッド自動生成 |
スピル参照(#演算子)を使えば、他のセルからSEQUENCE/RANDARRAYのスピル範囲全体を参照できます。=FILTER(C2:C51, B2:B51=A1#) のように、SEQUENCEで生成した値を条件側に使うことも可能です。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
| #SPILL! | スピル展開先のセルにデータが存在する | 展開先のセルを空にする。または起点セルを空きスペースに移動する |
| #NAME? | Excel 2016・2019等、SEQUENCE/RANDARRAYが非対応のバージョン | Microsoft 365またはExcel 2021以上にアップデートする |
| #VALUE! | 引数に数値以外の値が渡されている(例: 行数にテキスト) | 引数が正しく数値になっているか確認する |
| #NUM! | 行数・列数に0以下の値が渡されている | SEQUENCE/RANDARRAYの行数・列数は1以上を指定する |
| 乱数が毎回変わる | RANDARRAYはシート再計算のたびに更新される(仕様) | 値を固定する場合は「値のみ貼り付け(Ctrl+Shift+V→値)」で確定する |
#SPILL!エラーの診断手順:エラーが出たセルを選択すると、スピル範囲に青い点線の枠が表示されます。黄色いビックリマークアイコンをクリックすると「スピルの障害になっているセルを選択」というオプションが表示されるので、クリックすれば障害セルへ瞬時にジャンプできます。
PR
できるExcel関数 Copilot対応 Office 2024/2021/2019&Microsoft 365版(インプレス)
関数の基本から応用まで手順つきで解説する定番シリーズ。似た関数の使い分けに迷ったときの早見表としても使えます。
SEQUENCE関数:旧Excel互換の書き方との比較
SEQUENCE関数が使えない古いExcelでも、ROW関数やINDIRECT関数で似たことができます。バージョン混在環境での互換性を意識するときに参考にしてください。
| 目的 | SEQUENCE(Excel 2021以降) | 旧互換書き方 |
|---|---|---|
| 1~10の連番(縦) | =SEQUENCE(10) | =ROW(A1)(各行にコピー) |
| 特定の開始値からの連番 | =SEQUENCE(10,1,5) | =ROW(A1)+4(各行にコピー) |
| 降順連番 | =SEQUENCE(10,1,10,-1) | =11-ROW(A1)(各行にコピー) |
| 乱数(整数) | =RANDARRAY(10,1,1,100,TRUE) | =RANDBETWEEN(1,100)(各行にコピー) |
旧来の方法はセルごとに数式を入力・コピーする必要がありますが、SEQUENCE/RANDARRAYは起点セル1つで済みます。また、スピル範囲の行数は引数を変更するだけで変えられるため、後から行数を増やす際も数式の修正1箇所で完結します。
MOS Excel試験でのSEQUENCE・RANDARRAY出題ポイント
MOS Excel 365では、動的配列関数が「数式と関数の使用」スキル項目でカバーされており、SEQUENCE・RANDARRAYも出題範囲に含まれます。
- 引数の順序:SEQUENCE(行数・列数・開始値・増分)、RANDARRAY(行数・列数・最小値・最大値・整数フラグ)の順番を正確に覚える
- スピルの仕組み:1つのセルに入力した数式が複数セルへ自動展開されることを理解し、スピル範囲を削除・移動しないよう注意する
- #SPILL!エラーの原因と対処:展開先に既存データがある場合のエラー診断と解消手順を操作できるようにする
- スピル参照(#演算子):
A1#のように起点セルに「#」を付けてスピル範囲全体を参照する構文を理解する - 整数乱数の生成:RANDARRAYの第5引数(TRUE)で整数乱数を生成するパターンは頻出
- 値の固定:RANDARRAYの結果を「値のみ貼り付け」で固定する操作手順も確認しておく
MOS試験 SEQUENCE・RANDARRAY関連チェックリスト
| 確認ポイント | 操作内容 | 難易度 |
|---|---|---|
| SEQUENCE基本 | =SEQUENCE(行数) で縦に連番を生成し、スピル展開を確認する | ★☆☆ |
| SEQUENCE 2次元 | =SEQUENCE(行数, 列数, 開始値, 増分) で2次元配列を生成する | ★★☆ |
| RANDARRAY整数乱数 | =RANDARRAY(行数, 列数, 最小, 最大, TRUE) で整数乱数を生成する | ★★☆ |
| #SPILL!の解消 | スピル展開先のセルを空にしてエラーを解消する | ★★☆ |
| スピル参照 | A1#でスピル範囲全体を参照し、SUM等の関数に渡す | ★★☆ |
| 値のみ貼り付けで固定 | RANDARRAY結果をコピー→値のみ貼り付けして乱数を固定する | ★★★ |
| SORT×RANDARRAY | SORTの第2引数にRANDARRAYを渡してリストをシャッフルする | ★★★ |
まとめ:SEQUENCE・RANDARRAYでExcel作業の「繰り返し入力」を根絶する
本記事のポイントをまとめます。
- SEQUENCE関数:行数・列数・開始値・増分を指定した連番配列を1セルの数式で自動生成する。日付カレンダー・連番リスト・2次元グリッドに活用できる
- RANDARRAY関数:行数・列数・最小値・最大値・整数フラグを指定した乱数配列を生成する。テストデータ・シャッフル・抽選ツールに最適
- スピル(Spill):1つの数式が複数セルへ自動展開される動的配列機能。スピル参照(A1#)を使えば他の関数から展開範囲全体を参照できる
- #SPILL!エラー:展開先のセルを空にすれば解消する。黄色アイコンから「障害セルを選択」で原因セルへジャンプできる
- 乱数の固定:RANDARRAYは再計算のたびに更新されるため、結果を確定させるには「値のみ貼り付け」で静的な値に変換する
- SORT・FILTER・INDEX・SORTBYとの組み合わせ:SEQUENCEを行番号・RANDARRAY を並べ替えキーに使うことで、シャッフル・無作為抽出・動的カレンダーを実現できる
連番入力やサンプルデータ作成にかけていた時間を大幅に削減できるのがSEQUENCE・RANDARRAYの最大のメリットです。MOS Excel 365の試験範囲にも含まれているため、スピル関数全般の理解と合わせて習得しておきましょう。
