Skip to main content

日付のフィールドを持つデータが有ります。

各月にそれぞれ週が何個あるかという値を

計算式で出したいです。

どなたかご教授いただけないでしょうか?

宜しくお願いします。​

6 respostas
  1. 4 de mar. de 2021, 02:01

    月曜日始まりですね。ここでは途中で始まった/終わった週もそれぞれ1週とカウントするものとして考えてみます。

    まずは日付データから月の開始日を取ります。

    月曜日始まりですね。ここでは途中で始まった/終わった週もそれぞれ1週とカウントするものとして考えてみます。​まずは日付データから月の開始日を取ります。​これがその月の第1週になるのですが、週のカウントがしやすくなるように、その第1週の月曜日の日付を求めます。​同じようにして、その月の末日の所属週を求めます。月の末日というのは翌月1日の1日前なので、DATEADDで1ヶ月プラスしてから1日マイナスし

    これがその月の第1週になるのですが、週のカウントがしやすくなるように、その第1週の月曜日の日付を求めます。

    キャプチャ

    同じようにして、その月の末日の所属週を求めます。月の末日というのは翌月1日の1日前なので、DATEADDで1ヶ月プラスしてから1日マイナスしています。

    キャプチャ

    ここまでで求めた2つの所属週の関係は、4月を例にとって図に表すと次のようになります。

    キャプチャ

    すなわち、この2つの日付の差をとって7で割れば週の数が求まります。​上で例に挙げた4月は5週とカウントされています。

    キャプチャ

    通常、1ヶ月は最大31日間なので7で割ると4.42....≒切り上げても5週間となりますが、月曜日スタートというのを考慮してあるので、5月のように6週とカウントされる月が出てきます。

    キャプチャ

0/9000