- Excel Version:
- 2019
- 2016
- 2013
- 2010
- 2007
- 2003
- 2002
- 2000
- 97
- ([4]2020-11-25)
月の最初の日曜日~土曜日の日付を求める数式です。
この数式は、(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)』更新記録
- 2020/11/25
- [4] Excel2019を追加。
- 2017/11/30
- [3] HTML5,UTF-8対応。Excel version 2016を追加。[コピー]ボタンを設置。
- 2012/11/17
- [2] 常時現在月例示に対応。
- 2007/01/30
- 新規Tipsとして公開