Excelで連番を振りたいとき、セルを選択してオートフィルでドラッグしていませんか。数件ならそれでも十分ですが、100件を超えるとなかなか大変ですよね。しかもデータの追加・削除のたびに振り直すのは手間がかかります。
そんなときに使いたいのがSEQUENCE関数です。たった1つの数式で連番を自動生成できます。日付や2次元配列にも対応しているので、知っておくと作業が一気にラクになりますよ。この記事では、ExcelのSEQUENCE関数の基本から実務で役立つ活用パターンまでわかりやすく解説します。
SEQUENCE関数とは?動的配列で連番を自動生成するExcelの関数
SEQUENCE(シーケンス)関数は、連続した数値の配列を自動生成するExcelの関数です。英語の「sequence」は「連続・順序」という意味があります。
たとえば「1から10までの連番」や「4月1日から30日分の日付」を、数式ひとつで作成できます。結果は複数のセルに自動展開されるため、セルをひとつずつ埋める必要はありません。
使える環境:Microsoft 365 / Excel 2021以降
SEQUENCE関数が使えるバージョンは以下のとおりです。
| バージョン | 対応状況 |
|---|---|
| Microsoft 365(Windows / Mac) | 対応 |
| Excel 2021 / 2024 | 対応 |
| Excel for the web | 対応 |
| Excel 2019以前 | 非対応(#NAME? エラー) |
お使いのExcelが2019以前の場合は、記事後半で紹介するROW関数での代替方法を参考にしてください。
スピル(自動展開)の仕組み
SEQUENCE関数は「動的配列関数」のひとつです。数式をひとつのセルに入力するだけで、結果が隣接するセルへ自動的にあふれ出ます。この動作を「スピル」と呼びます。
スピルで展開された範囲は薄い青枠で表示されます。元の数式を修正すると、展開範囲も自動で更新されるのが便利なポイントです。
SEQUENCE関数の基本構文と引数
4つの引数:行数・列数・開始値・増分
=SEQUENCE(行, [列], [開始], [増分])
引数は4つあり、必須は「行」だけです。残りの3つは省略できます。
| 引数 | 必須/任意 | デフォルト | 説明 |
|---|---|---|---|
| 行 | 必須 | — | 生成する行数 |
| 列 | 任意 | 1 | 生成する列数 |
| 開始 | 任意 | 1 | 連番の最初の値 |
| 増分 | 任意 | 1 | 値の増加量(負の値で降順) |
公式ヘルプでは第4引数を「目盛り」と表記していますが、実質的には「増分(ステップ)」の意味です。この記事では「増分」と呼びます。
引数を省略した場合の動作
引数を省略すると、すべてデフォルト値の1が使われます。
=SEQUENCE(5)
この数式は「5行1列、1から1ずつ増える連番」を生成します。結果は縦方向に 1, 2, 3, 4, 5 と展開されます。
ROW関数との違い・使い分け早見表
連番を振る方法として、ROW関数を使うケースも多いですよね。どちらを使うべきか、以下の比較表で整理しました。
| 比較項目 | SEQUENCE関数 | ROW関数 |
|---|---|---|
| 対応バージョン | M365 / Excel 2021以降 | 全バージョン |
| 入力方法 | 1セルに数式を入力 | 各セルにコピーが必要 |
| 2次元配列 | 対応(行×列を指定可) | 非対応(1列のみ) |
| 開始値・増分の指定 | 引数で自由に設定 | 計算式で調整が必要 |
| スピル | 自動展開 | なし |
ROW関数のメリットとデメリット
ROW関数の最大のメリットはバージョン互換性です。Excel 2010でも2016でも動きます。一方で、2次元の連番は作れません。横方向に連番を振りたい場合はCOLUMN関数が必要になります。
SEQUENCEが向いているケース・向いていないケース
SEQUENCEが向いているケース
- M365 / Excel 2021以降を使っている
- 日付や時刻の連番を一括生成したい
- 行×列の2次元配列を作りたい
ROW関数で十分なケース
- 旧バージョンとの互換性が必要
- シンプルな縦1列の連番だけでよい
基本の使い方:縦方向・横方向の連番
縦に連番を並べる(基本形)
もっともシンプルな使い方です。A1セルに以下の数式を入力すると、A1:A10に1〜10の連番が生成されます。
=SEQUENCE(10)
開始値を変えたい場合は第3引数を指定します。100から始まる10個の連番は次のとおりです。
=SEQUENCE(10,1,100,1)
結果は 100, 101, 102, … , 109 と展開されます。
横方向に連番を並べる
横方向に並べたい場合は、行数を1、列数を必要な数に設定します。
=SEQUENCE(1,12)
1行12列の連番(1〜12)が横方向に展開されます。月番号のヘッダーなどに便利ですよ。
TRANSPOSE関数で縦横を入れ替える方法もあります。
=TRANSPOSE(SEQUENCE(12))
結果は同じく横方向の1〜12です。お好みの方法で使い分けてください。
実務活用例1:日付・時刻の連番を自動生成する
月間カレンダーを1関数で作る
SEQUENCE関数は数値だけでなく、日付の連番も生成できます。Excelの日付はシリアル値(数値)なので、増分1で1日ずつ進みます。
=SEQUENCE(30,1,DATE(2025,4,1),1)
この数式で2025年4月1日から30日分の日付が縦に展開されます。ただし、結果はシリアル値(数値)で表示されます。セルの表示形式を「日付」に変更してください。
手順は次のとおりです。
- スピル範囲を選択する
- 右クリック →「セルの書式設定」を開く
- 「日付」カテゴリを選び、好みの形式を指定する
1時間おきの時刻リストを作る
時刻の連番も同じ考え方です。TIME関数で開始時刻と増分を指定します。
=SEQUENCE(9,1,TIME(9,0,0),TIME(1,0,0))
9時から17時まで、1時間おきの時刻リストが生成されます。こちらもセルの表示形式を「時刻」に変更してくださいね。会議室の予約表やタイムスケジュール作成に使えるテクニックです。
実務活用例2:2次元配列で表のひな形を作る
月×週のマトリクス表を自動生成
SEQUENCE関数は行数と列数の両方を指定すると、2次元の配列を生成します。
=SEQUENCE(3,4)
この数式の結果は以下のとおりです。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 1 | 2 | 3 | 4 |
| 2 | 5 | 6 | 7 | 8 |
| 3 | 9 | 10 | 11 | 12 |
値は行優先で埋まります。左から右へ進み、右端に達したら次の行の左端に移ります。本を読む順番と同じです。
TRANSPOSE関数と組み合わせて行列を入れ替える
2次元配列の縦横を入れ替えたい場合は、TRANSPOSE関数で囲みます。
=TRANSPOSE(SEQUENCE(3,4))
元の3行4列が4行3列に変換されます。行と列どちらを基準にするかで使い分けてみてください。
SEQUENCE関数はFILTER関数やEXPAND関数と同じ「動的配列関数」のファミリーです。組み合わせることで、さらに柔軟なデータ処理ができますよ。
よくあるエラーとトラブルシューティング
#SPILL! エラーの原因と対処
SEQUENCE関数で最も多いエラーが #SPILL! です。スピル先のセルにデータや結合セルが存在すると発生します。
対処法
- エラーセルをクリックする
- 表示される青い点線の範囲を確認する
- 範囲内のデータを移動または削除する
- 結合セルがあれば結合を解除する
スピル先を空にすれば、エラーは解消されます。
古いExcelで使えないときの代替方法(ROW関数)
Excel 2019以前では #NAME? エラーが表示されます。この場合はROW関数で代替しましょう。
=ROW()-ROW($A$1)+1
この数式を下方向にコピーすると、1から始まる連番になります。ただし2次元配列や日付の連番には対応できません。あくまで縦1列の連番の代替手段として使ってください。
#VALUE! エラーが出る場合は、引数に文字列など無効な値が入っていないか確認してみてくださいね。
まとめ
この記事では、ExcelのSEQUENCE関数の使い方を解説しました。
| ポイント | 内容 |
|---|---|
| 機能 | 連続した数値の配列を自動生成 |
| 構文 | =SEQUENCE(行, [列], [開始], [増分]) |
| 対応バージョン | M365 / Excel 2021以降 |
| 日付・時刻 | シリアル値で生成、表示形式の変更が必要 |
| 2次元配列 | 行数と列数を両方指定(行優先で展開) |
| ROW関数との違い | バージョン互換性 vs 多機能さ |
オートフィルや手入力で連番を作っていた方は、SEQUENCE関数に切り替えるだけで作業時間を大幅に短縮できます。日付やマトリクス表も1つの数式で完結するので、ぜひ日常業務に取り入れてみてください。
