「1, 2, 3…と連番を手入力するのが面倒」「日付の一覧をサッと作りたい」。スプレッドシートで表を作っていると、こんな場面は多いですよね。
オートフィルで引っ張る方法もありますが、行の追加・削除のたびにズレてしまいます。数が多いと確認も大変です。
そんなときに便利なのが SEQUENCE関数 です。行数と開始値を指定するだけで、連番や日付の一覧を自動生成してくれます。
この記事では、SEQUENCE関数の基本から、日付・時刻連番の作り方、FILTER・SORTとの組み合わせまで実例つきで紹介します。
SEQUENCE関数とは?
SEQUENCE関数は、指定した行数・列数に応じて 連続した数値の配列を自動生成する 関数です。
読み方は「シーケンス関数」で、英語の「sequence(連続・順序)」が語源です。
たとえば =SEQUENCE(5) と入力すれば、1〜5の連番が縦方向に一括で出力されます。
先頭セルに数式を入力するだけで、結果が自動で展開されます。ARRAYFORMULA関数を使う必要はありません。
NOTE
SEQUENCE関数はGoogleスプレッドシートと Excel(Microsoft 365 / Excel 2021 以降)で使えます。ExcelのSEQUENCE関数も構文は同じです。
SEQUENCE関数の書き方(構文と引数)
構文
=SEQUENCE(行数, [列数], [開始値], [増分量])
引数の意味と省略ルール
| 引数 | 必須/任意 | 説明 | デフォルト値 |
|---|---|---|---|
| 行数 | 必須 | 生成する行数(例: 5) | — |
| 列数 | 任意 | 生成する列数(例: 3) | 1 |
| 開始値 | 任意 | 最初の値(例: 0 や 100) | 1 |
| 増分量 | 任意 | 値の増え幅(例: 10) | 1 |
TIP
必須は「行数」だけです。
=SEQUENCE(5)なら、1列・開始値1・増分1で「1, 2, 3, 4, 5」が縦に並びます。
SEQUENCE関数の基本的な使い方
縦方向の連番を作る
もっともシンプルな使い方です。空いているセル(たとえばA2)に次の数式を入力します。
=SEQUENCE(5)
結果はこうなります。
| A列 |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
行数に 5 を指定しただけで、1〜5の連番が自動で展開されました。
横方向の連番を作る
列数を指定して行数を 1 にすると、横方向に展開されます。
=SEQUENCE(1,5)
| A列 | B列 | C列 | D列 | E列 |
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 |
月ごとのヘッダーや曜日ラベルを並べたいときに便利です。
2次元配列の連番を作る
行数と列数の両方を指定すると、2次元の配列が生成されます。
=SEQUENCE(3,4)
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
左から右、上から下へと行優先で番号が埋まります。3行×4列で合計12個の連番ですね。
実践的な使い方・応用例
パターン1:日付の連番を自動生成する
SEQUENCE関数は日付の連番にも使えます。開始値にDATE関数を指定しましょう。
=SEQUENCE(30,1,DATE(2025,4,1),1)
この数式で、2025年4月1日から30日分の連続した日付が生成されます。
ただし、結果はシリアル値(数値)で表示されます。セルを選択して「表示形式」→「日付」に変更してください。
TIP
日付は
"2025/04/01"のように引用符つきの文字列でも指定できます。=SEQUENCE(5,1,"2025/04/01")のように書けばOKです。引用符を忘れると2025/04/01の/が除算演算子として扱われ、数値として計算されてしまうので注意してください。
月初日の一覧を作りたい場合は、ARRAYFORMULA関数と組み合わせます。
=ARRAYFORMULA(DATE(2025, SEQUENCE(12), 1))
この数式で2025年1〜12月の月初日が一覧で出力されます。
パターン2:時刻連番で予定表を作る
タイムスケジュールを作るときに便利な使い方です。
=SEQUENCE(16,1,TIME(8,0,0),TIME(1,0,0))
8:00から1時間刻みで、16個の時刻が生成されます。8:00〜23:00のタイムテーブルが一発で完成です。
日付と同じく、結果はシリアル値になります。「表示形式」→「時刻」に変更してください。
パターン3:降順・ステップ付き連番
増分量に負の値を指定すると、降順の連番を作れます。
=SEQUENCE(5,1,10,-1)
| A列 |
|---|
| 10 |
| 9 |
| 8 |
| 7 |
| 6 |
カウントダウンやランキング番号に使えます。
増分量を変えれば、飛び飛びの数値も簡単です。
=SEQUENCE(5,1,0,10)
結果は「0, 10, 20, 30, 40」です。10刻みの連番が生成されます。
パターン4:FILTER・SORTとの組み合わせ
SEQUENCE関数は他の配列関数と組み合わせると、さらに活用の幅が広がります。
SEQUENCE + FILTERで偶数だけを抽出する例です。
まず、SEQUENCE関数で1〜20の連番を作ります。そこからFILTER関数で偶数だけを抽出します。
=FILTER(SEQUENCE(20), MOD(SEQUENCE(20),2)=0)
結果は「2, 4, 6, 8, 10, 12, 14, 16, 18, 20」です。
SEQUENCE + SORTでランダム順のリストを作る例です。
SORT関数とRANDARRAY関数を組み合わせて、連番をシャッフルできます。
=SORT(SEQUENCE(10), RANDARRAY(10), TRUE)
抽選やランダム出題など、順序をランダムにしたい場面で使えます。
ROW関数との違い・使い分け
連番を作る方法としては、ROW関数もよく使われます。どう使い分ければよいでしょうか。
| 比較項目 | SEQUENCE関数 | ROW関数 |
|---|---|---|
| 仕組み | 指定した件数の配列を一括生成 | セルの行番号を取得 |
| 行の追従 | しない(固定件数) | する(行の挿入・削除に自動対応) |
| ARRAYFORMULA | 不要(自動で展開) | 複数行に展開するには必要 |
| 2次元配列 | 作れる(行×列を指定) | 作れない |
| 日付・時刻 | 開始値を指定して生成できる | 直接は生成できない |
使い分けのポイントはこうです。
- 行の増減に追従させたい → ROW関数が向いています。データ行に1対1で連番を振るケースです
- 決まった件数を一括で生成したい → SEQUENCE関数が向いています。日付一覧やタイムテーブルなど、固定の連番が欲しいケースです
迷ったら、「データの行数に依存するか」で判断してみてください。依存するならROW関数、依存しないならSEQUENCE関数です。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
#REF! | 結果を展開するセルにデータがある | 展開先のセルをクリアするか、数式を空き領域に移動する |
#NUM! | 行数に0や負の数を指定した | 行数・列数には1以上の正の整数を指定する |
#VALUE! | 引数に文字列など無効な値がある | 数値・日付以外の値が入っていないか確認する |
TIP
#REF!エラーは配列関数で最もよくあるエラーです。SEQUENCE関数の結果が展開される先にデータがあると発生します。出力先の下方向・右方向に十分な空きを確保してください。
まとめ
この記事では、GoogleスプレッドシートのSEQUENCE関数の使い方を解説しました。
- SEQUENCE関数: 指定した行数・列数の連番を自動生成する
- 基本の使い方:
=SEQUENCE(5)で1〜5の縦方向連番 - 横方向:
=SEQUENCE(1,5)で横に展開 - 2次元配列:
=SEQUENCE(3,4)で3行4列のグリッド連番 - 日付連番:
=SEQUENCE(30,1,DATE(2025,4,1),1)で日付一覧 - ROW関数との違い: 固定件数の一括生成はSEQUENCE、行追従はROW
まずは =SEQUENCE(5) から試してみてください。連番の手入力から解放されますよ。
この記事を書いた人
biz-tactics編集部。事務職の現場で本当に使えるExcel・スプレッドシート・AIの技を発信しています。
