Excelで連続した日付をまとめて入力したいときはないでしょうか。
けど、そんな中で悩むことは、
・月末の日付を毎回カレンダーで調べている
・1ヶ月後や翌月末の日付をどう計算すればよいかわからない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
連続した日付や月末の日付は、手で入力していると抜けやズレが起きやすく、月をまたぐたびに調べ直す手間がかかります。
今回は
・開始日を1つ入れるだけで、連続日付・月末日・翌月末・1ヶ月後・曜日をまとめて自動表示する方法
をゴールにします。
数式を1行入れてフィルするだけで、日付の一覧が一気に作れるようになります。
なお、月末がズレるときの原因と対処法や、土日を除いた日付を出したいときのコツ、VBAで一括処理する方法もあわせてご紹介します。
早速実装して試してみましょう!

上の画像が完成形です。開始日(A列)を入れるだけで、連続日付・月末日・翌月末・1ヶ月後・曜日が自動で表示されます。
もくじ
STEP1. 日付を並べる表を用意する
まずは日付の一覧を作りたい表を用意します。
今回はA列に開始日を手入力し、そこから各列を自動計算する形にします。
1行目が見出しで、A2セル以降に開始日を入れていきます。
開始日は「2026/1/15」のようにスラッシュ区切りで入力すると、Excelが日付として認識します。
この時点ではB列〜F列は空のままにしておいてください。
この空いている列を、これから数式で埋めていきましょう。

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。
| 開始日 | 連続日付 | 月末日 | 翌月末 | 1ヶ月後 | 曜日 |
|---|---|---|---|---|---|
| 2026/1/15 | |||||
| 2026/1/31 | |||||
| 2026/2/28 | |||||
| 2026/3/1 | |||||
| 2026/3/31 | |||||
| 2026/4/30 | |||||
| 2026/5/15 | |||||
| 2026/6/30 |
※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。
STEP2. 1行の数式で連続した日付を入力する
まずは連続した日付を作ります。
B2セルに =A2+1 と入力します。
日付は内部的に「数値」で管理されているので、+1すると1日後の日付になります。
次にB2セルを選び、右下の小さな四角(フィルハンドル)をB9セルまで下にドラッグします。
すると各行の開始日の翌日が一気に入り、連続した日付が完成します。
1行の数式を入れてフィルするだけなのでカンタンですね。
連続した日付は =A2+1 をフィルするだけ。
開始日を1つ変えれば、以降の日付もすべて自動で追従します。
数式はどのセルに入れる?
セルを選んで数式バーに入力するだけです。
実際の入力画面がこちらです。
B2セルに =A2+1 と入れてEnterを押すと、翌日の日付が表示されます。

STEP3. 月末を自動設定する(EOMONTH関数)
次は月末の日付を自動で出します。
C2セルに =EOMONTH(A2,0) と入力しましょう。
EOMONTHは「開始日から起算して、指定した月だけ前後の月末」を返す関数です。
第2引数を 0 にすると当月の月末、1 にすると翌月の月末になります。
フィルハンドルでC9セルまでコピーすると、各行の月末日が一気に入りました。
カレンダーを見て手で調べる必要がなくなり、入力ミスも防げます。

EOMONTH関数の入力画面
C2セルに =EOMONTH(A2,0) と入力します。
入力中は引数のヒントが表示されるので、順番を確認しながら進められます。

STEP4. 翌月末を求める(EOMONTHの第2引数)
同じEOMONTH関数で、翌月末も求められます。
D2セルに =EOMONTH(A2,1) と入力します。
第2引数を 1 にするだけで、1ヶ月後の月末になります。
フィルハンドルでD9セルまでコピーしましょう。
「翌月末に締める」といったスケジュール管理に便利ですね。

STEP5. 1ヶ月後を求める(EDATE関数)と月末との違い
次は1ヶ月後の同じ日を求めるEDATE関数です。
E2セルに =EDATE(A2,1) と入力して、E9セルまでコピーします。
EDATEは「開始日の1ヶ月後の同じ日」を返す関数で、月末ではなく同じ日がポイントです。
たとえばA2が2026/1/15なら、EDATEの結果は2026/2/15、EOMONTHの結果は2026/1/31になります。
この違いを押さえておくと、作りたい日付で迷いません。
「月末」を出したいなら EOMONTH、
「同じ日」を出したいなら EDATE。
迷ったら「月末か、同じ日か」で選びましょう。
EDATE関数の入力画面
E2セルに =EDATE(A2,1) と入力します。
第2引数に月数を入れると、その月数だけ後ろの同じ日付が返ります。

STEP6. 曜日を自動表示する(TEXT関数・ユーザー定義書式)
仕上げに曜日を自動で表示しましょう。
F2セルに =TEXT(A2,”aaa”) と入力して、F9セルまでコピーします。
TEXT関数の表示形式に aaa を指定すると、曜日だけを取り出せます。
「aaaa」にすると「木曜日」のようにフル表記になります。
数式を使わず、ユーザー定義書式で曜日を出す方法もあります。
日付のセルを選び、Ctrl+1 → ユーザー定義 で yyyy/m/d(aaa) と入力すると、日付と曜日をまとめて表示できます。

