Sheet基本
SEQUENCE 完全ガイド
SEQUENCE 完全ガイド
連番・日付シリーズを自動生成する
手動で1,2,3…と入力していた連番を1つの式で生成する。行・列・開始値・ステップを指定して、月次カレンダーや連番リストを瞬時に作れる。
GASとの関係:Array.from() の配列生成に対応
GASで Array.from({length: 12}, (_, i) => i + 1) と書く連番生成は SEQUENCE と同じ発想です。スプレッドシートでSEQUENCEを使ったロジックをGASで再現する際の参考になります。
目次
SEQUENCEとは
SEQUENCE関数は指定した行数・列数・開始値・増分で連番の配列を生成する関数です。ROW()やCOLUMN()を使っていた連番生成よりシンプルに書けます。
基本構文
=SEQUENCE(行数, [列数], [開始値], [増分])
| 引数 | 内容 | デフォルト |
|---|---|---|
| 行数 | 生成する行の数 | 必須 |
| 列数 | 生成する列の数 | 1 |
| 開始値 | 最初の値 | 1 |
| 増分 | 1ステップで増える量 | 1 |
基本的な使い方
// 1〜10の縦並びの連番
=SEQUENCE(10) // 1,2,3,...,10(縦10行)
// 1〜12 を横並びに
=SEQUENCE(1, 12) // 1,2,...,12(横12列)
// 0〜100の偶数(ステップ2)
=SEQUENCE(51, 1, 0, 2) // 0,2,4,...,100
// 10〜1の逆順連番
=SEQUENCE(10, 1, 10, -1)
実務でよく使うパターン
パターン1:月次の日付シリーズ生成
// 2024年1月1日から31日までの日付を縦に生成
=SEQUENCE(31, 1, DATE(2024,1,1), 1)
// ※セルの書式を日付形式にすること
// 今月の日付シリーズ
=SEQUENCE(DAY(EOMONTH(TODAY(),0)), 1, DATE(YEAR(TODAY()),MONTH(TODAY()),1))
パターン2:1から始まる連番をデータと並べる
// A列に連番、B列以降にデータが並ぶ場合(A2に入れる)
=SEQUENCE(COUNTA(B2:B)) // データ行数分の連番
パターン3:掛け算表(九九)を作る
// 1〜9の縦×横の掛け算表(B2に入れる)
=SEQUENCE(9)*TRANSPOSE(SEQUENCE(9))
パターン4:FILTERと組み合わせた動的連番
// FILTERで絞り込んだ結果に連番を付ける
=ARRAYFORMULA(IF(SEQUENCE(COUNTA(FILTER(A2:A,B2:B="東京")))>0, SEQUENCE(COUNTA(FILTER(A2:A,B2:B="東京"))), ""))
ROW() との使い分け
| 場面 | 推奨 |
|---|---|
| シンプルな連番(1〜N)を縦に生成 | SEQUENCE(読みやすい) |
| 現在のセル位置に依存した連番 | ROW()-ROW(A$2)+1 |
| 2次元配列(行×列)の生成 | SEQUENCE(列数も指定できる) |
この知識をGASで活かす
GASでカレンダーや連番リストを動的に生成する際、SEQUENCEで設計した生成ロジックがそのまま参考になります。特に日付シリーズの生成パターンはGASのループ処理で頻繁に使います。
Free Newsletter
AIを業務に活かしたいなら
SMR-Labメルマガ
毎週火曜10時、コピペで使えるChatGPTプロンプト・
GASテンプレートをお届け。登録は1分・完全無料。
