ヘルプの森~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(開始日, 月)
 引数:
  開始日 …計算の起算日となる日付のシリアル値、またはセル参照を指定
  月 …開始日から起算した月数を指定
 ヒント:
  月には、負の整数も指定できます。   

関連ヘルプ

7桁で入力されている郵便番号のデータにハイフォンを挿入したい 《REPLACE》
左から(右から・途中から)決まった文字数の文字列を取り出す 《LEFT・RIGHT・MID》
余分なスペースを削除してスペースを全角または半角に揃える 《SUBSTITUTE・TRIM》
全角の英数字を半角にするには、またはその逆 《ASC・JIS》
数字文字列を数値にする(関数編) 《VALUE》
別々のセルに入っているデータを結合して(つなげて)表示する 《アンパサンド・CONCAT (CONCATENATE) 》
2つの日付の期間が何年かを求める 《DATEDIF》
セルに入力されている数値を時刻の表示にする 《TIME》
時刻の「8:30」を「8.5」と数値に変換する
循環参照を解決するために
条件を満たすセルの個数を数える 《COUNTIF》
フィルターで抽出されたデータの件数、合計をセルに表示したい 《SUBTOTAL》
検索条件に一致するデータの合計を求める 《SUMIF》
負の小数値を合計したときに計算結果に誤差が生じる
カウントする関数が何をカウントするか 《COUNT・COUNTA・COUNTBLANK》
=のあとに+が表示された「=+」から始まる数式の意味とは
数式で参照しているセルを変更しても、結果が更新されない
セルに計算結果ではなく数式が表示されている
先頭のシングル クォーテーション、アポストロフィー(')を取るには(関数編) 《SUBSTITUTE》
10進数の数値を2進数と16進数に変換するには 《DEC2BIN・DEC2HEX》
twitter hatena line pocket