WEEKDAY function

WEEKDAY returns the day of the week (1–7) for a given date, with customizable numbering systems (Sunday=1, Monday=1, or ISO 8601).

=WEEKDAY(serial_number, [return_type])

Generate a WEEKDAY formula

Describe what you need. The generator will reach for WEEKDAY where WEEKDAY is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How WEEKDAY reads its arguments
serial_numberrequiredreturn_typeoptionalWEEKDAY
ArgumentRequiredDescription
serial_numberRequiredRequired. A date value, typically a cell reference or DATE() formula. If omitted or not a valid date, returns #VALUE!.
return_typeOptionalOptional. An integer determining the day numbering: 1 (default) for Sunday=1; 2 for Monday=1; 3 for ISO 8601. If outside 1–3, returns #NUM!.

Returns

An integer from 1 to 7, representing the day of the week.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Identify what day of the week a campaign launched

CampaignLaunch DateChannel
Summer Sale2024-07-15Email
=WEEKDAY(B2,2)

Result: 2

July 15, 2024 was a Tuesday. With return_type=2 (Monday=1), WEEKDAY returns 2, indicating Tuesday is the 2nd day of the workweek. This helps determine whether launch timing aligns with business objectives.

2. Check if a campaign started on a weekend

CampaignLaunch DateSpendClicks
Q3 Email2024-09-023000856
Fall Launch2024-10-0580002103
=OR(WEEKDAY(B2)=1,WEEKDAY(B2)=7)

Result: TRUE

October 5 was a Saturday (WEEKDAY with default return_type=1 returns 7). Since 7 matches the condition, OR returns TRUE. This flags whether campaigns were intentionally scheduled for weekends, which often show different engagement patterns than weekday launches.

3. Segment campaigns by launch timing: weekday vs. weekend

CampaignLaunch DateSpendClicksConversions
Summer Sale2024-07-1550001240187
Q3 Email2024-09-023000856102
Fall Launch2024-10-0580002103301
=IF(WEEKDAY(B2,2)<6,"Weekday","Weekend")

Result: Weekday

July 15 was a Tuesday (WEEKDAY returns 2 with return_type=2, Monday=1). Since 2 is less than 6, the campaign is labeled 'Weekday'. This classification enables ROI comparisons by launch timing—weekday campaigns often convert differently than weekend ones.

Common errors

Which WEEKDAY error are you seeing?
WEEKDAY returned an error#VALUE!
Ensure the cell contains a valid date. Use DATE(year,month,day), TODAY(), or a recognized date format like '2024-07-15'.
#NUM!
Set return_type to 1 (Sunday=1, default), 2 (Monday=1), or 3 (ISO 8601). Omit the argument entirely to use the default.
#REF!
Restore the missing cell or update the formula to reference an existing date cell in your spreadsheet.
ErrorWhy it happensHow to fix it
#VALUE!serial_number is empty, contains unrecognized text (e.g., 'Pending'), or is not a valid date.Ensure the cell contains a valid date. Use DATE(year,month,day), TODAY(), or a recognized date format like '2024-07-15'.
#NUM!return_type is a number outside the valid range 1–3 (e.g., 0, 4, or 10).Set return_type to 1 (Sunday=1, default), 2 (Monday=1), or 3 (ISO 8601). Omit the argument entirely to use the default.
#REF!The cell referenced in serial_number has been deleted, or the formula references a worksheet that no longer exists.Restore the missing cell or update the formula to reference an existing date cell in your spreadsheet.

Tips and when to use something else

  • Use return_type=1 (default, Sunday=1) for general purposes, but choose return_type=2 (Monday=1) for business reporting where the workweek is the primary focus.
  • To display day names ('Monday', 'Tuesday') instead of numbers, nest WEEKDAY in CHOOSE: =CHOOSE(WEEKDAY(B2),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday").
  • For identifying which week of the year a date falls in, use WEEKNUM or ISOWEEKNUM instead—WEEKDAY only returns the day name, not the week number.
  • WEEKDAY ignores time; 2024-07-15 08:00 AM and 2024-07-15 05:00 PM return the same weekday number. Use DATE() to strip the time if precision matters.

Frequently asked questions

How do I display the actual day name like 'Tuesday' instead of a number?
Combine WEEKDAY with CHOOSE: =CHOOSE(WEEKDAY(B2),"Sun","Mon","Tue","Wed","Thu","Fri","Sat"). Alternatively, use TEXT(B2,"DDDD") in Excel or Google Sheets to display the full day name directly from the date.
What's the practical difference between return_type 2 and 3?
Both make Monday=1, but return_type=3 strictly follows ISO 8601 (Monday–Sunday = 1–7). Most users prefer return_type=2 for business applications. The difference rarely affects real-world results.
Why does my WEEKDAY formula return an unexpected number?
Check your return_type parameter. The default (1) makes Sunday=1 and Monday=2. If you expect Monday to be 1, explicitly use return_type=2. This is the most common source of confusion.
Can WEEKDAY work with text dates like '2024-07-15'?
Google Sheets usually recognizes text dates automatically, but Excel often requires DATEVALUE() first: =WEEKDAY(DATEVALUE("2024-07-15"),2). Always test your date format to confirm the function recognizes it.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17