概要
「日付をズラッと連続で並べたい」なら、SEQUENCE関数が最短です。開始日・件数・間隔を指定するだけで、1日刻みはもちろん、7日刻み、縦横の“カレンダー表”まで一発生成。TEXTで見た目を整えたり、WEEKDAYやWORKDAYと組み合わせて平日・営業日のみも柔軟に作れます(Microsoft 365の動的配列対応)。
基本の使い方
書式
=SEQUENCE(行数, 列数, 開始値, きざみ)
- 開始値に「日付」を入れれば、日付の連続が生成されます。
- きざみは省略可(既定=1)。1なら1日刻み、7なら1週間刻みなど。
最小例(今日から10日)
=SEQUENCE(10,1,TODAY(),1)
縦方向に、今日から1日刻みで10件の“日付列”が出ます。
具体例
A2の開始日から30日分の連続日付(縦1列)
=SEQUENCE(30,1,A2,1)
A2を起点に、1日ごと30件の連続日付を作ります。
週次スケジュール(今日から8週、7日刻み)
=SEQUENCE(8,1,TODAY(),7)
今日を起点に、毎週同じ曜日の連番が並びます。
月間カレンダー(縦6×横7の“表形式”)
「当月の月初」を起点に、42マス(6週×7日)を生成します。
=SEQUENCE(6,7,EOMONTH(TODAY(),-1)+1 - WEEKDAY(EOMONTH(TODAY(),-1)+1,2) + 1,1)
見出し行・条件付き書式と併用すると“月表示カレンダー”が簡単に作れます。
応用テンプレート
当月の全日付だけを“ぴったり”生成(1列)
=LET(
start, EOMONTH(TODAY(),-1)+1,
days, DAY(EOMONTH(TODAY(),0)),
SEQUENCE(days,1,start,1)
)
当月の日数分だけ、月初から最終日までを過不足なく出します。
平日だけの連続日付(当月、月〜金)
当月の全日付を作ってから、平日条件で絞る例。
=LET(
start, EOMONTH(TODAY(),-1)+1,
days, DAY(EOMONTH(TODAY(),0)),
all, SEQUENCE(days,1,start,1),
FILTER(all, WEEKDAY(all,2)<=5)
)
営業日のみの連続(祝日除外込み)
開始日A2から“n営業日分の到達日を並べる”なら、WORKDAY×SEQUENCEの合成が便利。
=WORKDAY(A2, SEQUENCE(10,1,1,1), $H$2:$H$50)
A2を起点に、1営業日後〜10営業日後までを縦に列挙(祝日一覧H2:H50を除外)。
年間カレンダーのグリッド(12カ月×月日)
任意の年Y2を指定し、各月の“月初”から42マスの表を生成する例。
=LET(
y, $Y$2,
m, SEQUENCE(12,1,1,1),
first, DATE(y,m,1) - WEEKDAY(DATE(y,m,1),2) + 1,
SEQUENCE(12*6,7,first,1)
)
工作は環境に合わせてシート分割や月ごとのブロックに。
よくあるつまずきと対策
表示が“数値”に見える
SEQUENCEの結果は“日付のシリアル値”。表示形式が標準だと整数に見えます。範囲の表示形式を「日付(yyyy/mm/ddなど)」へ変更してください。
文字列日付は使わない
“2025/12/17” のような文字列は環境で誤解釈があります。開始値は日付型(セルの正しい日付や DATE(年,月,日))で渡しましょう。
グリッドの“当月外”を隠したい
6×7のカレンダーは必ず“前後月のはみ出し日”を含みます。条件付き書式で「MONTH(セル) <> MONTH(TODAY())」を薄色にするなど、視認性を上げましょう。
平日と営業日の違い
WEEKDAYは“週末判定”のみ。祝日除外までしたいときは WORKDAY/NETWORKDAYS(INTL版含む)と組み合わせます。
例題
問題1: 今日から“1日刻みで10件”の連続日付をB2から縦に表示してください。
=SEQUENCE(10,1,TODAY(),1)
問題2: A2を起点に“7日刻みで8件”の週次日付をB2から縦に表示してください。
=SEQUENCE(8,1,A2,7)
問題3: 当月の全日付だけを“ぴったり”C2から縦に表示してください。
=LET(start,EOMONTH(TODAY(),-1)+1, days,DAY(EOMONTH(TODAY(),0)), SEQUENCE(days,1,start,1))
問題4: 開始日D2から“1営業日後〜10営業日後”の日付を祝日一覧H2:H50を除外してE2から縦に表示してください。
=WORKDAY($D$2, SEQUENCE(10,1,1,1), $H$2:$H$50)
問題5: “当月の月間カレンダー(6行×7列)”をF2から表示してください(月曜始まり)。
=SEQUENCE(6,7,EOMONTH(TODAY(),-1)+1 - WEEKDAY(EOMONTH(TODAY(),-1)+1,2) + 1,1)
まとめ
SEQUENCEは「開始・件数・間隔」を指定するだけで、日付の連番から週次、カレンダー表まで自在に生成できます。見せ方はTEXTで整形、平日はWEEKDAYで抽出、営業日はWORKDAYで到達日を量産——この組み合わせを押さえると、スケジュール作成や週次・月次のテンプレート化が驚くほどシンプルに進みます。
