SEQUENCE関数は、指定した行数・列数のぶんの連番を、1つの数式でまとめて作る関数です。=SEQUENCE(10) と入力するだけで、下方向へ1〜10が一気に広がります(スピル)。連番だけでなく、日付の並び・等間隔の数値・行列の生成にも使えます。Excel 2021 以降と Microsoft 365 が対象で、2019以前では使えません。
この記事でわかること
- SEQUENCE関数の4つの引数と、スピルで広がる仕組み
- 行列に並べる・日付を1か月分作る・飛び番号や逆順にする書き方
- データの件数に合わせて連番の行数を自動で変える方法
- FILTER・SORTBY・RANDARRAYとの組み合わせ
#SPILL!・#NAME?・テーブル内で使えないときの対処
SEQUENCE関数の構文と引数
構文
=SEQUENCE(行, [列], [開始], [目盛り])
| 引数 | 指定するもの | 省略時 |
|---|---|---|
| 行 | 縦に何個並べるか | 省略できない |
| 列 | 横に何個並べるか | 1(縦1列) |
| 開始 | 最初の数 | 1 |
| 目盛り | いくつずつ増やすか | 1 |
対応バージョン
SEQUENCE関数は Excel 2021 以降と Microsoft 365 で使えます。Excel 2019・2016 で開くと #NAME? になります。FILTER関数・UNIQUE関数・SORT関数と同じ世代の関数です。
配布するブックで使う場合は、相手のバージョンを確認してください。古い環境で開かれる可能性があるなら、後述のROW関数やオートフィルで組むほうが安全です。

