第1日曜日・第1月曜日…第1土曜日の日付を求める数式(1)
HOME > PCワンポイント活用術 > エクセル(Excel)の活用術 > コピペで使える数式【第1日曜日・第1月曜日…第1土曜日の日付を求める数式(1)】
Excel Version: Excel2013 Excel2010 Excel2007 Excel2003 Excel2002 Excel2000 Excel97 Excel95
Update:2012-11-17[2]
 この数式は、(1)指定された任意の日付、(2)指定された1日の日付、(3)今日の日付から第1日曜日・第1月曜日…第1土曜日の日付を求める数式です。

 1.指定セルの任意の日付から求める数式
   ●第2〜第4月曜日を求める場合
   ●数式を組み立てられるようになりたい人のための解説
 2.指定セルの1日の日付から求める数式
 3.今日の日付から求める数式

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


● 数式を組み立てられるようになりたい人のための解説
  B2セルの日付から第1月曜日の日付を求める式を例に説明しましょう。

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

↑ページトップへ





↑ページトップへ