Quick, clean, and to the point

Get first Monday before any date

Excel formula: Get first Monday before any date
Generic formula 

To find the first Monday before any date you can use a formula based on the WEEKDAY function. In the example shown, the formula in C6 is:


How this formula works

If you imagine you have any random date and want to look back in time to find the nearest Monday, you can see that you will need to "roll back" a specific number of days, depending on the day of week (e.g. Mon, Tue, etc) of the starting date. If the date is a Monday, you'll need to drop back 7 days, if the date is a Tuesday, you'll need to drop back 1 day, and so on. The table below shows the adjustment needed for each day of the week.

Date Days to drop back
Monday 7
Tuesday 1
Wednesday 2
Thursday 3
Friday 4
Saturday 5
Sunday 6

The formula is based on the fact that Monday is 2 in Excel's default scheme, where weeks begin on Sunday. The "roll back" is calculated by getting the weekday value of the date 2 days before the given date, and subtracting this value from the date. So, assuming a date of June 4, 2015 (a Thursday) in cell A1, the formula is solved as follows:

=June 4,2015-WEEKDAY(June 4,2015-2)
=June 4,2015-WEEKDAY(June 2,2015)
=June 4,2015-3
=June 1,2015

An alternative

If you find the weekday adjustment confusing and non-intuitive, you use an alternative formula that uses the CHOOSE function with hard-coded adjustment values:


This formula uses WEEKDAY to get an index for the day of week, and CHOOSE to fetch the correct roll back. One advantage of this approach is that CHOOSE allows arbitrary values for each day of the week. This is handy if you don't want to roll back if the date is already Monday. In that case, you can supply zero as the roll back number for when WEEKDAY returns 2 (Monday).

Monday previous to today

If you need to find the Monday previous to today, just use the TODAY function for date:

Dave Bruns

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.