エクセルで第3月曜日・第2火曜日の日付を求める関数|第何週の何曜日かを計算する式【実機で解説】

エクセルで第3月曜日・第2火曜日の日付を求める関数|第何週の何曜日かを計算する式【実機で解説】

第 n ○曜日の日付は、=DATE(年,月,1)+MOD(曜日の番号-WEEKDAY(DATE(年,月,1)),7)+(n-1)*7 で求めます。その月の 1 日から数えて最初の○曜日を出し、そこに 7 日ずつ足していく式です。曜日の番号は、日曜が 1、月曜が 2 …土曜が 7 です。

この記事では、2026 年の成人の日(1 月の第 2 月曜日)や敬老の日(9 月の第 3 月曜日)を例に、第 n 曜日の日付の出し方と、反対に日付が第何曜日かを調べる式を、実際の Excel で確かめた結果で説明します。

練習用Excelファイル(無料ダウンロード)
年・月・第n・曜日の番号の表に、この記事の第n曜日の式を入れた練習ファイルです。年や月を書き換えると日付が変わります。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

第n曜日の日付を求める式

=DATE(年,月,1) + MOD(曜日の番号-WEEKDAY(DATE(年,月,1)),7) + (第n-1)*7
部品意味
DATE(年,月,1)その月の 1 日の日付
WEEKDAY(DATE(年,月,1))1 日の曜日の番号(日曜=1、月曜=2、火曜=3、水曜=4、木曜=5、金曜=6、土曜=7)
MOD(曜日の番号-…,7)1 日から、最初の○曜日まで何日あるか(0〜6)
(第n-1)*7第 2 なら 7 日、第 3 なら 14 日を足す

MOD は割り算の余りを出す関数です。引き算がマイナスになっても、7 で割った余りは 0〜6 になるので、「次の○曜日まで何日か」がいつも正しく出ます。

1. 年・月・第n・曜日から日付を出す

A 列に年、B 列に月、C 列に第 n、D 列に曜日の番号(月曜なら 2)を入れておきます。I2 に式を入れて、下へコピーします。

=DATE(A2,B2,1)+MOD(D2-WEEKDAY(DATE(A2,B2,1)),7)+(C2-1)*7
エクセルでDATE関数とWEEKDAY関数を使って年と月と第nと曜日から第n曜日の日付を求めた画面
エクセルでDATE関数とWEEKDAY関数を使って年と月と第nと曜日から第n曜日の日付を求めた画面

2026 年 1 月の第 2 月曜日(成人の日)は 2026/1/12、7 月の第 3 月曜日(海の日)は 2026/7/20、9 月の第 3 月曜日(敬老の日)は 2026/9/21、10 月の第 2 月曜日(スポーツの日)は 2026/10/12 になりました。2026 年の祝日の日付と合っています。

曜日の番号を変えれば、月曜以外も出せます。5 月の第 2 日曜日(母の日)は 2026/5/10、11 月の第 4 木曜日は 2026/11/26 でした。第 2 火曜日なら、第 n を 2、曜日の番号を 3 にします。

2. 日付がその月の第何曜日かを出す

反対に、日付から「その月の何回目の曜日か」を出します。日(DAY)から 1 を引いて 7 で割り、小数を切り捨てて 1 を足します。ここでは 1 で出した日付(I2 から下)を使います。

=INT((DAY(I2)-1)/7)+1
エクセルでDAY関数とINT関数を使って日付がその月の第何曜日かを求めた画面
エクセルでDAY関数とINT関数を使って日付がその月の第何曜日かを求めた画面

上から 2・3・3・2・2・4 になり、C 列の第 n と同じ数字が出ました。1〜7 日は第 1、8〜14 日は第 2、15〜21 日は第 3 …と、日だけで決まります。

これは「その月で何回目の○曜日か」です。カレンダーの何段目か(月の第何週か)とは違う数字になることがあります。週の数え方は WEEKNUM関数の使い方で説明しています。

3. 月の最後の○曜日の日付を出す

「最終金曜日」のように、月の最後の○曜日を出す式です。DATE(年,月+1,0) はその月の末日で、そこから○曜日まで戻ります。

=DATE(A2,B2+1,0)-MOD(WEEKDAY(DATE(A2,B2+1,0))-D2,7)
エクセルでDATE関数とWEEKDAY関数を使って月の最後の曜日の日付を求めた画面
エクセルでDATE関数とWEEKDAY関数を使って月の最後の曜日の日付を求めた画面

