ExcelReady
CourseFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before the interview. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Function guides
  • Blog

Product

  • Certificate

Company

  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Dates
  3. WEEKDAY in Excel: Find Weekends and Day Names

WEEKDAY in Excel: Find Weekends and Day Names

By ExcelReady Team·Updated October 30, 2026·6 min read

The short answer

The Excel WEEKDAY function returns the day of the week as a number: =WEEKDAY(date) gives 1 for Sunday through 7 for Saturday. Add a return type of 2, as in =WEEKDAY(date,2), to make Monday 1 and Sunday 7. Then =WEEKDAY(date,2)>5 is TRUE only for Saturdays and Sundays.

Key takeaways

  • WEEKDAY(date) numbers the days 1 (Sunday) to 7 (Saturday) unless you add a return type.
  • With return type 2, Monday is 1 and Sunday is 7, so weekends are the only days above 5.
  • WEEKDAY returns a number; for a day name like Thursday, use TEXT(date,"dddd").
  • =B2-WEEKDAY(B2,2)+1 gives the Monday of that week.
  • An empty cell counts as day 0, which WEEKDAY reports as a Saturday, so skip blanks first.
On this page+
  1. How does the Excel WEEKDAY function work?
  2. Which return type should you use?
  3. How to check if a date is a weekend
  4. How to show the day name instead of a number
  5. How to find the start of the week or the next Monday
  6. How to highlight weekends with conditional formatting
  7. What are the common WEEKDAY mistakes?
  8. Practise it

The Excel WEEKDAY function tells you which day of the week a date falls on, as a number from 1 to 7. That small number lets you flag weekend deliveries, push renewals to Monday, group dates by week and highlight weekends in a schedule. This guide covers the syntax, the return types and the formulas built on top of it.

How does the Excel WEEKDAY function work?#

WEEKDAY takes a date and returns a number for its day of the week:

Excel formula
=WEEKDAY(serial_number, [return_type])
  • serial_number is the date: a cell such as B2, or a DATE formula such as DATE(2025,3,15).
  • return_type is optional. It sets which day counts as 1. Leave it out and Sunday is 1, Monday is 2, and so on to Saturday, which is 7.

Excel stores dates as serial numbers, so WEEKDAY works on any real date. If the date is text, you get #VALUE!. For how dates are stored, see DATE, YEAR, MONTH and DAY in Excel.

Which return type should you use?#

Return type 2 is the most useful for work, because it starts the week on Monday:

Return typeNumbersNotes
1 or omittedSunday = 1 to Saturday = 7The default
2Monday = 1 to Sunday = 7Weekends are 6 and 7
3Monday = 0 to Sunday = 6Starts at zero
11 to 17Monday = 1 (11), Tuesday = 1 (12), and so on to Sunday = 1 (17)Excel 2010 and later

Here are some renewal dates with both numberings:

ClientRenewal Date=WEEKDAY(B2)=WEEKDAY(B2,2)Day
Northwind LabsFeb 29, 202454Thursday
Bluefin MediaMar 15, 202576Saturday
Cedar HealthNov 6, 202443Wednesday
Orbit LogisticsAug 23, 202617Sunday
Harbor FoodsJan 3, 202565Friday
Summit LegalNov 29, 202576Saturday

Don't mix up WEEKDAY and DAY. =DAY(B2) returns the day of the month (15 for Mar 15). =WEEKDAY(B2) returns the day of the week.

How to check if a date is a weekend#

With return type 2, Saturday is 6 and Sunday is 7, so weekends are the only days above 5:

Excel formula
=WEEKDAY(B2,2)>5

This returns TRUE for Bluefin, Orbit and Summit, and FALSE for the rest. For a label, put it inside IF:

Excel formula
=IF(WEEKDAY(B2,2)>5,"Weekend","Weekday")

With the default numbering you would need =OR(WEEKDAY(B2)=1,WEEKDAY(B2)=7), which is longer and easier to get wrong. That's why most people use return type 2 for weekend checks.

To count weekend dates in a list, use =SUMPRODUCT(--(WEEKDAY(B2:B7,2)>5)). For the six renewals above, it gives 3.

How to show the day name instead of a number#

WEEKDAY only returns numbers. For a name, use TEXT with a day format code:

FormulaResult for Mar 15, 2025
=TEXT(B2,"dddd")Saturday
=TEXT(B2,"ddd")Sat

TEXT returns text, so you can't do date maths with the result. The day names come out in the language of your Excel settings, so a French copy of Excel shows "samedi".

If the file is shared across countries and you need the same names everywhere, build them yourself with CHOOSE:

