WEEKDAY

Return which day of the week a date falls on, as a number.

Syntax

WEEKDAY(serial_number, [return_type])
Argument Required Description
serial_number Required The date to test.
return_type Optional 1 (default) counts Sunday as 1. 2 counts Monday as 1.

Examples

Every example below was executed against VisiGrid engine 0.31.0 — not transcribed from another vendor's documentation. Reproduce any of them with vgrid calc.

Formula Result Notes
=WEEKDAY(DATE(2024,3,15)) 6 A Friday, with Sunday as day 1.
=WEEKDAY(DATE(2024,3,15),2) 5 The same Friday, with Monday as day 1.
=WEEKDAY(DATE(2024,3,17)) 1 Sunday, under the default numbering.
=NETWORKDAYS(DATE(2024,3,11),DATE(2024,3,15)) 5 A full Monday-to-Friday week of business days.

Always pass the second argument

The default counts Sunday as 1, which surprises most of the world and half of the people who wrote the spreadsheet you inherited. Type 2 counts Monday as 1, which is what almost every business calendar means:

=WEEKDAY(A1, 2) > 5      → TRUE at weekends

With the default that test is wrong twice a week. Passing the type explicitly costs three characters and removes the ambiguity from anyone reading the formula later — the same argument as FALSE on VLOOKUP.

Counting working days

For counting business days, NETWORKDAYS does it directly:

=NETWORKDAYS(DATE(2024,3,11), DATE(2024,3,15))     → 5

and WORKDAY goes the other way, giving the date a number of working days ahead. WEEKDAY is still the tool when you need the day itself rather than a count — labelling rows, or flagging weekend transactions with WEEKDAY(A1,2)>5.

Excel compatibility

Matches Excel for return types 1 and 2.

Related functions

Last updated