List First Monday Date in Each Month Excel - KING OF EXCEL

## List First Monday Date in Each Month Excel

With Excel formulas we can easily list the first Monday date in each month, or the last Sunday, or whatever day you like.
I’ll use the DATE and WEEKDAY functions to generate the list of dates, and then I’ll show you some alternatives, including a dynamic array solution using SEQUENCE. Plus, I’ll connect the formula to a data validation list that lets you choose which day to display.

## List First Monday Date in Each Month Formula

The formula is:
`=DATE(2020,{1;2;3;4;5;6;7;8;9;10;11;12},7)- WEEKDAY(DATE(2020,{1;2;3;4;5;6;7;8;9;10;11;12},1)-1,3)`
And you can see the results in Office 365* spill to the cells below, generating a list of 12 dates: *Note: Excel 2019 and earlier users must select 12 empty cells first, then enter the formula with CTRL+SHIFT+ENTER. The spill functionality is currently only available in Office 365 for users on the Insider Channel.

I’ll dive into explaining the formula in a moment, but first the syntax for DATE and WEEKDAY are below:
`=DATE(year, month, day)`
`=WEEKDAY(date, return_type)`
Where return_type is selected from this list: Click the links below to see comprehensive tutorials for these functions:
DATE function tutorial
WEEKDAY function tutorial

## List First Monday Date in Each Month Formula Explained

We can break the formula down into 3 parts which I’ve colour coded below:
```=DATE(2020,{1;2;3;4;5;6;7;8;9;10;11;12},7)-

WEEKDAY(

DATE(2020,{1;2;3;4;5;6;7;8;9;10;11;12},1)-1

,3)```
Part 1: Generates a list of dates for the 7th of each month. The month argument contains an array of values 1 to 12, one for each month.
Part 2: Generates a list of dates for the 1st of each month minus 1 day. i.e. the last day of the previous month.
Part 3: Finds the WEEKDAY number of the last day of the previous month (from part 2).
Finally, part 3, the weekday number is subtracted from part 1 to return the first Monday date for each month.
The image below shows the formula broken down into steps: ## Choose First Day of Each Month to Display

With some data validation we can allow the user to choose which day they want listed by altering the number of days to subtract from the last day of the month: ## Choose Last Day of Each Month to Display

Alternatively, with the EOMONTH function we can modify the formula to list the last day of the month. It requires an adjustment to the number of days we need to subtract (see table in blue): ## List First Monday Date in Each Month Formula with ROW

Instead of listing the days of the months manually inside the DATE formula i.e. {1;2;3;4;5;6;7;8;9;10;11;12}, we can use the ROW function to automatically generate them: ## List First Monday Date in Each Month Dynamic Array Formula

Alternatively, for those of us with Office 365 and dynamic arrays we can use the SEQUENCE function to generate the 12 month numbers: No one formula is better than the other, so you’re free to choose which one you use.
Have a great day,
#evba #etipfree #eama #kingexcel