Date & Time
WEEKDAY Function in Excel
Returns the day of the week for a date as a number.
Syntax
- =WEEKDAY(serial_number, [return_type])
Arguments
- serial_number (required): The date
- return_type (optional): Number system (1=Sun-Sat 1-7, 2=Mon-Sun 1-7, 3=Mon-Sun 0-6)
Examples
- =WEEKDAY(TODAY()) - Day of week (1=Sunday) - Result: 4 (Wednesday)
- =WEEKDAY(A1, 2) - Day of week (1=Monday) - Result: 3 (Wednesday)
- =TEXT(A1, "DDDD") - Day name - Result: Wednesday
Excel WEEKDAY function documentation
- WEEKDAY returns the day of the week as a number for a date.
- Syntax: =WEEKDAY(serial_number, [return_type]). Default return_type 1 = Sunday 1 through Saturday 7.
- Use for weekend flags, business-day logic, and scheduling before [WORKDAY](/functions/workday/).
- Related: [WEEKNUM](/functions/weeknum/), [WORKDAY](/functions/workday/), [NETWORKDAYS](/functions/networkdays/), [TEXT](/functions/text/).
WEEKDAY return_type options
- return_type 1: Sun=1 … Sat=7 (default US).
- return_type 2: Mon=1 … Sun=7 (ISO-style numbering).
- return_type 3: Mon=0 … Sun=6.
- Document return_type in team templates — mixed types break shared models.
Step-by-step: flag weekend rows
- Step 1 — Dates in A2:A500.
- Step 2 — =WEEKDAY(A2,2) for Mon=1 … Sun=7.
- Step 3 — Weekend: =IF(WEEKDAY(A2,2)>=6,"Weekend","Weekday").
- Step 4 — Filter Weekday for SLA metrics.
- Step 5 — Prefer NETWORKDAYS for net business day counts between dates.
WEEKDAY vs TEXT vs WORKDAY
- WEEKDAY — numeric dow for IF logic.
- TEXT(A2,"dddd") — day name string.
- WORKDAY — add business days skipping weekends/holidays.
- Problem patterns: scheduling guides in [/guides/](/guides/).
Worked examples to copy
- Sunday check default: =WEEKDAY(A2)=1.
- ISO Monday start: =WEEKDAY(A2,2)=1.
- Fri or Sat: =OR(WEEKDAY(A2)=6, WEEKDAY(A2)=7) with type 1.
- Day name: =TEXT(A2,"dddd").
People also ask
- WEEKDAY Monday number? — Use return_type 2 → Monday=1.
- WEEKDAY vs WEEKNUM? — WEEKDAY is day within week; WEEKNUM is week index in year.
- WEEKDAY holidays? — Does not know holidays — use NETWORKDAYS.
- WEEKDAY wrong in shared file? — Check return_type argument consistency.
Common errors
- Default is Sunday=1
- Use return_type for Monday start
Use cases
- Schedule planning
- Weekend detection
- Day-based analysis
Frequently asked questions
- How do I check if a date is a weekend? With default (Sunday=1): =OR(WEEKDAY(A1)=1, WEEKDAY(A1)=7). Or =WEEKDAY(A1,2)>5 where Monday=1, so 6 and 7 are weekend.
- What are the return_type options? 1 or omitted: Sunday=1 to Saturday=7. 2: Monday=1 to Sunday=7. 3: Monday=0 to Sunday=6. Types 11-17 offer more variations.
- How do I get the day name? Use TEXT: =TEXT(A1, "DDDD") for full name (Wednesday), =TEXT(A1, "DDD") for abbreviation (Wed).
- How do I find the next Monday? Use =A1+8-WEEKDAY(A1,2) for next Monday (or same day if already Monday). Adjust formula for other target days.
- How do I count specific weekdays in a range? Use SUMPRODUCT: =SUMPRODUCT((WEEKDAY(A1:A100,2)=1)*1) counts Mondays. Change 1 to 2-7 for other days (Mon-Sun).
Editorial review
- Reviewed by Excel.Directory Editorial Team. Updated May 2026.
When to use WEEKDAY
- Schedule planning — common Date & Time scenario for WEEKDAY.
- Weekend detection — common Date & Time scenario for WEEKDAY.
- Day-based analysis — common Date & Time scenario for WEEKDAY.
WEEKDAY in the Date & Time category
- Browse all Date & Time functions at /categories/date-time/ for related formulas.
- WEEKDAY syntax: =WEEKDAY(serial_number, [return_type])
- serial_number (required): The date
- return_type (optional): Number system (1=Sun-Sat 1-7, 2=Mon-Sun 1-7, 3=Mon-Sun 0-6)
- Confirm WEEKDAY arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
Formula checklist before you copy down
- Confirm WEEKDAY arguments match the syntax shown above before filling down.
- Lock table and range references with $ when copying formulas across rows or sheets.
- If results look wrong, check for text stored as numbers and invisible spaces with TRIM.
- Spot-check three known input rows manually against expected output.
Related Excel functions
- DAY (/functions/day/): Returns the day of a date as a number from 1 to 31.
- TEXT (/functions/text-function/): Converts a value to text in a specified number format.
- WORKDAY (/functions/workday/): Returns a date that is a specified number of working days before or after a start date.
- NETWORKDAYS (/functions/networkdays/): Returns the number of whole working days between two dates, excluding weekends and holidays.
Errors to watch for
- Default is Sunday=1 — review causes on linked error pages in the directory.
- Use return_type for Monday start — review causes on linked error pages in the directory.
Copy-paste audit workflow
- Enter WEEKDAY on three test rows with known expected output documented on a QA tab.
- Fill down only after absolute references are locked on lookup tables and rate tables.
- Compare against manual calculation or a calculator for financial and statistical functions.
- Search this directory for comparison guides when choosing between similar functions in the same category.
WEEKDAY worked examples to copy
- =WEEKDAY(TODAY()) — Day of week (1=Sunday). Expected result: 4 (Wednesday).
- =WEEKDAY(A1, 2) — Day of week (1=Monday). Expected result: 3 (Wednesday).
- =TEXT(A1, "DDDD") — Day name. Expected result: Wednesday.
WEEKDAY reference summary for crawlers and offline review
- WEEKDAY belongs to the Date & Time category in Excel. Returns the day of the week for a date as a number.
- Full syntax: =WEEKDAY(serial_number, [return_type]). Open /functions/weekday/ for parameters, FAQs, and related pages.
- Common mistakes: Default is Sunday=1; Use return_type for Monday start
- Pair this function with comparison guides when another Excel formula might fit the same task better.
- Review fix-excel-formula-errors when unexpected errors appear after upgrading Excel or sharing across locales.