Excel関数 逆引き集 | 年月リストを作成 → EDATE+SEQUENCE

Excel
スポンサーリンク

概要

「年月のリスト(毎月連番)」を作るなら、EDATEで“月をずらす”+SEQUENCEで“件数を並べる”の合わせ技が最短です。開始月を1つ決めて、SEQUENCEで0,1,2…の増分を作り、その増分ぶんだけEDATEで前進させれば、きれいな年月の連続が一発で生成できます。見せ方はTEXTで「YYYY/MM」「YYYYMM」などに整えるだけです。


基本の使い方

書式の考え方

=EDATE(開始日, 月数増分)
  • 開始日から“月数増分”だけ前後にずらします(負数で過去)。
  • 月末挙動はExcelが自動調整(1/31の+1か月は2/29や3/31など年によって正しく遷移)。
=SEQUENCE(件数, 列数, 開始値, きざみ)
  • 0,1,2…の連番を生成。これをEDATEの第2引数に渡します。

具体例

開始月A2から“12カ月分”の年月を縦に一覧

=EDATE($A$2, SEQUENCE(12,1,0,1))

A2が2025/01/01なら、2025/01〜2025/12までが1列で生成されます(セル表示形式を「yyyy/mm」に)。

年月を「YYYYMM」文字列で出力(整形)

=TEXT(EDATE($A$2, SEQUENCE(12,1,0,1)), "yyyymm")

一覧を“集計キー”に使いたいときに便利(文字列で並ぶ)。

横並びのヘッダー(月次レポート用)

=TEXT(EDATE($A$2, SEQUENCE(1,12,0,1)), "yyyy/mm")

1行×12列で“横方向”に月ヘッダーを作ります。


応用テンプレート

月初の日付で一覧(ぴったり月初)

=EOMONTH($A$2, -1) + 1 + (SEQUENCE(12,1,0,1)*0)

「EDATEでずらした結果が月末寄りになる」問題を避けたいときは、開始を月初にしてからEDATEでずらすのが安全です。

=EOMONTH($A$2,-1)+1

で月初を作り、そこから:

=EDATE(EOMONTH($A$2,-1)+1, SEQUENCE(12,1,0,1))

月末の日付で一覧(締め日基準)

=EOMONTH($A$2, SEQUENCE(12,1,0,1))

各月の“末日”が並ぶので、請求や締め処理に向きます。

四半期(3カ月刻み)だけを一覧

=TEXT(EDATE($A$2, SEQUENCE(4,1,0,3)), "yyyy/mm")

A2を起点に、Q1〜Q4(3カ月刻み)を1年分生成。

会計年度(例:4月始まり)の月一覧

開始セルに“年度初月”(例:2025/04/01)を入れて:

=TEXT(EDATE($A$2, SEQUENCE(12,1,0,1)), "yyyy/mm")

年度区切りに合わせたヘッダーが即作成できます。

動的に“本日から前後nカ月”を一覧

過去6カ月〜今月〜未来6カ月(計13本)を作る例:

=TEXT(EDATE(EOMONTH(TODAY(),-1)+1, SEQUENCE(13,1,-6,1)), "yyyy/mm")

よくあるつまずきと対策

表示が“数値”に見える

EDATEは“日付のシリアル値”を返します。見やすくするにはセルの表示形式を「yyyy/mm」などに変更。文字列で固定表示したいならTEXTで整形します。

1/31や2/29の“月末”がずれる問題

EDATEは月末を安全に遷移しますが、基準日が月末でない場合は“月内の同じ日”を優先します。常に月末で欲しいときは EOMONTH を使う設計にしましょう。

文字列日付は避ける

“2025/01/01″の文字列は環境で誤解釈があります。開始日は“日付型”のセルか、DATE(年,月,日)で生成してください。

横並びにしたい/縦並びにしたい

SEQUENCEの第1引数が“行数”、第2引数が“列数”。縦なら(件数,1)、横なら(1,件数)です。


例題

問題1: A2(開始月)から“12カ月分”の年月をB2から縦に表示してください(yyyy/mm)。

=TEXT(EDATE($A$2, SEQUENCE(12,1,0,1)), "yyyy/mm")

問題2: A2(開始月)から“横方向に12カ月”のヘッダー(yyyy/mm)をB1から表示してください。

=TEXT(EDATE($A$2, SEQUENCE(1,12,0,1)), "yyyy/mm")

問題3: A2(開始月)から“各月の月末日”をC2から縦に12本表示してください。

=EOMONTH($A$2, SEQUENCE(12,1,0,1))

問題4: A2(年度初月=2025/04/01)から“年度の12カ月”をD2から縦に「YYYYMM」で表示してください。

=TEXT(EDATE($A$2, SEQUENCE(12,1,0,1)), "yyyymm")

問題5: 今日の属する月の“月初”から“今月を含む前後6カ月”をE2から縦に(yyyy/mm)表示してください。

=TEXT(EDATE(EOMONTH(TODAY(),-1)+1, SEQUENCE(13,1,-6,1)), "yyyy/mm")

まとめ

年月リストは「EDATEで月をずらす」+「SEQUENCEで連番を渡す」が最短ルート。見せ方はTEXTで整え、月末が欲しいならEOMONTHに切り替え、縦横はSEQUENCEの行数・列数で切り替え。これだけで、月次ヘッダー、四半期リスト、年度カレンダーまで一気通貫で作れます。

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