月の最終日を取得する

ある月の月末日を求めるケースはけっこうあると思います。 直接入力してもたいした手間ではありませんが、関数を埋め込んでおいても不便にはならないでしょう。
  1. 月末日を取得する

  1. 月末日を取得する
  2. ◆月末日を取得する

    日付のうち「年」「月」が特定できれば、その月の末日を求めることができます。
    ABC
    1
    220034=DAY(DATE(A2,B2+1,0))
    求めたい日付の「年」「月」までがわかっているので、これが利用できます。
    「年」「月」「日」の値を元にシリアル値を求める関数として DATE関数があります。
    上記の数式では「2003年5月0日」を求めている形ですが、 「2003年5月0日」、すなわち、「2003年5月1日の一日前」=「2003年4月の最終日」となります。 この点、DATE関数は非常に柔軟です。 例えば「12月の最終日」の場合でも、B2の値が「12」の場合はDATE関数は 「2003年13月0日」のシリアル値を求める計算になりますが、 もちろんこれはありえない日付なので自動的に「2004年1月0日」へと読み替え、 これもありえない日付なので「2003年12月31日」へと読み替えられます。
    関数ヘルプ
    DATE関数(HINT)
    DAY関数(HINT)

    ▲PAGETOP

    ◆月末日までの日付リストを作成する

    次の表はA2、B2に年と月を入力するようになっています。
    A4:A34の範囲にA2、B2の値に基づいた日付を自動的に増減させることを意図します。
    ABC
    1
    220034
    3
    41
    52


    2926
    3027
    3128
    3229
    3330
    3431

    いろいろなやり方があると思います。 まず、28日間より少ない月はありません。 ですから、A31(28日)までは定数の数値として入力しておいても差し支えありません。 29日から31日の日付にあたる部分、つまりA32:A34の範囲が毎月可変となる部分です。 一例として次のような数式を該当のセルへ入力する方法があります。
    ABC
    1
    220034
    3
    4=IF(MONTH(DATE($A$2,$B$2,ROW(A1)))=$B$2,ROW(A1),"")A4の数式をA34までコピー
    52


    2926
    3027
    3128
    3229
    3330
    3431


     ▲PAGETOP


≪前のページへ    困ったときのお部屋目次へ   次のページへ≫

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送