Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » 今日から月末までの日数をカウントする-DATE関数・TODAY関数・EOMONTH関数

今日から月末までの日数をカウントする-DATE関数・TODAY関数・EOMONTH関数

対象:Excel2003, Excel2007, Excel2010, Excel2013

今日から月末までの日数をカウントする

「エクセル2010 本日から月末までの残数カウント」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excel 2010で、今日(本日)から、月末までの日数(残数)を、計算(カウント)する方法を探している方による検索です。

[スポンサードリンク]
今日から月末までの日数を計算するには、いくつかの方法が考えられますが、今後Excelを使いこなしていきたいと考えている方に、是非理解しておいていただきたい数式からご紹介します。
▼今日から月末までの日数をカウントする数式
「=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0) - TODAY()」

Excelで何らかの日数計算をしたいということは、実務でよくあります。

その要望に対して、広く応用できるのが上記の
「=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0) - TODAY()」
という数式です。

Excelで日付や時間は、1日経過するごとに1加算される数値・シリアル値ですから、日数をカウントするには基本的に引き算を行えばOKです。

月末の日付から今日の日付を引き算すれば、今日から月末までの日数をカウントできます。

「=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0) - TODAY()」という数式の後半
「- TODAY()」
が今日の日付を引き算しているところです。

ポイントは月末の日付を求める方法です。

この数式の前半
「DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0)」
が、今月の末日を計算している部分です。

DATE関数は、引数を3つ指定する関数です。

DATE関数の
 第1引数に年を表す数値
 第2引数に月を表す数値
 第3引数に日を表す数値
をそれぞれ指定すると、その日付を表すシリアル値が返されます。

上記数式の「DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0)」では、DATE関数の
 第1引数に「YEAR(TODAY())」
 第2引数に「MONTH(TODAY()+1)」
 第3引数に「0」(ゼロ)
がそれぞれ指定されています。

第1引数の「YEAR(TODAY())」は、YEAR関数を使って今日の年を表す数値、第2引数の「MONTH(TODAY())+1」は、MONTH関数を使って今日の月を表す数値を取得してから「+1」しているので翌月を表す数値を、それぞれ指定していることになります。

ここで、もし、
「DATE(YEAR(TODAY()), MONTH(TODAY())+1, 1)」
という数式を指定したのならば、翌月の1日を取得できます。

Excelの日付は、1日経過するごとに1加算される数値ですから
「DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0)」
という数式は、翌月1日の1日前、すなわち、今月の末日が取得できることになります。

よって、この月末の日付から今日の日付を引き算する
「=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0) - TODAY()」
という数式で、今日から月末までの日数を取得できるわけです。

年・月・日をバラバラにして、足し算や引き算をして、DATE関数で日付に戻すのは、Excelで日付計算を行う場合の基本です。

Excelで日付計算を行うことがよくあるという方は、是非、上記の数式の意味をご理解ください。

上記の
「=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0) - TODAY()」
という数式はExcelを使いこなしたいという方には、理解していただきたいのですが、式が長いため可読性が悪いというのも事実です。

実務で使いやすい数式もご紹介しておきます。
▼今日から月末までの日数をカウントする数式
「=EOMONTH(TODAY(),0) - TODAY()」

以上のような数式でも月末までの日数を計算できます。

月末の日付から今日の日付を引き算しているのは同じですが、月末の日付を返すEOMONTH関数を使うことで、かなりシンプルな数式になっています。

EOMONTH関数は、第1引数に日付を指定し、第2引数にいつの月末を取得するのかを指定します。

「EOMONTH(TODAY(), 1)」
なら、翌月の月末
「EOMONTH(TODAY(), -1)」
なら、先月の月末
「EOMONTH(TODAY(), 0)」
で、今月の月末が取得できます。

注意点としては
「=EOMONTH(TODAY(),0) - TODAY()」
という数式を入力した場合
「1900/1/15」
といった日付データが表示されてしまう可能性が高いということです。

上記の「=EOMONTH(TODAY(),0) - TODAY()」という数式を入力して、「1900/1/15」のようなデータが表示された場合、[Ctrl]+[Shift]+[~](チルダ)キーを押すなどして、日付書式を解除してください。

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » 今日から月末までの日数をカウントする-DATE関数・TODAY関数・EOMONTH関数

「日付の処理・計算」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.