In Excel: use =WEEKDAY(date, 2) — it returns the day of the week as a number, where return_type 2 numbers Monday as 1 through Sunday as 7.
Syntax
Arguments
| Argument | Description | |
|---|---|---|
serial_number | required | The date to evaluate, as a cell reference, a date, or a serial number. |
return_type | optional | Controls the numbering: 1 (or omitted) = Sunday(1) to Saturday(7); 2 = Monday(1) to Sunday(7); 3 = Monday(0) to Sunday(6). |
Related functions
2026-W25 · WEEKNUM (Sunday start): 25
Day of year: 166
Need it as an auditable file?
Ships inside the linked template — formula-driven, unlocked, audit-ready.
What this does
WEEKDAY takes a date and returns which day of the week it falls on, as a NUMBER from 1 to 7 rather than a name. The optional return_type decides where the week starts: the default 1 runs Sunday(1) to Saturday(7), while 2 — the common ISO choice — runs Monday(1) to Sunday(7), and 3 runs Monday(0) to Sunday(6). Because it gives a number, WEEKDAY is built for logic: flagging weekends, filtering by day, or feeding an IF. If you want the day NAME instead, use TEXT(date, "dddd") rather than WEEKDAY. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “weekday formula in excel”. Start on a copy or a tiny sample, keep the affected formula visible, and compare the result with the tool above before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a calculation you can defend to a CFO or an auditor, but the practical win is that someone else can open the file and understand what happened without asking you.
A worked example
Cell A2 holds the date 2026-06-03 (a Wednesday). =WEEKDAY(A2, 2) returns 3, because with return_type 2 Monday is 1, Tuesday 2 and Wednesday 3. With the default, =WEEKDAY(A2) returns 4, since Sunday is 1 there. To flag weekends regardless of locale: =IF(WEEKDAY(A2, 2) > 5, "Weekend", "Weekday"). For the day name itself, =TEXT(A2, "dddd") returns "Wednesday". WEEKDAY is the building block for any logic that depends on the day of the week — weekend flags, shift schedules and day-based filters — because a plain number is easy to compare and feed into other formulas. If there is any chance you will reuse this, drop it into a small template tab right now: a labelled input area on the left and the formula beside it, checked once against the tool above. Next time the same question comes up, the answer is a single paste away instead of a rebuild from memory.
In Google Sheets
Everything above works in Google Sheets too. Excel and Sheets share the formula syntax used here; only the surrounding menus are arranged differently. That portability is deliberate — learn it once and it follows you between the two tools and across Windows and Mac. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. If you take one thing from this page on “weekday formula in excel”, make it the habit rather than the keystrokes: set the problem up with labelled inputs, reference those cells, and let Excel do the recomputing. Bookmark the page for the syntax, but do the example once in a blank sheet and check it against the tool above — five minutes of hands-on practice fixes the method in memory far better than re-reading, and it surfaces the small snags while they are still harmless. After that the technique is genuinely yours: faster than searching for it again, and reliable enough to drop into work that other people depend on.
Common mistakes
- Expecting a day name —
WEEKDAYreturns a number; use TEXT(date, "dddd") when you want the word. - Forgetting the return_type and assuming Monday is 1 — with the default, Sunday is 1 and Monday is 2, which shifts every weekend test.
- Pointing
WEEKDAYat text that looks like a date but is not a real date value, which gives a#VALUE!error; convert it withDATEVALUEfirst.
Frequently asked questions
How do I make Monday equal 1?
Pass 2 as the second argument: =WEEKDAY(A2, 2) numbers Monday as 1 through Sunday as 7. Without it, the default return_type 1 makes Sunday 1 and Saturday 7.
How do I get the name of the day, not a number?
Use TEXT instead of WEEKDAY: =TEXT(A2, "dddd") returns the full day name such as "Wednesday", and "ddd" returns the short form "Wed".
How do I flag weekends with WEEKDAY?
Use return_type 2 and test for 6 or 7: =IF(WEEKDAY(A2, 2) > 5, "Weekend", "Weekday"). Because Saturday is 6 and Sunday is 7, anything above 5 is a weekend day.
Other ways people ask this
On the way here you may have searched this as “excel formula for weekday” and “weekdays excel formula” — it is all the same task, and this page is the single, complete answer to it.
Why do people search for this in so many different ways?
Because the same task has many names. “excel formula for weekday”, “weekdays excel formula” all point at the one operation explained on this page, which is why they all lead here.