Excelで月末日を取得するにはどうすればよいですか?

完了日、期日、目標日として使用するために月末日を取得する必要がある場合や、2 つの日付の間の日数を計算するために月末日が必要になる場合があります。

手間をかけずに手動で簡単に追加できますが、計算に役立つ数式がいくつかあります。

月の最後の日付を計算する最良の方法は、EOMONTH 関数を使用することです。ただし、それとは別に、他の方法 (VBA) を使用することもできます。

数式やその他の動的手法を使用する利点は、何度も計算する必要がないことです。今日この記事では、Excel で月末日を取得する 3 つの簡単かつ動的な方法を共有したいと思います。

それでは始めましょう。ここから同じファイルをダウンロードして、手順に従ってください。

EOMONTH関数を使用して月の最後の日を取得する

EOMONTH は、月の最後の日を計算するための私のお気に入りの関数です。この関数は、このようなタイプの計算用に特別に設計されています。

現在の日付と、開始日の前後の最後の日付を計算する月数を指定するだけです。構文は次のとおりです。

EOMONTH(開始日, 月)

この構文では、開始日は現在の日付になり、月は前後の月数を表す数値になります。

同月の終了日

「2017 年 2 月 6 日」という日付があり、「2 月」の最後の日を取得したいとします。この場合、使用する必要がある公式は次のとおりです。

 =EOMONTH("22-Feb-2017",0)
eomonthを使用して当月の月末を取得する

上記の例では、EOMONTH を使用すると、2 月の最後の日である 28-Feb-2017 が返されます。

仕組み: ここでは数値引数に「0」を使用しています。これは、使用した開始日が 2 月であり、同じ月の最終日がないためです。 「0」を使用すると、開始日と同じ月の最後の日付が返されます。

動的数式を作成するには、 start_date引数で TODAY 関数を使用できます。

将来の月の終了日

次に、同じ日付から「4 月」の最後の日を取得したいとします。この場合、使用する必要がある公式は次のとおりです。

 =EOMONTH("22-Feb-2017",2)
eomonthを使用して将来の月の月末日を取得します

上の例では、数式は 4 月の最後の日である 2017 年 4 月 30 日を返しました。

使い方

ここでは数値引数として「2」を使用しており、使用した開始日は 2 月です。見てみると、4 月は 2 月のちょうど 2 か月後です。そのため、2017 年 4 月 30 日に戻ってきました。

前月の終了日

また、前月の最後の日付を取得したい場合は、負の数値を使用できます。 1 月の最終日が必要だとします。したがって、使用する必要がある式は次のとおりです。

 =EOMONTH("22-Feb-2017",-1)
eomonthを使用して前月の月末日を取得します

上の例では、数式は 1 月の最後の日である 2017 年 1 月 31 日を返しました。

仕組み:ここでは数値引数に「-1」を使用しており、1 月は 2 月のちょうど 1 か月前です。

月の最後の日付を取得する DATE 関数

DATE 関数は、Excel で最後の日を取得するもう 1 つの方法です。 date 関数を使用すると、年、月、日を指定して有効な Excel 日付を作成できます。構文は次のとおりです。

DATE(年、月、日)

前述したように、日付関数では年、月、日を入力する必要があり、それに基づいて有効な日付が返されます。さて、今日の議論でできるちょっとしたトリックがあります。

ちょっとしたヒント:日として 0 を使用すると、前月の最後の日付が返されます。たとえば、年: 2017、月: 4 (つまり 5 月)、日: 0 を指定すると、結果は 2017 年 4 月 30 日を返します。

また、当月の末日を計算する場合、式は次のようになります。

date関数を使用して月の終了日を取得する
 =DATE(CurrentYear,CurrentMonth + 1,0)

または、参照する日付だけがある場合、式は次のようになります。

 =DATE(YEAR(date),MONTH(date)+1,0)

UDF で最後の日を過ごしましょう

素晴らしい VBA の例です。これは、 VBA UDF を使用して月の最終日を取得するためのマクロ コードです。それを VBA エディタにコピーするだけです。

 Function LastD(Optional sd As Date = 0) As Date If sd = 0 Then sd = VBA.DateLastD = VBA.DateSerial(VBA.Year(sd), VBA.Month(sd) + 1, 0) End Function
VBAを使用して月の終了日を取得する

スプレッドシートに「=LastD(」と入力し、月の日付またはセルへの参照を挿入します。また、現在の月の最終日が必要な場合は、かっこを使用して空白のままにします。

結論

先ほども言いましたが、月の最終日は、目標日、期日、完了日を計算するときに役立ちます。そして、現在、それを入手するための 3 つの異なる方法があります。

EOMONTH を使用すると、過去または将来の月の日付を知るのに役立つ動的な数式を作成するのが非常に簡単で、これが最良の方法だと思います。

この記事が役に立ち、あなたのスキルを次のレベルに引き上げるのに役立つことを願っています。

さて、一つだけ教えてください。一番好きな方法は何ですか?それとも別の方法がありますか?コメントボックスで私と共有してください。ぜひご意見をお待ちしています。そしてそれを友達と共有することを忘れないでください。

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です