2026 年 1 月の最後の月曜日は 2026/1/26、5 月の最後の日曜日は 2026/5/31 でした。11 月の最後の木曜日は 2026/11/26 で、1 で出した第 4 木曜日と同じ日です。

最後の○曜日は、月によって第 4 のことも第 5 のこともあります。「最後」と決まっているときは、この式のほうがまちがいがありません。

4. 「第2月曜日」のように文字で表示する

2 の式に、「第」の文字と、TEXT 関数で出した曜日をつなげます。"aaaa" は「月曜日」のように曜日を出す表示形式です。

="第"&INT((DAY(I2)-1)/7)+1&TEXT(I2,"aaaa")
エクセルで日付から第2月曜日のように第何曜日かを文字で表示した画面
エクセルで日付から第2月曜日のように第何曜日かを文字で表示した画面

2026/1/12 は「第2月曜日」、2026/9/21 は「第3月曜日」、2026/5/10 は「第2日曜日」、2026/11/26 は「第4木曜日」と表示されました。予定表の日付の横に入れておくと、ごみの日や定例会議の確認に使えます。

【実機で検証】第n曜日の計算でつまずくところ

エクセルの第n曜日の式で2026年の祝日や第5曜日がない月や曜日の番号をまちがえたときの結果を確かめた画面
エクセルの第n曜日の式で2026年の祝日や第5曜日がない月や曜日の番号をまちがえたときの結果を確かめた画面
ためしたこと式結果
成人の日(2026 年 1 月 第 2 月曜日)=DATE(2026,1,1)+MOD(2-WEEKDAY(DATE(2026,1,1)),7)+(2-1)*72026/1/12
敬老の日(2026 年 9 月 第 3 月曜日)=DATE(2026,9,1)+MOD(2-WEEKDAY(DATE(2026,9,1)),7)+(3-1)*72026/9/21
1 日が月曜日の月(2026 年 6 月 第 1 月曜日)=DATE(2026,6,1)+MOD(2-WEEKDAY(DATE(2026,6,1)),7)+(1-1)*72026/6/1
第 5 月曜日がない月(2026 年 2 月)=DATE(2026,2,1)+MOD(2-WEEKDAY(DATE(2026,2,1)),7)+(5-1)*72026/3/2
上の日付(B7)の月が 2 月でなければ「なし」=IF(MONTH(B7)<>2,"なし",B7)なし
月曜のつもりで番号を 1 にした=DATE(2026,1,1)+MOD(1-WEEKDAY(DATE(2026,1,1)),7)+(2-1)*72026/1/11

年・月・第 n・曜日の番号を数字で直接入れても、成人の日は 2026/1/12、敬老の日は 2026/9/21 になりました。1 日がちょうど月曜日の 2026 年 6 月は、第 1 月曜日が 2026/6/1 で、1 日そのものが出ます。

第 5 月曜日がない 2026 年 2 月で第 5 を指定すると、2026/3/2 と翌月の日付になりました。エラーにはならないので気づきにくい所です。IF と MONTH で「出た日付の月が、指定した月と違ったら『なし』」とすると、なし と表示できます。

月曜日のつもりで曜日の番号を 1 にすると 2026/1/11 になり、日曜日の日付が出ました。この式の番号は、日曜が 1、月曜が 2 です。

よくある質問

ハッピーマンデーの祝日の日付を毎年出すには?

年のセルを書き換えるだけで、その年の第 n 月曜日が出ます。成人の日は 1 月の第 2、海の日は 7 月の第 3、敬老の日は 9 月の第 3、スポーツの日は 10 月の第 2 月曜日です(2026 年時点の決まり)。祝日に色を付ける方法は 祝日に色を付ける方法で説明しています。

曜日の番号ではなく「月」と入れて計算したいです。

MATCH(曜日のセル,{"日","月","火","水","木","金","土"},0) で番号に変えられます。式の「曜日の番号」の所を、この MATCH に置きかえます。曜日の番号の決まりは WEEKDAY関数の使い方で説明しています。

その週の月曜日の日付を出したいです。

日付からその週の月曜日を出す式は 日付からその週の月曜日を求める方法で説明しています。

練習用Excelファイル(無料ダウンロード)
この記事の例をまとめた練習ファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次