K-fix Learning & Playing

07 日付関数


Excelには日付の関数がたくさん用意されています。ここでは、本日の日付を返すTODAY関数、開始日から終了日までの年数、月数、日数を返すDATEDIF関数、指定した月数の月末日を返すEOMONTH関数を取り上げています。

本日の日付を返すTODAY関数は、引数なしで設定します。日が変わるごとに更新されますので、PCの日付が正しければ常に本日の日付を正確に返します。

関数を使わないで本日の日付を入力したい場合、「〇/〇」のようにスラッシュ付きで入力することもできますが、この結果は「〇月〇日」を表示されます。
もし「西暦年/月/日」の形式で本日の日付を入力したい場合は、以下のショートカットキーを使います。

開始日から終了日までの日数、月数、年数を求めたい時はDATEDIF関数を使います。書式は以下になります。

引数「開始日」と「終了日」は日付を指定します。「単位」は、日数を求める時は「d」、月数は「m」、年数は「y」を指定します。このアルファベットは大文字、小文字は問いません。
例えば、「=DATEDIF("2000/1/1",TODAY(),"y")」で、2000年1月1日生まれの方の年齢が求められます。

DATEDIF関数のポイントは、すべて手入力する必要があります。もともとDATEDIF関数はLOTUS123というソフトの関数で、Microsoft社が会社を買収してOfficeのExcelに組み込んだ関数です。

月末日を取得するにはEOMONTH関数を使います。これは「エンドオブマンス」と読みます。書式は以下になります。

日付は基準とする日付です。月数は整数値で「1」であれば「1か月後」、「-1」であれば「1か月前」という意味になります。
「日付」に本日の日付で、月数に「2」と指定すると「2か月後の月末日」が返されます。
「=EOMONTH("2020/5/10",3)」と入力すると「44074」という数値が返ってきます。これは日付のシリアル値なので、日付に変換する必要があるので、以下のショートカットで日付に変換します。

結果は2020/5/10から3か月後の月末日「2020/8/31」が返されます。「=EOMONTH("2020/5/10",-6)」であれば、6カ月前の「2019/11/30」が返ってきます。

日付は「シリアル値」と呼ばれる値で管理されています。これは基準となる日付「1900/1/1」を「1」として、1日ごとに「+1」されます。例えばシリアル値が「36526」を日付にすると「2000/1/1」になります。つまり、2000/1/1は、1900/1/1から「36526」日目であることを意味します。
日付はこのシリアル値で管理されているので、日付から日付を引いたり、日付に数値を足したり、引いたりできます。例として「=TODAY()+7」と入力すると本日から1週間後の日付が返されます。