WEEKDAY

WEEKDAY(serial_number [,return_type])

Returns the day of the week for a given date.

serial_numberThe date as a serial number.
return_type(Optional) The number that specifies on what day the week starts:
1 = Sunday (1 to 7) (default)
2 = Monday (1 to 7)
3 = Monday (0 to 6)
11 = Monday (1 to 7)
12 = Tuesday (1 to 7)
13 = Wednesday (1 to 7)
14 = Thursday (1 to 7)
15 = Friday (1 to 7)
16 = Saturday (1 to 7)
17 = Sunday (1 to 7)

REMARKS
* This function returns a number between 0 and 7.
* The "serial_number" can be a date value, a serial number or a reference to a cell containing a date.
* If "return_type" is left blank, then 1 is used.
* If "return_type" is left blank, then 1=Sunday and 7=Saturday
* If "return_type" = 1, then Sun = 1, Mon = 2, Tue = 3, Wed = 4, Thu = 5, Fri = 6 and Sat = 7.
* If "return_type" = 2, then Mon = 1, Tue = 2, Wed = 3, Thu = 4, Fri = 5, Sat = 6 and Sun = 7.
* If "return_type" = 3, then Mon = 0, Tue = 1, Wed = 2, Thu = 3, Fri = 4, Sat = 5 and Sun = 6.
* If "return_type" = 11, then Mon = 1, Tue = 2, Wed = 3, Thu = 4, Fri = 5, Sat = 6 and Sun = 7.
* Alternatively you could use a custom number format of "dddd" - Example 9.
* You can use the CHOOSE function to return the value in a row (or column) based on an index number.
* You can use the DATE function to return the date serial number given a year, month, day.
* You can use the IF function to return the value based on whether a condition is True or False.
* You can use the ISOWEEKNUM function to return the week number in the year for a given date (based on European convention).
* You can use the NOW function to return the serial number of the current system date and time.
* You can use the TEXT function to convert a value to a specified number format.
* You can use the WEEKNUM function to return the week number in the year for a given date (based on US convention).
* You can use the WORKDAY.INTL function to return the serial number that is a given number of working days before or after a date.
* In Excel 2010 the return_type numbers 11 to 17 were added.
* The equivalent VBA function is VBA.WEEKDAY
* For the Microsoft documentation refer to support.microsoft.com
* For the Google documentation refer to support.google.com

 AB
1=WEEKDAY(NOW()) = 6=NOW() = 02 May 2025 (Fri)
2=WEEKDAY(DATE(2022, 1, 1)) = 701 January 2022 (Sat)
3=WEEKDAY(B2) = 702 January 2022 (Sun)
4=WEEKDAY(1/1/2022) = 7 
5=WEEKDAY("1/1/2022") = 7 
6=WEEKDAY(44562) = 7 
7=WEEKDAY("44562") = 7 
8=WEEKDAY("1 Jan 2022") = 7 
9=WEEKDAY("1 Jan 2022", 1) = 7 
10=WEEKDAY("1 Jan 2022", 2) = 6 
11=WEEKDAY("1 Jan 2022", 3) = 5 
12=WEEKDAY("1 Jan 2022", 11) = 6 
13=TEXT(WEEKDAY(NOW()), "dddd") = Friday 
14=IF(WEEKDAY(NOW())<6, "weekday", "weekend") = weekend 
15=CHOOSE(WEEKDAY(NOW()), "S", "M", "T", "W", "T", "F", "S") = F 
16=WEEKDAY(NOW(), 4) = #NUM! 
17=WEEKDAY(-10) = #NUM! 
18=WEEKDAY(invalid_namedrange) = #NAME? 

1 - What is the day of the week was NOW(). This returns 6 which represents Friday.
2 - What is the day of the week for "1 Jan 2022" when submitted using the DATE function.
3 - What is the day of the week for "1 Jan 2022" when the 1st July 1977 when the week starts on a Sunday. This returns 6 which represents Friday.
4 - What is the day of the week for "1 Jan 2021" when was was the 1st July 1977 when the week starts on a Monday (starting at 1). This returns 5 which represents Friday.
5 - What is the day of the week for "1 Jan 2022" when was the 1st July 1977 when the week starts on a Monday (starting at 0). This returns 4 which represents Friday.
6 - What is the day of the week for "1 Jan 2022" when submitted as serial number.
7 - What is the day of the week for "1 Jan 2022" when the serial number is submitted as a text string.
8 - What is the day of the week for "1 Jan 2022". This returns 7 which represents Saturday.
9 - What is the day of the week for "1 Jan 2022" using the return_type 1.
10 - What is the day of the week for "1 Jan 2022" using the return_type 2. This returns 6 which represents Friday.
11 - What is the day of the week for "1 Jan 2022" using the return_type 3. This returns 5 which represents Thursday.
12 - What is the day of the week for "1 Jan 2022" using the return_type 11. This returns 6 which represents Saturday.
13 - You can show the day in a particular format using the TEXT function.
14 - You can show if a date falls on a weekend using the IF function.
15 - You can convert the number that indicates the day into an actual day using the CHOOSE function.
16 - If return_type is out of the range, #NUM! is returned.
17 - If serial_number is negative, #NUM! is returned.
18 - If a named range is invalid, #NAME? is retrurned.

© 2025 Better Solutions Limited. All Rights Reserved. © 2025 Better Solutions Limited Top