How to Find the Nth Weekday of a Month in Excel
By ExcelReady TeamUpdated 6 min read
The short answer
To find the nth weekday of a month in Excel, start from the first day of the month, step forward to the first matching weekday, then add 7 days for each later week: =DATE(Y,M,1)+MOD(D-WEEKDAY(DATE(Y,M,1),2),7)+7*(N-1), where D is the weekday (Monday = 1) and N is 1st, 2nd, 3rd or 4th.
Key takeaways
- The formula is =DATE(Y,M,1)+MOD(D-WEEKDAY(DATE(Y,M,1),2),7)+7*(N-1), with D from 1 (Monday) to 7 (Sunday).
- MOD(D-WEEKDAY(first,2),7) is the number of days from the 1st to the first matching weekday, from 0 to 6.
- The 4th Thursday of November 2026 is 26 November 2026.
- For the last weekday, start from EOMONTH and step back instead.
- A 5th weekday doesn't exist in every month, so check that the result is still in the same month.
On this page+
To find the nth weekday of a month in Excel, such as the 4th Thursday or the 2nd Tuesday, you need one formula built from DATE, WEEKDAY and MOD. It finds the first matching weekday in the month, then adds 7 days for each week after that. This guide is for anyone scheduling meetings, pay dates or holidays that fall on "the third Monday" and wants a formula that works for any month and year.
The nth weekday of month formula#
Put the year, month, weekday and N in cells, then use:
=DATE(B1,B2,1)+MOD(B3-WEEKDAY(DATE(B1,B2,1),2),7)+7*(B4-1)| Cell | Holds | Example |
|---|---|---|
| B1 | Year | 2026 |
| B2 | Month number | 11 |
| B3 | Weekday, Monday = 1 to Sunday = 7 | 4 (Thursday) |
| B4 | Which one: 1st, 2nd, 3rd or 4th | 4 |
The result is 46352, which is Thursday 26 November 2026, US Thanksgiving. Excel stores every date as a whole number, so format the cell as a date with Ctrl+1 (Mac: ⌘1), or show it as text with =TEXT(B6,"ddd d mmm yyyy"), which returns "Thu 26 Nov 2026". The date basics lesson explains why dates are numbers.
How the formula works, piece by piece#
The formula has three parts, and each one answers a simple question.
- Where does the month start?
DATE(B1,B2,1)is the 1st of the month: Sunday 1 November 2026. - How many days until the first Thursday?
WEEKDAY(DATE(B1,B2,1),2)gives the weekday of the 1st with Monday = 1, so Sunday is 7.MOD(4-7,7)turns −3 into 4. Four days after Sunday the 1st is Thursday 5 November. - How many weeks to add?
7*(B4-1)adds 0 days for the 1st Thursday, 7 for the 2nd, 14 for the 3rd and 21 for the 4th. Adding 21 to 5 November gives 26 November.
MOD is what makes this work. It always returns a number from 0 to 6, so you never step backwards into the previous month. If the 1st is already the weekday you want, MOD returns 0 and the 1st itself is the first match. The guide to the WEEKDAY function explains the return types in more detail.
Weekday numbers to use#
With WEEKDAY type 2, the numbers run from Monday to Sunday:
| Weekday | D | Weekday | D |
|---|---|---|---|
| Monday | 1 | Friday | 5 |
| Tuesday | 2 | Saturday | 6 |
| Wednesday | 3 | Sunday | 7 |
| Thursday | 4 |
Type 2 is easier to remember than the default (type 1), which starts on Sunday = 1. Whatever you choose, use the same type for D and inside WEEKDAY, or every answer shifts by a day.
Examples: holidays and meeting dates#
The same formula handles any "nth weekday" rule. Here are some common ones, each checked against a calendar:
| Rule | Year, month, D, N | Result |
|---|---|---|
| Labor Day (US): 1st Monday of September | 2026, 9, 1, 1 | Mon 7 Sep 2026 |
| Thanksgiving (US): 4th Thursday of November | 2026, 11, 4, 4 | Thu 26 Nov 2026 |
| 2nd Tuesday of December | 2026, 12, 2, 2 | Tue 8 Dec 2026 |
| Martin Luther King Jr. Day (US): 3rd Monday of January | 2027, 1, 1, 3 | Mon 18 Jan 2027 |
To list a date for every month, put the 1st of each month in column A (=DATE(2027,1,1) in A2, then =EDATE(A2,1) in A3 filled down). In B2, find the 2nd Tuesday:
=A2+MOD(2-WEEKDAY(A2,2),7)+7Fill it down and you get 12 Jan, 9 Feb, 9 Mar and 13 Apr 2027 for the first four months. If you want a month name next to each date, see how to get the month name from a date.
A shorter formula with DATE and WEEKDAY#
You may also see this version, which uses the default WEEKDAY type (Sunday = 1):
=DATE(Y,M,1+7*N)-WEEKDAY(DATE(Y,M,8-D))Here D runs from 1 (Sunday) to 7 (Saturday), so Thursday is 5. For Thanksgiving 2026, =DATE(2026,11,1+7*4)-WEEKDAY(DATE(2026,11,8-5)) also returns 26 November 2026. It's shorter but harder to read. Both formulas give the same answer for every month, so pick the one you can explain. Just don't mix their weekday numbers: Thursday is 4 in the first formula and 5 in this one.
How to find the last weekday of a month#
The last Monday or last Friday needs a different approach, because some months have four and some have five. Start from the last day of the month with EOMONTH and step back:
=EOMONTH(A2,0)-MOD(WEEKDAY(EOMONTH(A2,0),2)-D,7)For US Memorial Day (the last Monday of May), with any date in May 2027 in A2 and D = 1, the result is Mon 31 May 2027. EOMONTH(A2,0) is the month's last day. The EOMONTH function guide covers its arguments, and how to find the last Friday of the month walks through this formula in detail. For the first day of a month from any date, EOMONTH(A2,-1)+1 works too; see the first and last day of the month.
What if the month has no fifth weekday?#
Every month has at least four of each weekday, but only some have a fifth. In 2026, only January, May, July and October have five Fridays. If you ask for N = 5 in another month, the formula quietly returns a date in the next month.
Guard against it by checking the month of the result:
=IF(MONTH(B6)=B2,B6,"None this month")For example, the "5th Friday" of February 2026 would land on 6 March, so the check returns "None this month". The guide on how many days are in a month explains why the count changes: a month has a fifth weekday only when it has 29 or more days and starts on the right day.
Practise it#
These formulas combine the date skills that job tests check most. Practise EDATE, EOMONTH and WEEKDAY in a live spreadsheet: you type the formula and it checks it instantly. Then try the Thanksgiving exercise on this page, and change B3 and B4 to find any other weekday.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Find US Thanksgiving 2026: the 4th Thursday of November. Click B6 and type =DATE(B1,B2,1)+MOD(B3-WEEKDAY(DATE(B1,B2,1),2),7)+7*(B4-1), then press Enter.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | Date | |||
| 7 | ||||
| 8 | ||||
| 9 |
Tip: 1 November 2026 is a Sunday (7). MOD(4-7,7) is 4, so the first Thursday is 5 November. Add 21 days to get 26 November 2026, serial number 46352.
Practise this in a lesson
Frequently asked questions
How do I find the second Tuesday of the month in Excel?
With the first day of the month in A2, use =A2+MOD(2-WEEKDAY(A2,2),7)+7. The 2 inside MOD is Tuesday and the +7 moves from the first Tuesday to the second.
How do I calculate Thanksgiving in Excel?
US Thanksgiving is the 4th Thursday of November. For 2026, =DATE(2026,11,1)+MOD(4-WEEKDAY(DATE(2026,11,1),2),7)+21 returns 26 November 2026.
Why does my nth weekday formula return a number like 46352?
Excel stores dates as serial numbers, and 46352 is 26 November 2026. Format the cell as a date with Ctrl+1 (Mac: Cmd+1), or wrap the formula in TEXT.
How do I find the last Monday of a month in Excel?
Use =EOMONTH(A2,0)-MOD(WEEKDAY(EOMONTH(A2,0),2)-1,7). It starts from the last day of the month and steps back to the most recent Monday.