日付のフィールドを持つデータが有ります。
各月にそれぞれ週が何個あるかという値を
計算式で出したいです。
どなたかご教授いただけないでしょうか?
宜しくお願いします。
답변 6개

月曜日始まりですね。ここでは途中で始まった/終わった週もそれぞれ1週とカウントするものとして考えてみます。
まずは日付データから月の開始日を取ります。
これがその月の第1週になるのですが、週のカウントがしやすくなるように、その第1週の月曜日の日付を求めます。
同じようにして、その月の末日の所属週を求めます。月の末日というのは翌月1日の1日前なので、DATEADDで1ヶ月プラスしてから1日マイナスしています。
ここまでで求めた2つの所属週の関係は、4月を例にとって図に表すと次のようになります。
すなわち、この2つの日付の差をとって7で割れば週の数が求まります。上で例に挙げた4月は5週とカウントされています。
通常、1ヶ月は最大31日間なので7で割ると4.42....≒切り上げても5週間となりますが、月曜日スタートというのを考慮してあるので、5月のように6週とカウントされる月が出てきます。