Excel関数 逆引き集 | 日付を連続生成 → SEQUENCE

Excel
スポンサーリンク

概要

「日付をズラッと連続で並べたい」なら、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で到達日を量産——この組み合わせを押さえると、スケジュール作成や週次・月次のテンプレート化が驚くほどシンプルに進みます。

タイトルとURLをコピーしました