エクセル連番を自動で振る方法【SEQUENCE関数完全ガイド】ROW関数との違いも解説

SEQUENCE関数を使えば、連番を一発で入力できます。ROW関数より圧倒的にラクですよ!
- SEQUENCE関数の構文と4つの引数の意味
- ROW関数との違いと使い分けの基準
- 縦・横・格子状の連番を一気に作る方法
- #SPILL!エラーの原因と解決法
- FILTER・SORTと組み合わせて「崩れない連番」を作るテクニック
- 日付・曜日の連番を自動作成する応用例
SEQUENCE関数とは?ROW関数との違いを一発で理解
SEQUENCE関数は、指定した行数・列数の範囲に連続した数値を自動生成する関数です。Excel 365 および Excel 2021 以降で使えます。
従来、Excelで連番を振るには「ROW関数をコピーする」「オートフィルで引っ張る」といった方法が主流でした。SEQUENCE関数なら、たった1つのセルに数式を入れるだけで、複数セルに自動的に連番が展開されます。この自動展開の仕組みを「スピル」と呼びます。
SEQUENCE関数の構文(4つの引数を解説)

=SEQUENCE(行数, [列数], [開始値], [増分])
- 行数(必須):生成する行の数。例:10を指定すると10行分の連番が作られる
- 列数(省略可、既定値1):生成する列の数。省略すると1列のみ
- 開始値(省略可、既定値1):連番の最初の値。0や100など自由に設定可能
- 増分(省略可、既定値1):各値の増加量。2なら2ずつ増える、-1なら逆順
たとえば =SEQUENCE(5) と入力すると、1〜5の連番が縦方向に自動展開されます。引数を省略した場合は「列数=1、開始値=1、増分=1」がデフォルトです。
ROW関数との比較表:どちらを使うべき?

| 比較項目 | ROW関数 | SEQUENCE関数 |
|---|---|---|
| 入力するセル数 | 全行にコピーが必要 | 1セルだけでOK |
| 行の追加・削除時 | 自動で番号が更新 | 行数の引数を変更する必要あり(※ROWS関数で自動化可能) |
| 横方向・格子状の連番 | 非対応(COLUMN関数を併用) | 引数で自在に指定 |
| 開始値・増分の変更 | 計算式で調整が必要 | 引数で直接指定 |
| FILTER/SORTとの連携 | 結果行数に合わせるのが困難 | ROWS関数と組み合わせて自動対応 |
| 対応バージョン | Excel 2007以降(全バージョン) | Excel 365 / 2021以降 |
結論:Excel 365 または 2021 以降を使っているなら、SEQUENCE関数がおすすめです。特に大量の連番を振る場面や、FILTER・SORTなど他の動的配列関数と組み合わせる場面では圧倒的に効率的です。古いバージョンとの互換性が必要な場合は ROW 関数を使いましょう。
使えるバージョンと確認方法
SEQUENCE関数が使えるのは以下の環境です。
- Microsoft 365(旧 Office 365)サブスクリプション版
- Excel 2021(買い切り版)
- Excel 2024(買い切り版)
- Excel for the web(無料版)
- Google スプレッドシート(同名の関数あり)
バージョンの確認方法:Excelを開いて「ファイル」→「アカウント」→「バージョン情報」で確認できます。Excel 2019以前の場合は =SEQUENCE(5) と入力すると #NAME? エラーが表示されます。
基本の使い方:縦・横・格子状の連番を作る

縦方向の連番(最もよく使う)
最もシンプルな使い方です。A1セルに以下を入力すると、1〜10の連番が A1:A10 に自動展開されます。
=SEQUENCE(10)
これだけで10行分の連番が完成します。オートフィルのようにドラッグする必要はありません。
横方向の連番
2つ目の引数「列数」を使います。行数を1、列数を指定すると横方向に連番が展開されます。
=SEQUENCE(1, 12)
→ 1, 2, 3, ... 12 が横方向に展開(月別のヘッダーなどに便利)
格子状の連番(行×列)
行数と列数の両方を指定すると、格子状に連番が展開されます。
=SEQUENCE(5, 3)
→ 5行3列の格子に 1〜15 が順番に入る
結果イメージ:
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
開始値と増分を変える
3つ目・4つ目の引数で開始値と増分を自由にコントロールできます。
■ 100から始めて1ずつ増やす
=SEQUENCE(5, 1, 100, 1) → 100, 101, 102, 103, 104
■ 0から始めて10ずつ増やす
=SEQUENCE(6, 1, 0, 10) → 0, 10, 20, 30, 40, 50
■ 10から始めて逆順(-1ずつ)
=SEQUENCE(10, 1, 10, -1) → 10, 9, 8, ... 1
■ 偶数だけの連番
=SEQUENCE(5, 1, 2, 2) → 2, 4, 6, 8, 10
増分にマイナスの値を指定すればカウントダウン、0.5などの小数を指定すれば小数刻みの連番も作れます。
スピルとは?#SPILL!エラーの原因と解決法
スピルの仕組みを理解する