Excel formula
=CHOOSE(WEEKDAY(B2),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")

WEEKDAY gives a number from 1 to 7, and CHOOSE picks the matching item from the list, whatever language Excel uses.

To keep the real date but display the day name, use a custom number format instead: press Ctrl+1 (Windows) or ⌘1 (Mac), choose Custom, and type dddd. The cell still holds the date.

How to find the start of the week or the next Monday#

WEEKDAY tells you how far a date is from the start of its week, so simple maths moves to the day you want:

GoalFormulaResult for Sat Mar 15, 2025
Monday of the same week=B2-WEEKDAY(B2,2)+1Mon Mar 10, 2025
Next Monday=B2+8-WEEKDAY(B2,2)Mon Mar 17, 2025
Move weekends to Monday=IF(WEEKDAY(B2,2)>5,B2+8-WEEKDAY(B2,2),B2)Mon Mar 17, 2025

The first formula is handy for weekly reports: every date from Monday to Sunday maps to the same Monday, so you can group or total by week. The results are dates, so format the cells as dates. If you need to skip holidays as well as weekends, use WORKDAY instead; see NETWORKDAYS and WORKDAY.

How to highlight weekends with conditional formatting#

Use WEEKDAY in a formula rule. Select the dates, for example A2:A31, then go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format, and enter:

Excel formula
=WEEKDAY($A2,2)>5

Pick a fill colour and click OK. The $ before A keeps the rule on column A, so you can also apply it to whole rows. See conditional formatting basics for more rules.

What are the common WEEKDAY mistakes?#

MistakeWhat happensFix
Forgetting the return typeSunday is 1, so >5 catches Friday and SaturdayUse WEEKDAY(B2,2)>5
Using >=5 with return type 2Fridays count as weekendsUse >5
An empty cellWEEKDAY returns 7 (a Saturday)Test for blanks first: IF(B2="","",...)
A date stored as text#VALUE!Convert it to a real date
DAY instead of WEEKDAYDay of the month, not of the weekUse WEEKDAY

The empty-cell case surprises people. Excel treats an empty cell as 0, and day 0 counts as a Saturday, so blank rows can show up as weekends.

WEEKDAY pairs well with the other date functions. Find a renewal with EDATE, then check its day: =WEEKDAY(EDATE(B2,12),2)>5. See EDATE and EOMONTH, or count the days between two dates.

Practise it#

Try the weekend exercise on this page, then practise EDATE, EOMONTH and WEEKDAY in a live spreadsheet. You'll find renewal dates, show day names with TEXT and flag the renewals that land on a weekend.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Will each renewal land on a weekend? In C2, show Weekend if the renewal date in B2 is a Saturday or Sunday, and Weekday if not. Use WEEKDAY(B2,2)>5 as the test inside IF.

fx
ABCD
1
Client
Renewal Date
Day Type
2
Bluefin Media
45731
3
Cedar Health
45602
4
Orbit Logistics
46257
5
Harbor Foods
45660
6
Summit Legal
45990
7
8
9

Tip: With return type 2, Saturday is 6 and Sunday is 7. Put the test first in IF, then the two labels in quotes.

Practise this in a lesson

LessonRenewals and month-ends: EDATE, EOMONTH, WEEKDAYShift dates by whole months with EDATE, jump to month-end with EOMONTH, and find the day of the week with WEEKDAY.

Frequently asked questions

How do I check if a date is a weekend in Excel?

+

Use =WEEKDAY(B2,2)>5. With return type 2, Saturday is 6 and Sunday is 7, so the test is TRUE only on weekends. Wrap it in IF for a label: =IF(WEEKDAY(B2,2)>5,"Weekend","Weekday").

How do I get the day name from a date in Excel?

+

Use TEXT: =TEXT(B2,"dddd") gives the full name, like Thursday, and =TEXT(B2,"ddd") gives the short name, like Thu. The language follows your Excel settings.

Why does WEEKDAY return 1 for Sunday?

+

Return type 1 is the default, and it starts the week on Sunday. Add 2 as the second argument to start the week on Monday instead.

What is the difference between WEEKDAY and DAY?

+

DAY returns the day of the month, from 1 to 31. WEEKDAY returns the day of the week, from 1 to 7.

Why does WEEKDAY show 7 for an empty cell?

+

Excel treats an empty cell as 0, and day 0 counts as a Saturday. Skip blanks first, for example =IF(B2="","",WEEKDAY(B2,2)).

Sources

  • WEEKDAY function - Microsoft Support
  • TEXT function - Microsoft Support

Written and checked by the ExcelReady Team. First published October 30, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. How does the Excel WEEKDAY function work?
  2. Which return type should you use?
  3. How to check if a date is a weekend
  4. How to show the day name instead of a number
  5. How to find the start of the week or the next Monday
  6. How to highlight weekends with conditional formatting
  7. What are the common WEEKDAY mistakes?
  8. Practise it

Keep reading

Dates· 6 min read

DATE, YEAR, MONTH and DAY in Excel

The Excel DATE function builds a real date from three numbers: =DATE(year, month, day), always in that order. YEAR, MONTH and DAY do the opposite and pull one part out of a date, like =YEAR(B2). Because Excel stores dates as serial numbers, the results can be added, subtracted and compared.

Dates· 6 min read

Days Between Two Dates in Excel (and DATEDIF)

To count the days between two dates in Excel, subtract the earlier date from the later one: =C2-B2. DAYS does the same with the end date first: =DAYS(C2,B2). For whole months or years, use DATEDIF with the start date first and a unit in quotes, like =DATEDIF(B2,C2,"Y").

Dates· 6 min read

EDATE and EOMONTH: Add Months and Find Month-End

EDATE moves a date by whole months: =EDATE(start_date, months) keeps the day where it can, so Mar 15 plus 12 months is Mar 15 next year. EOMONTH moves by months and then jumps to the month's last day: =EOMONTH(B2,0) is the end of B2's month. Negative months go backwards.

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback. The first lessons are free, with no download.

Start learning for free