日付の計算|使い分けの比較表
ここまでに使った数式の使い分けを表にまとめました。
出したい日付の種類に合わせて選んでください。
| やりたいこと | 使う数式 | 例(A2=2026/1/15のとき) |
|---|---|---|
| 1日後の日付 | =A2+1 | 2026/1/16 |
| 1ヶ月後の同じ日 | =EDATE(A2,1) | 2026/2/15 |
| 当月の月末 | =EOMONTH(A2,0) | 2026/1/31 |
| 翌月の月末 | =EOMONTH(A2,1) | 2026/2/28 |
| 土日を除いた10営業日後 | =WORKDAY(A2,10) | 2026/1/29 |
VBAで日付の一覧を一括作成する
件数が多く、毎回同じ作業をするなら、VBAでまとめて作るのがいちばんラクです。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。
Sub SetDateList()
Dim r As Long
Dim d As Date
For r = 2 To 9
d = Cells(r, 1).Value
Cells(r, 2).Value = DateAdd("d", 1, d)
Cells(r, 3).Value = WorksheetFunction.EoMonth(d, 0)
Cells(r, 4).Value = WorksheetFunction.EoMonth(d, 1)
Cells(r, 5).Value = DateAdd("m", 1, d)
Cells(r, 6).Value = Format(d, "aaa")
Next r
End Sub
実行すると、B列〜F列に連続日付・月末日・翌月末・1ヶ月後・曜日が一瞬で入ります。
開始日をコードで作りたいときは、DateSerial(2026, 1, 15) のように書くと基準日を指定できます。
Excelの関数をVBAから呼ぶときは、頭に WorksheetFunction. を付けるのがポイントです。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったようにいかないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| 日付が「46037」のような数字で表示される | 表示形式が「標準」になっている(シリアル値) | セルを選び Ctrl+Shift+3 で日付形式にする/ホーム→表示形式で日付を選ぶ |
| 月末の日付がズレる | EOMONTHの第2引数の指定が違う | 当月の月末は =EOMONTH(A2,0)、翌月末は =EOMONTH(A2,1) にする |
| 土日を除いた日付にしたい | +1では土日も含まれてしまう | =WORKDAY(A2,日数) を使う/祝日も除くなら WORKDAY.INTL を使う |
| 日付として認識されない(左寄せのまま) | 「2026.1.15」など区切り文字が違う/文字列になっている | 「2026/1/15」の形式で入力し直す/=DATEVALUE() で日付に変換する |
| +1しても日付が変わらない | 基準日が文字列になっている | まず基準日を日付として認識させ直す(#VALUE! が出ていないか確認) |
関数の説明
今回使う4つの関数の概要です。
日付の計算でよく使う関数なので、違いを押さえておきましょう。
EOMONTH関数(イーオーモンス)
| 書式 | =EOMONTH(開始日, 月) |
|---|---|
| できること | 開始日から起算して、指定した月数だけ前後の月末の日付を返します。 |
| 戻り値 | 月末の日付(シリアル値) |
| こんなときに | 当月の月末(第2引数=0)や翌月末(=1)を自動で出したいとき。 |
| 注意 | 第2引数に負の数を入れると過去の月末も求められます。基準日が文字列だと #VALUE! になります。 |
=EOMONTH(A2, 0)
EDATE関数(イーデイト)
| 書式 | =EDATE(開始日, 月) |
|---|---|
| できること | 開始日から起算して、指定した月数だけ前後の同じ日を返します。 |
| 戻り値 | 日付(シリアル値) |
| こんなときに | 「1ヶ月後」「3ヶ月後」の同じ日付を出したいとき。 |
| 注意 | 月末が存在しない日(1/31の1ヶ月後など)は、その月の末日に丸められます。 |
=EDATE(A2, 1)
TEXT関数(テキスト)
| 書式 | =TEXT(値, 表示形式) |
|---|---|
| できること | 数値や日付を、指定した表示形式の文字列に変換します。 |
| 戻り値 | 文字列 |
| こんなときに | 日付から曜日だけを取り出したいとき(“aaa” で「木」、“aaaa” で「木曜日」)。 |
| 注意 | 結果は文字列になるので、並べ替えや再計算には向きません。表示だけでよいならユーザー定義書式が手軽です。 |
=TEXT(A2, "aaa")
WORKDAY関数(ワークデイ)
| 書式 | =WORKDAY(開始日, 日数, [祭日]) |
|---|---|
| できること | 土日(と指定した祝日)を除いて、指定した営業日数だけ後の日付を返します。 |
| 戻り値 | 日付(シリアル値) |
| こんなときに | 「10営業日後」の納期や回答期限を出したいとき。 |
| 注意 | 土日は自動で除外されますが、祝日は自分で指定しないと除外されません。地域の休日に合わせたい場合は WORKDAY.INTL を使います。 |
=WORKDAY(A2, 10)
完成
開始日(A列)を入れるだけで、連続日付・月末日・翌月末・1ヶ月後・曜日がすべて自動で表示されました。
思ったとおりに動きましたか?
開始日を1つ変えれば、B列〜F列の日付もすべて自動で追従します。
月末の日付をカレンダーで調べる手間がなくなり、スケジュール管理がぐっとラクになります。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
まずは今回のサンプル表で、ぜひ一度試してみてください。
開始日を1つ入れて =A2+1 をフィルするだけで、日付の一覧が一気に作れます。
月末の日付を調べる手間もなくなるので、日々のスケジュール管理がぐっとラクになりますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。














コメントを残す