月末の日付を計算する(eomonth関数)

Excelを使っていると、色んな日付を求める必要が出てくることがあります。

今回は月末の日付を計算するeomonth関数をご紹介します。

基本的な用途:月末の日付を求める

上記がeomonth関数の例になります。

構造式:eomonth(開始日,月)

開始日は「”2019/6/1″」のような形でも記載できますし、例のように「B2」などセルを参照することもできます。

実際に利用する際は、ほとんどセルを参照する形で利用されると思います。

また、月は「0」が当月、「1」が翌月、「-1」が前月のように数字を入力することで開始日の何ヶ月後(前)かをコントロールします。

同じことはdate関数でもできる

全く同じことはdate関数でも行えます。

eomonth(B2,0) = date(year(B2),month(B2)+1,0)

date関数の場合、「month(B2)+1」で当月末、「month(B2)+2」で翌月末、「month(B2)」で前月末となります。

このdate関数は「0」部分が月末を示しますので固定としてください。この点がemonth関数とは違うところですので注意してください。

date関数の方が記載は難しいですが、自由度が高いというメリットがあります。(例えば、月末以外の日付も自由に指定できるなど)

応用例:日付一覧を自動で出す

上記が、実際に私が表を組む時にeomonth関数を使った利用例になります。

黄色の欄を毎月入力し直しをします。

赤枠でeomonth関数を用いて、月末日付を算出しています。

セルB4の「2019/6/1」部分は、青枠の関数式が入っています。
黄色枠をそのまま引用している形ですね。

セルB5には、緑枠の関数式が入っています。

緑枠の関数の意味は

  • 赤枠の月末日付と、セルB4(1個上のセル)に1を加えた日付を比べる
  • 同じか小さければ、1を加えた日付を表示
  • 大きければ空欄
  • エラーになっても空欄

セルB5をコピーして、B34までペーストします。

この式であれば、月末が30日でも31日でも、きれいに表示されます。

例えばB2を「2019/2/1」と入力してみたのが、下記になります。

28日以降がきれいに空欄になっているのが分かると思います。

ここに条件付き書式やvlookup関数を用いれば、「日付を指定するだけで、内容や数字が変化する集計表」を作ることができるという寸法です。

まとめ

月末の日付を求める「eomonth関数」

たまに使う時がありますので、「月末の日付を求める関数がある」とだけ覚えておいて、必要に応じて本記事を参考にするようにしてください。