第1日曜日・第1月曜日…第1土曜日の日付を求める数式(1)

Excel Version: Excel2016 Excel2013 Excel2010 Excel2007 Excel2003 Excel2002 Excel2000 Excel97 ([3]2017-11-30)

Excel アイコン月の最初の日曜日~土曜日の日付を求める数式です。

 この数式は、(1)指定された任意の日付、(2)指定された1日の日付、(3)今日の日付から第1日曜日・第1月曜日…第1土曜日の日付を求める数式です。

● 数式を組み立てられるようになりたい人のための解説

  B2セルの日付から第1月曜日の日付を求める式を例に説明しましょう。

  B C 解説
1 日付 B列セルの内容  
2 2017/11/15 2017/11/15  
3 2017/11/6 ="2017/11/1"+5 (1)基本になるのはこの式。
まずは月頭の日付から第1月曜日を求めます。
2017年11月1日は水曜日です。月曜日は5日後なので、“2017/11/1”に+5で計算できます。
4 2017/11/1 =DATE(YEAR($B$2),MONTH($B$2),1) (2)B2セル(2017/11/15)から“2017/11/1”をDATE関数、YEAR関数、MONTH関数を使って作ります。
5 5 =VALUE(MID("1065432",4,1)) (3)1日から最初の月曜日までの日数を表す5ですが、1日が日曜日の場合は+1、月曜だと+0、火曜:+6、水曜:+5、木曜:+4、金曜:+3、土曜:+2となり、1065432の順になります。
"2017/11/1"の場合は、MID関数で文字列の4番目の数字を取り出して使うことにします。VALUE関数で数値化します。
6 5 =VALUE(MID("1065432",WEEKDAY(
DATE(YEAR($B$2),MONTH($B$2),1),1),1))
(4)MID関数の取り出す文字位置(4)をWEEKDAY関数を使って自動化します。日付は(2)の式を使って1日の日付にします。
7 2017/11/6 =DATE(YEAR($B$2),MONTH($B$2),1)
+VALUE(MID("1065432",WEEKDAY(
DATE(YEAR($B$2),MONTH($B$2),1),1),1))
(5)(1)の式の"2017/11/1"を(2)の式で置き換え、同じく(1)の式の5を(4)の式で置き換えて出来上がりです。


◆ Excel2010以降のみで使用する場合は、こちら↓の数式も使えます。
 【第1日曜日・第1月曜日…第1土曜日の日付を求める数式(2)】(click here)



Excel Tips『コピペで使える数式:第1日曜日・第1月曜日…第1土曜日の日付を求める数式(1)』更新記録

2017/11/30
[3] HTML5,UTF-8対応。Excel version 2016を追加。[コピー]ボタンを設置。
2012/11/17
[2] 常時現在月例示に対応。
2007/01/30
新規Tipsとして公開