指定した日が含まれる週の週初日を求める方法

週の開始日を求める Excel VBA
週の開始日を求める

指定した日が含まれる週の週初日を求める

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

関数のとしての使い方はとてもシンプルです。

下の図を参考にして使ってみて下さいね。

週の開始日を求める関数

週の開始日を求める関数

ありがとう。また、よろしくね。

げっ!

指定した日が含まれる月の月初日を求める方法
EXCELの関数で指定した日が含まれる月の開始日(月初日)を求める方法について掲載しています。
指定した日が含まれる月の月初日を求める方法
EXCELの関数で指定した日が含まれる月の開始日(月初日)を求める方法について掲載しています。
タイトルとURLをコピーしました