エクセルで月末の日付を計算する

A1セルにシリアル値で日付が入っている場合、
エクセルで月末の日付を計算したいときは、

=eomonth( A1, 0 )

で計算できます。

あるいは、
汎用的な関数である「date」関数を使って、

=date( year(A1), month(A1)+1, 0 )

で計算できるようにしておくほうが
(他の課題への)応用がききます。

個人的には、
エクセルを本気で使いこなしたいのであれば、、

応用範囲が広い、
date関数を使った計算方法を理解することを
おすすめしています。

月末の日付を計算する方法

eomonth関数を使わずに、
月末の日付を計算するのは、
少し難しいところがあります。

なぜかというと、
月末の日付は、次の表のように、
月末が何日かが、年・月によって変わるからです。

1月、3月、5月、7月、8月、10月、12月

月末は31日

4月、6月、9月、11月

月末は30日

2月(通常年)

月末は28日

2月(うるう年)

月末は29日

もちろん、これを素直に計算式に実装してもいいのですが、
特に、うるう年の部分が大変です。

シリアル値を使って計算する

そこで、
直接日付(年・月・日)を計算する代わりに、
シリアル値を使って計算をします。

シリアル値を使うと、

  • ある日の前日
  • ある日の翌日

といった日付を簡単に計算できます。

そして、
毎月「1日」のシリアル値も、
date関数を使うと、簡単に求められます。

そこで、

  • date関数を使って「翌月1日」のシリアル値を計算して
  • その日の1日前の日付を計算することで「今月月末」の日付を計算します

翌月初の日付を計算する

A1セルにシリアル値で日付が入っている場合、
エクセルで翌月初の日付は、

=date(year(A1), month(A1)+1 ,1 )

で計算できます。

※この関数は(ある意味)賢くて、
 A1セルが12月だった場合も、自動的に、
 翌月(=翌年1月)1日のシリアル値を取得してくれます。

1日前の日付を計算する

上記日付の「1日前」が、求める日付です。

1日前の日付を計算するためには、
「1を引けばいい」ので、

=date(year(A1) ,month(A1)+1 ,1 )-1

で、計算できることになります。

実際に使うときには、次のような形で使うことも多いです。

=date(year(A1) ,month(A1)+1 ,0 )

「○年△月0日」が「○年△月1日」の1日前として取り扱われますので、先ほどの計算式と同じ意味になります。

おすすめ記事

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。