契約の次回更新日、サブスクの請求日、月末締めの集計日——「○ヶ月後」や「その月の月末」を、カレンダーを見ながら手で入力していませんか。件数が増えると間違いやすく、月末が30日か31日かでも迷います。
こうした日付は、EDATE 関数(nヶ月後)と EOMONTH 関数(月末)で自動計算できます。月末の調整も賢く処理してくれます。実際の画面で見ていきましょう。
完成イメージ
起算日から「次回更新日(EDATE)」と「当月の締め日(EOMONTH)」を自動で出しています。月額サブスクの行に注目——3月31日の1ヶ月後が、存在しない4月31日ではなく4月30日になっています。
数式の意味
次回更新日と締め日に入れているのは、次の2つの数式です。
次回更新日: =EDATE(B2, C2)
月末締め日: =EOMONTH(B2, 0)
- EDATE(起算日, 月数) … 起算日のnヶ月後の同じ日を返す。月数にマイナスを入れれば過去の日付も出せる
- EOMONTH(日付, 月数) … その月(または nヶ月後の月)の月末を返す。
0で当月末、1で翌月末、-1で前月末
結果が日付に見えないときは、セルの表示形式を「日付」にすれば直ります。
つまずきやすいポイント①:月末は自動で調整される
EDATE の便利なところは、存在しない日付を作らないことです。3月31日の1ヶ月後を求めると、4月31日(存在しない)ではなく4月30日を返します。月末締めの契約やサブスクでも、安心して「○ヶ月後」を計算できます。
つまずきやすいポイント②:DATEDIFと混同しない
似た日付関数に DATEDIF がありますが、役割は逆です。EDATE は「nヶ月後の日付」、DATEDIF は「2つの日付の差(経過)」を出します。「次の更新はいつ?」なら EDATE、「何年契約してる?」なら DATEDIF と使い分けます。
更新アラートに発展させる
次回更新日を TODAY() と組み合わせると、更新が近い契約を自動で知らせられます。
=IF(EDATE(起算日, 12) - TODAY() <= 30, "更新間近", "")
更新日まで30日を切った契約に「更新間近」が表示されます。条件付き書式で色分けすれば、管理表として完成度が上がります。
まとめ
EDATE と EOMONTH を使えば、次回更新日や月末締め日は手入力なしで自動計算でき、月末の調整も任せられます。TODAY() と組み合わせれば、更新漏れを防ぐアラート表にもなります。
「契約・請求・点検の日付をまとめて管理し、更新や締めを自動で知らせる仕組みを作りたい」という場合は、ExcelMate のチャット相談でそのままご相談いただけます。