基本の使い方
縦に1〜10を並べる
=SEQUENCE(10)
数式を入れるのは左上の1セルだけです。結果は下方向へ10行分、自動的に広がります。この広がりをスピルと呼びます。
下の行に同じ式をコピーする必要はありません。むしろコピーすると、スピルの邪魔になって #SPILL! の原因になります。
横に並べる・行列にする
| 数式 | 結果 |
|---|---|
=SEQUENCE(10) | 縦に1〜10 |
=SEQUENCE(1,10) | 横に1〜10 |
=SEQUENCE(3,4) | 3行4列に1〜12(左から右へ、次の行へ折り返す) |
=SEQUENCE(5,1,10,10) | 10・20・30・40・50 |
=SEQUENCE(10,1,10,-1) | 10から1へ逆順 |
横に並べたいだけのときも、第1引数の「行」は省略できません。=SEQUENCE(1,10) のように 1 を明示します。
スピルした範囲を後から参照する
先頭セルに # を付けると、スピルした範囲全体を指せます。
=SUM(A2#)
行数を変えても参照側を直す必要がありません。スピル範囲は「増減する1つのかたまり」として扱えるのが動的配列の利点です。

実務でよく使う4パターン
① 日付を1か月分つくる
日付はシリアル値(連番の数値)なので、SEQUENCEでそのまま作れます。2026年8月の1日から31日までを縦に並べる式です。
=SEQUENCE(31, 1, DATE(2026,8,1), 1)
⚠️ 結果は5桁の数字で表示されます。エラーではなく、表示形式が「標準」のままなだけです。スピル範囲を選んで、表示形式を「短い日付形式」に変えてください。
開始日をセルから受け取る形にすれば、月を切り替えるだけで日付の並びが差し替わります。
=SEQUENCE(31, 1, $B$1, 1)
② 月初日を12か月分つくる
1か月ずつ進めるのは、目盛りではできません(月の日数が一定でないため)。EDATE関数と組み合わせます。
=EDATE(DATE(2026,1,1), SEQUENCE(12,1,0))
SEQUENCEが 0,1,2,…,11 を渡し、EDATEがそれぞれ0か月後・1か月後…として返します。動的配列に対応した環境では、引数に配列を渡すと結果もまとめて返ります。
③ 等間隔の目盛りをつくる
グラフの軸ラベルや、区分表の下限値を作る場面です。
| 用途 | 数式 |
|---|---|
| 0・5・10・…・100 | =SEQUENCE(21,1,0,5) |
| 1時間刻みの時刻(0:00〜23:00) | =SEQUENCE(24,1,0,TIME(1,0,0)) |
| 通し番号の付いたラベル | ="No."&TEXT(SEQUENCE(20),"000") |
3つ目は No.001 から No.020 までを一気に作ります。TEXT関数の書式を変えれば、桁数も自由に決められます。
④ データの件数に合わせて行数を変える
行数を数字で直書きすると、データが増えたときに直す手間が残ります。COUNTA関数で数えさせると、入力した件数のぶんだけ連番が伸びます。
=SEQUENCE(COUNTA($B$2:$B$1000))
B列に名前が入っている行数だけ、1からの連番が出ます。空欄行が途中にある表では、COUNTAが実データの数を数えるため、行位置ではなく件数で採番される点に注意してください。
他の動的配列関数との組み合わせ
抽出した結果に連番を振る
FILTER関数で抜き出した表の左に、1からの番号を付けます。
=SEQUENCE(ROWS(FILTER($A$2:$C$100, $C$2:$C$100="大阪")))
ROWS関数が抽出結果の行数を数え、その数だけ連番が出ます。抽出条件を変えれば、番号の数も自動で追従します。
ランダムに並べ替える
SORTBY関数とRANDARRAY関数の組み合わせで、1〜30をランダムな順に並べられます。
=SORTBY(SEQUENCE(30), RANDARRAY(30))
席順や当番の割り当てなど、抽選の場面で使えます。RANDARRAY関数も Excel 2021 以降です。再計算のたびに並びが変わるため、確定させたい場合は結果をコピーして「値」で貼り付けます。
連番で位置を指定して取り出す
INDEX関数の行番号にSEQUENCEを渡すと、指定した位置の値をまとめて取り出せます。
=INDEX($B$2:$B$100, SEQUENCE(10,1,1,3))
1行目・4行目・7行目…と、3行おきに10件を抜き出します。等間隔の間引きに使える形です。

うまくいかないときの原因と直し方
| 症状 | 主な原因 | 直し方 |
|---|---|---|
#NAME? | Excel 2019以前で開いた | ROW関数やオートフィルで組み直す |
#SPILL! | 広がる先にデータや結合セルがある | スピル先を空ける。空白に見えてもスペースがないか確認 |
#SPILL!(テーブル内) | テーブルの中では動的配列が使えない | 表の外に数式を置く。またはテーブルを範囲に戻す |
| 5桁の数字が並ぶ | 日付を作ったが表示形式が「標準」 | スピル範囲を選び「短い日付形式」にする |
| 一部のセルだけ消せない | スピル範囲は1つのかたまり | 左上のセルの数式を直す(部分編集はできない) |
| 行を挿入しても番号が入らない | 連番の行数は数式が決めている | 行数の指定を変えるか、COUNTAで可変にする |
| 数式をコピーしたら崩れた | スピルするのでコピー不要 | 余分な式を削除し、左上の1つだけ残す |
#SPILL! は置き場所の問題
#SPILL! は数式の書き間違いではなく、結果を広げるスペースが確保できていないという通知です。IFERROR関数で囲っても、求めていた連番は出てきません。
スピル先に何もないように見える場合は、スペースだけが入ったセルや、結合セルが残っていないかを確認してください。

似た方法との使い分け
連番を作る手段は複数あります。目的で選び分けます。
| 方法 | 対応バージョン | 向いている場面 |
|---|---|---|
| SEQUENCE | 2021〜 | 必要な数を一度に出したい。行数を数式で決めたい |
| ROW関数 | 2016〜 | 各行にセルごとの番号を持たせたい。並べ替えても式が残る |
| オートフィル | 全バージョン | その場かぎりの固定値でよい |
| テーブル+数式 | 2016〜 | 行を追加したら自動で式が入ってほしい |
SEQUENCEを選ぶ基準
分かれ目は、連番を「1つのかたまり」として扱いたいか、「各行の値」として持ちたいかです。
- SEQUENCEが向く:一覧やカレンダーの土台を作る、抽出結果に番号を振る、目盛りや区分表を生成する。1つの式で完結し、行数の変更も1か所で済みます
- ROW関数が向く:入力用の表で1行ずつ番号を持たせる、行を削除したら詰め直したい、古いバージョンにも渡す
同じ「連番」でも、前者は生成、後者は採番です。表そのものを作るならSEQUENCE、既にある表に番号を付けるならROW関数、と分けて考えると迷いません。
よくある質問
Q1:SEQUENCEで作った連番を、値として固定できますか?
できます。スピル範囲を選択してコピーし、貼り付けのオプションで「値」を選びます。貼り付けた後は自動更新されなくなるため、記録用のスナップショットという扱いになります。
Q2:途中の1つだけを別の値に書き換えられますか?
できません。スピルした範囲は1つのかたまりで、左上以外のセルを編集しようとすると「配列の一部を変更することはできません」という警告が出ます。個別に触りたいなら、値として貼り付けてから編集してください。
Q3:横方向に日付を並べたいのですが。
第1引数を 1、第2引数に日数を指定します。=SEQUENCE(1, 31, DATE(2026,8,1), 1) で、右方向へ8月1日から31日までが並びます。表示形式を日付に変えるのを忘れないでください。
Q4:SEQUENCEの結果をプルダウンの項目にできますか?
できます。「データの入力規則」の「元の値」に、スピル範囲を =$H$2# の形で指定します。連番の行数が変われば、候補も自動で追従します。
Q5:飛び飛びの連番(1,3,5…)を作れますか?
第4引数の「目盛り」で指定します。=SEQUENCE(10,1,1,2) で 1・3・5・…・19 になります。減らしたい場合は目盛りに負の数を指定してください。小数も使えるため、0.5 刻みのような並びも作れます。
まとめ
- 引数は行・列・開始・目盛りの4つ。行以外は省略できる
- 数式は左上の1セルだけ。結果はスピルして広がる
- 日付を作ったら表示形式を日付に変える(5桁の数字は書式の設定漏れ)
- 行数を COUNTA や ROWS で渡すと、件数に合わせて伸縮する
- ⛔ Excel 2021 以降。2019以前は
#NAME?。テーブルの中では使えない
※関数の対応バージョンはExcelの一般提供時点の情報にもとづいています。お使いの環境や更新プログラムの適用状況により、利用できる関数や表示が異なる場合があります。

