ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.021

月の日数、月末を求める 《EOMONTH》

2003/2007/2010/2013

月に何日あるかは(わたしは「西向くサムライ(士)」という覚え方をしていますが)、2月、4月、6月、9月、11月は31日ない月となっています。
問題は2月ですよね。通常は28日ですが、4年に一度のうるう年では29日です。

こういった月の日数を求めたい、もしくは月末を求めたいという場合です。

ちょっと確認したいだけなら、セルに少し前の日付を入力し、オートフィルで連続データを入力することで、月末の日付がわかります。

今回は関数を使って月末、月の日数を求めてみましょう。

月末を求めるには、ズバリの関数があります。EOMONTH関数(分類: 日付/時刻)です。

EOMONTH関数は、指定した月の最終日の日付を求めることかでき、引数は2つだけです。
1つ目の引数[開始日]は、月末を調べたい月の任意の日を指定します。もちろんセル参照も可能です。
2つ目の引数[月]は、先に指定した日付の何か月後の末日を求めたいかを数値で指定します。「0」と指定すると、同じ月の月末を求めることができます。

例えば、2030年の2月の末日は、次で求めることができます。

  =EOMONTH("2030/2/1",0)

表示形式を日付に設定し、答えは「2030/2/28」となります。

EOMONTH

EOMONTH関数では、月末が日付データで返されます。
月の日数を求めたい場合は、日付データの日の部分のみを返すDAY関数(分類: 日付/時刻)を使って、次のように求めることができます。

  =DAY(EOMONTH("2030/2/1",0))

DAY関数の引数に、日付データを返すEOMONTH関数をネストし、「28」という数値が返されます。

EOMONTHとDAY

もし、日数を数値データまですることなく見栄えだけで構わないのであれば、EOMONTH関数で返されたセルに表示形式「d」を設定して、「日」の値のみを表示するようにすることも可能です。

EOMONTHと表示形式

ヘルプmemo

<EOMONTH関数 (日付/時刻関数)>

開始日から起算して、指定した月だけ前または後の月の最終日に対応するシリアル値を返します。
 数式: =EOMONTH(開始日, 月)
 引数:
  開始日 …計算の起算日となる日付のシリアル値、またはセル参照を指定
  月 …開始日から起算した月数を指定
 ヒント:
  月には、負の整数も指定できます。   

twitter hatena line pocket

関連ヘルプ

2つの日付の期間が何年かを求める 《DATEDIF》
セルに入力されている数値を時刻の表示にする 《TIME》
時刻の「8:30」を「8.5」と数値に変換する
日付を表す8桁の数値データを、6桁の和暦にしたい 《DATE・TEXT》