「スピル(Spill)」とは、1つのセルに入力した数式の結果が、隣接する複数のセルに自動的にあふれ出す仕組みです。SEQUENCE関数・FILTER関数・SORT関数・UNIQUE関数などの「動的配列関数」で使われます。
スピルした範囲は、セルを選択すると青い枠線で囲まれて表示されます。数式が入っているのは最初のセル(左上のセル)だけで、残りのセルは自動的に結果が表示されている状態です。
#SPILL!エラーが出たときの対処法
SEQUENCE関数を使っていて最もよく遭遇するエラーが #SPILL! です。これはスピル先のセルに何かデータが入っていて、結果を展開できないときに発生します。
- エラーが表示されたセルをクリック → スピル先の範囲が点線で表示される
- 点線の範囲内にデータが入っているセルを探す
- そのセルの内容を削除するか、別の場所に移動する
- エラーが消えて、連番が正しく表示されるようになります
よくある原因としては、スピル先のセルにスペース(空白文字)が入っているケースがあります。見た目は空に見えても、Deleteキーでセルをクリアすると解決することがあります。
スピル範囲を参照する「#」演算子

スピルした結果の全範囲を他の数式から参照するには、「#」演算子を使います。
■ A1セルに =SEQUENCE(10) と入力した場合
=SUM(A1#) → スピル結果(A1:A10)の合計を計算
=COUNTA(A1#) → スピル結果の件数を取得(=10)
=MAX(A1#) → スピル結果の最大値を取得(=10)
「A1#」と書くだけで、スピル先の行数が変わっても自動的に参照範囲が追従します。SEQUENCE関数と他の関数を組み合わせる際にとても便利です。
実践:FILTER・SORTと組み合わせて「崩れない連番」を作る
SEQUENCE関数の真価が発揮されるのは、FILTER関数やSORT関数と組み合わせたときです。フィルタリングやソートの結果に合わせて、自動的に連番を振り直すことができます。
FILTER結果に連番を振る

たとえばB列に商品名、C列に金額が入った表で「金額が1000円以上」のデータだけ抽出し、連番を付けたい場合は以下のように書きます。
■ E1セル(連番列)に入力:
=SEQUENCE(ROWS(FILTER(C2:C100, C2:C100>=1000)))
■ F1セル(商品名列)に入力:
=FILTER(B2:B100, C2:C100>=1000)
■ G1セル(金額列)に入力:
=FILTER(C2:C100, C2:C100>=1000)
ポイントは ROWS(FILTER(...)) の部分です。FILTER関数の結果の行数を ROWS 関数で数え、その値を SEQUENCE の行数に渡しています。フィルタ条件に該当するデータが増えても減っても、連番が自動的に調整されます。
▶ FILTER関数の詳しい使い方は「FILTER関数の使い方完全ガイド」で解説しています。
SORT結果に連番を振る
SORT関数で並べ替えた結果にも同じテクニックが使えます。
■ 金額の大きい順にソートして連番を振る
E1セル:=SEQUENCE(ROWS(B2:B100))
F1セル:=SORT(B2:C100, 2, -1)
→ E列に1, 2, 3...の連番、F:G列にソート結果が表示される
▶ SORT関数・UNIQUE関数については「SORT/UNIQUE関数の使い方ガイド」で詳しく解説しています。
ROWS関数+SEQUENCEで動的に行数を取得
データ件数が変動する表に連番を振るときは、ROWS関数やCOUNTA関数で行数を動的に計算してSEQUENCEに渡すのがベストプラクティスです。
■ B列にデータが入っている行数をカウントして連番を振る
=SEQUENCE(COUNTA(B2:B1000))
■ テーブル(構造化参照)を使う場合
=SEQUENCE(ROWS(テーブル1[商品名]))
■ FILTERの結果件数に合わせる場合
=SEQUENCE(ROWS(FILTER(B2:B100, C2:C100="東京")))
こうすることで、データの追加・削除に連動して連番が自動更新されます。ROW関数の「行削除にも自動対応」というメリットを、SEQUENCE関数でも実現できるわけです。
日付の連番・曜日の連番を作る

SEQUENCE関数は数値だけでなく、日付の連番にも活用できます。Excelでは日付はシリアル値(数値)で管理されているため、SEQUENCE関数で日付の連番を生成し、セルの書式設定を「日付」にすれば自動的にカレンダーが作れます。
連続した日付を自動作成する
■ 2026年4月1日から30日分の日付を作る
=SEQUENCE(30, 1, DATE(2026,4,1), 1)
→ 2026/4/1, 2026/4/2, 2026/4/3 ... 2026/4/30
■ 1週間おきの日付を12個作る
=SEQUENCE(12, 1, DATE(2026,4,1), 7)
→ 2026/4/1, 2026/4/8, 2026/4/15 ...
※セルの表示形式を「日付」に設定してください。設定前はシリアル値(46113 など)が表示されます。
特定の曜日だけの連番(営業日リスト)
SEQUENCE関数とFILTER関数を組み合わせれば、平日(月〜金)だけの日付リストも作れます。
■ 2026年4月の平日だけを抽出する
=FILTER(
SEQUENCE(30, 1, DATE(2026,4,1), 1),
WEEKDAY(SEQUENCE(30, 1, DATE(2026,4,1), 1), 2) <= 5
)
※ WEEKDAY関数の第2引数を「2」にすると、月曜=1〜日曜=7 になります。
「<=5」で月〜金だけに絞り込めます。
▶ Excelでのカレンダー作成については「Excelカレンダー自動作成」も参考にしてください。
月初日・月末日の連番
■ 2026年1月〜12月の月初日を一覧で生成
=DATE(2026, SEQUENCE(12), 1)
→ 2026/1/1, 2026/2/1, 2026/3/1 ... 2026/12/1
■ 2026年1月〜12月の月末日を一覧で生成
=EOMONTH(DATE(2026,1,1), SEQUENCE(12,1,0,1))
→ 2026/1/31, 2026/2/28, 2026/3/31 ... 2026/12/31
文字列+連番を作る(製品番号・顧客IDなど)

SEQUENCE関数を文字列結合演算子「&」やTEXT関数と組み合わせれば、「PROD-001」「CUST-0001」のようなID連番も簡単に作れます。
■ 「PROD-001」〜「PROD-100」を生成
="PROD-"&TEXT(SEQUENCE(100), "000")
→ PROD-001, PROD-002, ... PROD-100
■ 「A-1」〜「A-50」を生成(ゼロ埋めなし)
="A-"&SEQUENCE(50)
→ A-1, A-2, ... A-50
■ 年+連番で「2026-0001」形式を生成
=YEAR(TODAY())&"-"&TEXT(SEQUENCE(100), "0000")
→ 2026-0001, 2026-0002, ... 2026-0100
TEXT関数の書式で桁数を指定すれば、ゼロ埋め(ゼロパディング)も簡単です。管理番号の発番作業が一瞬で終わります。
よくある質問(FAQ)
いいえ、使えません。SEQUENCE関数はMicrosoft 365(旧Office 365)またはExcel 2021以降で利用可能です。Excel 2019以前のバージョンでは #NAME? エラーが表示されます。連番を振る場合は ROW 関数やオートフィルで代替してください。
SEQUENCE関数自体は連番を飛ばすことはありません。途切れて見える場合は、(1) スピル先のセルにデータがあり#SPILL!エラーが出ている、(2) セルの表示形式が異なる、(3) 行が非表示になっている、のいずれかが原因です。まずは#SPILL!エラーの有無を確認してください。
どちらもスピル対応の関数ですが、役割が異なります。SEQUENCEは連続した数値(1,2,3...)を生成し、RANDARRAYはランダムな数値を生成します。テストデータの作成にはRANDARRAY、連番にはSEQUENCEと使い分けましょう。
はい、可能です。行数の引数に固定値ではなく COUNTA(B:B)-1 や ROWS(テーブル1[列名]) などの動的な数式を入れれば、データの増減に合わせて連番が自動更新されます。詳しくは本記事の「ROWS関数+SEQUENCEで動的に行数を取得」セクションを参照してください。
はい、GoogleスプレッドシートにもSEQUENCE関数があり、構文もExcelとほぼ同じです。スプレッドシートはExcelより先にスピル機能を実装しており、全バージョンで利用可能です。ただし、一部の引数の挙動に微細な差異がある場合があります。
まとめ:SEQUENCE関数を使うべき場面
- 大量の連番を一気に振りたい → =SEQUENCE(1000) で1000行の連番が一瞬
- FILTER/SORT結果に連番を付けたい → ROWS関数と組み合わせて自動追従
- 日付やID番号の連番を作りたい → DATE関数やTEXT関数との組み合わせで柔軟に対応
- 開始値や増分を自在にコントロールしたい → 引数を変えるだけで即座に変更
SEQUENCE関数を覚えると、これまでオートフィルやROW関数で手間をかけていた連番作成が劇的にラクになります。特にFILTER関数やSORT関数と組み合わせたときの威力は絶大です。Excel 365 / 2021以降をお使いの方は、ぜひ今日から使ってみてください。
▶ XLOOKUP関数の使い方 ― VLOOKUPの後継関数を完全解説
▶ FILTER関数の使い方 ― 複数条件・SORT連携・VBA代替まで完全ガイド
▶ SORT/UNIQUE関数の使い方 ― 重複削除・並べ替えを関数だけで実現
▶ Excelおすすめ関数一覧 ― 業務効率が上がる必須関数を厳選紹介
Excelスキルを活かしてSNS運用も自動化しませんか?
Excelの関数をマスターしたあなたなら、Googleスプレッドシート×GAS(Google Apps Script)を使ったSNS自動化ツールもすぐに使いこなせます。X(Twitter)やThreadsの予約投稿を、月額0円で自動化する方法をまとめています。
→ SNS予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較
VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
LINEでExcelを気軽に学べる
