How to Count Mondays or Any Weekday Between Dates in Excel
By ExcelReady TeamUpdated 6 min read
The short answer
To count Mondays between two dates in Excel, use =NETWORKDAYS.INTL(A2,B2,"0111111"). The seven-digit code marks Monday as a working day and every other day as a weekend, so only Mondays are counted, and you can add holidays. In Microsoft 365 or Excel 2021, =SUMPRODUCT(--(WEEKDAY(SEQUENCE(B2-A2+1,1,A2))=2)) also works.
Key takeaways
- NETWORKDAYS.INTL with the code "0111111" counts Mondays only. Move the 0 to count another day.
- The code has seven digits for Monday to Sunday: 0 means count the day, 1 means skip it.
- WEEKDAY(date)=2 tests for Monday with the default return type, where Sunday is 1.
- =INT((B2-A2+WEEKDAY(A2-2))/7) counts Mondays in any Excel version without arrays.
- All these formulas include both the start and the end date.
On this page+
To count Mondays between dates in Excel, the quickest formula is =NETWORKDAYS.INTL(A2,B2,"0111111"). It treats Monday as the only working day, so it counts Mondays and nothing else. This guide explains that code, gives two other formulas that work for any weekday, and shows how to leave out holidays. It's useful for timesheets, class schedules, payroll and any plan that repeats on one day of the week.
All examples use a start date of Sunday 1 November 2026 in A2 and an end date of Thursday 31 December 2026 in B2. That period has 9 Mondays: 2, 9, 16, 23 and 30 November, and 7, 14, 21 and 28 December.
Count Mondays with NETWORKDAYS.INTL#
NETWORKDAYS.INTL counts working days between two dates, and it lets you say which days are the weekend. If you call every day except Monday "the weekend", it counts Mondays.
=NETWORKDAYS.INTL(A2,B2,"0111111")The result is 9. The third argument is a seven-character code, one digit per day from Monday to Sunday:
| Digit | 1st | 2nd | 3rd | 4th | 5th | 6th | 7th |
|---|---|---|---|---|---|---|---|
| Day | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
| Code for Mondays | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
A 0 means "working day, count it" and a 1 means "weekend, skip it". To count a different day, move the 0:
| Count | Code | Result for Nov–Dec 2026 |
|---|---|---|
| Mondays | "0111111" | 9 |
| Fridays | "1111011" | 8 |
| Sundays | "1111110" | 9 |
| Mondays and Wednesdays | "0101111" | 18 |
The code must be in double quotes and exactly seven characters. NETWORKDAYS.INTL works in Excel 2010 and later. For the difference between the two versions of the function, see NETWORKDAYS vs NETWORKDAYS.INTL.
Count Mondays excluding holidays#
To leave out public holidays, put them in a range and add it as the fourth argument. If H2:H4 lists holiday dates and one of them is Monday 28 December 2026:
=NETWORKDAYS.INTL(A2,B2,"0111111",H2:H4)The result drops to 8. Holidays that fall on other days have no effect, because those days are not counted anyway. This is the main reason to prefer NETWORKDAYS.INTL over the formulas below: they can't skip holidays without extra work.
Plain NETWORKDAYS counts Monday to Friday, so =NETWORKDAYS(A2,B2) returns 44 for the same period. The NETWORKDAYS function guide and the article on NETWORKDAYS and WORKDAY cover the standard five-day week.
Count any weekday with SUMPRODUCT and WEEKDAY#
This formula lists every date in the period, tests each one, and adds up the matches. It needs Microsoft 365 or Excel 2021 or later, because it uses SEQUENCE.
=SUMPRODUCT(--(WEEKDAY(SEQUENCE(B2-A2+1,1,A2))=2))Read it from the inside out:
B2-A2+1is the number of days in the period, including both ends: 61.SEQUENCE(61,1,A2)makes a list of 61 dates, starting at A2.WEEKDAY(...)turns each date into a day number. With the default return type, Sunday is 1 and Monday is 2.=2gives TRUE for each Monday and FALSE for the rest.--turns TRUE into 1 and FALSE into 0, and SUMPRODUCT adds them: 9.
Change the 2 to count another day: 6 for Friday, 1 for Sunday. To count two days, add the tests: --((WEEKDAY(...)=2)+(WEEKDAY(...)=4)>0). The WEEKDAY function guide explains the other return types, and the SUMPRODUCT function guide shows why the -- is needed.
In older Excel without SEQUENCE, the classic version builds the list with ROW and INDIRECT:
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(A2&":"&B2)))=2))It works, but INDIRECT recalculates every time anything in the workbook changes, which can slow down a large file. The guide to SUMPRODUCT in Excel has more examples of this counting pattern.
Count Mondays with a short INT formula#
If you want a formula that works in every version, with no arrays and no codes, use this one:
=INT((B2-A2+WEEKDAY(A2-2))/7)The result is 9. The 2 is the WEEKDAY number of the day you want to count (Monday), so WEEKDAY(A2-1) would count Sundays and WEEKDAY(A2-6) Fridays.
How it works: B2-A2 is the number of days after the start date. WEEKDAY(A2-2) adds an offset that depends on where in the week the start date falls. Dividing by 7 and taking INT gives the number of complete weeks, which is the number of times your chosen day appears. It is compact but hard to read, so add a comment or a label next to it.
Count Mondays in a month or a year#
For one month, build the start and end dates from any date in that month. If A2 holds 1 November 2026:
=NETWORKDAYS.INTL(A2,EOMONTH(A2,0),"0111111")EOMONTH(A2,0) returns the last day of the same month, 30 November, so the result is 5. Every month has either four or five of each weekday.
For a whole year, use the first and last days: =NETWORKDAYS.INTL(DATE(2026,1,1),DATE(2026,12,31),"0111111") returns 52. A year has 52 or 53 of each weekday, depending on which day it starts on.
Common mistakes when counting weekdays#
These slips give a count that's one off, or an error:
- Using the wrong day number. With WEEKDAY's default type, Monday is 2, not 1. With return type 2, Monday is 1. Pick one and stick to it.
- Getting the code order wrong. The NETWORKDAYS.INTL code starts on Monday, not Sunday.
"1011111"counts Tuesdays. - Dates stored as text. If a date was imported as text that Excel can't read as a date, the formulas return #VALUE!. Convert it with DATEVALUE or re-enter it. The guide to days between dates covers date basics.
- End date before start date. NETWORKDAYS.INTL then returns a negative number, and SEQUENCE returns an error. Check the order of the arguments.
Practise it#
Counting a weekday is a mix of two skills: business-day functions and WEEKDAY. Practise NETWORKDAYS and WORKDAY in a live spreadsheet, then work through the EDATE, EOMONTH and WEEKDAY lesson to get comfortable with day numbers and month ends. Each lesson checks your formula instantly. Then try the exercise on this page and count the Mondays yourself.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
How many Mondays fall between the dates in B1 and B2? In B4, generate every date with SEQUENCE, test it with WEEKDAY(...)=2 and count with SUMPRODUCT.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | Mondays | |||
| 5 | ||||
| 6 | ||||
| 7 |
Tip: SEQUENCE(B2-B1+1,1,B1) lists every date from B1 to B2. WEEKDAY(...)=2 is TRUE for Mondays, and -- turns TRUE into 1 so SUMPRODUCT can add them.
Practise this in a lesson
Frequently asked questions
How do I count the number of Mondays in a month in Excel?
Put the first day of the month in A2 and the last day in B2, for example with =EOMONTH(A2,0), then use =NETWORKDAYS.INTL(A2,B2,"0111111"). Every month has four or five Mondays.
How do I count Fridays between two dates in Excel?
Use =NETWORKDAYS.INTL(A2,B2,"1111011"). The fifth digit stands for Friday, so a 0 there counts Fridays and the 1s skip every other day.
How do I count weekdays but not weekends between two dates?
Use =NETWORKDAYS(A2,B2). It counts Monday to Friday, includes both dates and can skip a list of holidays as a third argument.
Does the count include the start and end dates?
Yes. NETWORKDAYS.INTL, the SUMPRODUCT formula and the INT formula all count the start date and the end date if they fall on the chosen weekday.
How do I count Mondays excluding holidays?
Add the holiday range as the fourth argument: =NETWORKDAYS.INTL(A2,B2,"0111111",H2:H10). Any Monday listed in H2:H10 is left out of the count.