機能と数式 | VBA | セミナー | オンラインソフト | お問い合わせ | その他
Top > Excel > 機能と数式

月末の日を調べる



日付は操作が難しいデータのひとつです。
月は12進数ですし、毎月の日数は月によって異なります。さらに、閏年などという特殊なケースもあったりして。
ところが、ビジネスの現場では、否が応でも日付に関する計算や処理が必要になります。ここでは、ある月の月末日を調べる方法を解説しましょう。

EOMONTH関数を使う



実はExcelには、そのものズバリの関数があります。EOMONTH関数です。EOMONTH関数は、End Of Monthの略で、引数に指定した月の月末日を返します。書式は次の通りです。

EOMONTH(開始日, 月)

引数「開始日」には、任意の日付を指定します。
引数「月」には、引数「開始日」から数えて、何ヶ月後の月末日を返すのかを指定します。

たとえば、引数「開始日」に2009/01/15を指定し、引数「月」に1を指定したとします。
するとEOMONTH関数は、2009/01/15から数えて1ヶ月後に該当する2009年2月の月末日を返します。




引数「開始日」には、日付を表すシリアル値を指定します。まぁ実際には「=EOMONTH("2009/01/15",1)」のように文字列で指定しても正しく計算してくれますが、その場合は、指定した文字列が日付として有効でなければなりません。特別な理由がない限り、シリアル値を指定した方がいいでしょうね。

引数「月」は"○ヶ月後"を表しますので、当月(ここでは2009年1月)の月末日を調べたいのでしたら0を指定します。前月(ここでは2008年12月)でしたら-1です。

さて、非常にシンプルで便利なEOMONTH関数ですが、ひとつ問題があります。それは、EOMONTH関数はアドインを組み込まないと使用できないということです。Excelには、SUM関数やVLOOKUP関数のように、いつでも使える標準の関数だけでなく、特別な計算を行う標準以外の関数も用意されています。そうした特別な関数を使うときは、[ツール]メニューの[アドイン]を実行して、表示される[アドイン]ダイアログボックスで「分析ツール」のチェックをオンにします。



「分析ツール」アドインの組み込み状況は、パソコンごとに管理されます。たとえ、EOMONTH関数を使用しているブックを開いたとしても、それだけで自動的に「分析ツール」アドインが組み込まれることはありません。「分析ツール」アドインが組み込まれていないExcelでは、EOMONTH関数がエラーになります。

EOMONTH関数を使ったブックを自分だけが使うのでしたら問題ありません。しかし、そのブックを他の人に使ってもらうときには注意が必要です。「分析ツール」アドインの存在は意外と知られていませんので、エラーの原因がアドインにあるとは気づかない人も多いです。

なお、Excel 2007では、それまで「分析ツール」アドインで提供されていた特別な関数を、アドインを組み込まなくても使用できるようになりました。詳しくは「分析ツールの関数が標準で使える」をご覧ください。

標準の関数で月末日を調べる



月末日は、「分析ツール」アドインのEOMONTH関数を使わなくても調べることができます。

ここでは、1月の月末日を例に考えてみましょう。また、式を簡単に表すため、基準となる日(ここでは2009/01/15)がセルB2に入力されているものとします。

ある月の月末日とは、その翌月1日の前日です。



ということは、

(1)月末日を調べたい月の翌月を求めて
(2)その翌月の1日から1を引いた日

が月末日ということになります。









このエントリーをはてなブックマークに追加