概要
「年月のリスト(毎月連番)」を作るなら、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の行数・列数で切り替え。これだけで、月次ヘッダー、四半期リスト、年度カレンダーまで一気通貫で作れます。
