指定した日が含まれる週の週初日を求める
Excelで指定した日が含まれる週の週初日を求める方法
Excelで指定した日が含まれる週の開始日(週初日)を求めるにはどうしたらいい?
ExcelのWEEKDAY関数を使えば簡単に求められますよ。
例えば、指定する日(2020年1月1日)をA1セルに入力しておきます。そのA1セルに入力されている日が含まれる週の週初日(開始日)を求めたい場合は
=A1 – WEEKDAY(A1,1)+1 → 2019年12月29日
とセルに入力すればできますよ。結果は2019年12月29日となります。
最後のパラメーターの”1″は週の開始を日曜日とするために指定しています。
逆に週末日を求めるにはどうすればいいの?
週初日に6を加算すれば週末日となりますよね。
したがって、先程の式の最後に”+6″を付けることで週末日となります。
=A1 – WEEKDAY(A1,1) +6 → 2020年1月4日
関数として利用する方法
VBAで関数として利用する方法
セルに数式を入れて週初日や週末日を求める方法はわかったのだけど、today()やnow()みたいに関数として使えれば、他の人にも使ってもらいやすいのだけど...
VBAの標準モジュールに以下のような記述をすれば、関数の様につかうことができますよ。
そのファイルは必ず拡張子 .xlsmで保存して下さいね。
実際のコーデイング
週の開始日を求める関数
週の開始日求める関数名をboweek(begining of week)とします。
Function boweek(日付 As Date) As Variant
boweek = 日付 – Weekday(日付, 1) + 1
End Function
週の最終日を求める関数
週の最終日求める関数名をeoweek(end of week)とします。
Function eoweek(日付 As Date) As Variant
eoweek = boweek(日付) + 6
End Function
関数のとしての使い方はとてもシンプルです。
下の図を参考にして使ってみて下さいね。
ありがとう。また、よろしくね。
げっ!