スポンサーリンク

EOMONTH関数 – 指定した月数分だけ前後の月末日を取得する関数

関数の基礎

EOMONTH関数とは

EOMONTH関数とは、指定した月数の分だけ、後または前の月の月末日を取得する関数です。

エクセル上での説明は下記のようになってます。

開始日から起算して、指定した月だけ前あるいは後の月の最終日に対応するシリアル値を計算します。
開始日 には、計算の起算日となる日付のシリアル値を指定します。

かみ砕いていうと、月末って何日?を教えてくれる関数という事です。

 

EOMONTH関数の使い方

まずは使い方について。

式:=EOMONTH(開始日,月)

直接、開始日や月を入力する場合は、開始日はダブルクオーテーションで囲みましょう。

月は囲んでも囲まなくても、どちらでも良いです。

実例を挙げると、下記のようになります。(2023/2/10の1カ月後の月末日付を取得する場合)

式:=EOMONTH(“2023/2/10”,1)

すると、2023/3/31という結果が返ってきます。

また、今回は西暦を使っていますが、和暦にも対応しており、R5/2/10でも、R5.2.10でも機能します。

 

そしてEOMONTH関数は、開始日と月のどちらにもセル参照が使えますので、式内に直接日付を入力しなくても大丈夫です。

式:=EOMONTH(A1,A2)

 

EOMONTH関数を使ってみる

使ってみると言いつつ、使い方の時点でほぼほぼ紹介は済んでしまいました。

なので、ここでは少し突っ込んだ使い方を紹介していきます。

 

1カ月前を指定

月にマイナス値を指定すると、後ではなく前を探してくれます。

例:=EOMONTH(“2023/2/10”,-1)

この場合1カ月前、つまり1月の月末日が結果となるので、2023/1/31が返ってきます。

 

年をまたぐ

年をまたぐ場合、2023/13/31みたいなバカな結果にはなりませんので安心してください。

例:=EOMONTH(“2023/12/10”,1)

 

月数に小数点

月数に0.5などの小数を入力してもエラーにはなりません。

なりませんが、小数点以下は切り捨てられているようで、0.9は0、1.1は1として扱われていますので、わざわざ小数を使う意味はないでしょう。

 

実用例

このEOMONTH関数、実際にはどういう時に使えるのか、少しですが実例をご紹介。

 

1年間の簡易カレンダー

スタートの日付さえ入力すれば、月初~月末、日数までがわかる、簡易カレンダーが簡単に作れます。

まずは月初(今回は2023/1/1とします)を入力し、月末用のセルにEOMONTH関数を使います。

 

次の月初のセルに、月末+1になる式を入力します。

今回の場合、C2+1ですね。

それが翌月月初となるので、月末セルの方はオートフィルやコピペで、最初に作ったEOMONTH関数の式を持ってきましょう。

 

あとは、月初と月末の両方が数式となったB3とC3セルを範囲選択し、そのままオートフィルでどこまでも期間を広げる事ができます。

 

オマケで、月末-月初+1という式を作れば、その月が何日あるのかも取得できます。

 

半年って何日あるの?が計算できる

月末-月初+1で、その月が何日あるのか計算できると紹介しました。

この、月末部分を少しいじる事で、半年って何日あるの?、3カ月って何日あるの?みたいな事も調べる事ができます。

0が1月分なので、月数のあとにマイナス1を入れてます。

 

月単位の契約期間が計算できる

4月に契約を結び、6カ月を契約期間とした場合、契約満了日はいつ?といった事を計算できます。

 

ただし、EOMONTH関数で計算する場合は、月の途中から契約開始した場合でも、1日から契約した場合と同じ満了日にしたい時に限ります。

 

もし、4/1開始なら9/30、4/2開始なら10/1を満了とするように、日まで細かく計算したい場合は、EDATE関数の方が向いてます。

その場合、=EDATE(契約開始日,期間)-1という式になると思いますが、3/30と3/31の満了日が、同じ9/29になってしまう点は注意して使ってください。

EDATE関数について詳しく知りたい方はコチラの記事をご覧ください。

EDATE関数 – 指定した月数だけ後、または前の同日を取得する関数
EDATE関数とは EDATE関数とは、指定した月数の分だけ、後または前の同日の日付を返す関数です。 エクセル上での説明は下記のようになってます。 開始日から起算して、指定した月だけ前あるいは後の日付に対応するシリアル値を計算します。 かみ...

 

書式設定に注意

書式って、デフォルトは標準になってるじゃないですか。

すると、EOMONTH関数で式を組むと、日付じゃなくて数値が表示されてしまうんですよね。

なので、EOMONTH関数の結果が日付ではなくシリアル値になってしまった場合は、後からでも間に合いますので、書式を日付にしてあげてください。

 

コメント

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