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. Keep the inputs visible and clearly labelled and the whole thing stays auditable — anyone who opens the file later, including you, can see at a glance exactly what feeds the result and change one assumption without hunting through the formula. For “weekday get day name”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected cells change, and only then apply the same setup to the full sheet. 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. That is what makes a calculation you can defend to a CFO or an auditor useful in real work: repeatable, auditable, and not dependent on memory or luck.
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. A practical tip before you scale it up: build it once on a small block of test data, confirm the number against the tool on this page, and only then point it at your real sheet. That one habit catches almost every mistake while it is still cheap to fix, long before a wrong figure reaches a report or a colleague.
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. Keep this page bookmarked for the next time the same question comes up. Better still, rebuild the example once in your own sheet — doing it yourself, with the tool above to check against, is what turns a copied formula into a technique you own. Treat “weekday get day name” as a small building block rather than a chore. Once the inputs sit in their own cells and the formula reads from them, the same setup answers a dozen related questions with a tweak, and Excel keeps every dependent figure current as the data changes. The tool above is there so you can rehearse and verify before committing anything to a real workbook; the steps and worked example are there so the logic sticks. Get it right once and it stops costing you time — it starts saving it, every time the question comes back around.
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
People reach this page typing “weekday excel name” and “return name of day in excel”, among other phrasings; whichever wording you used, the fix above is the one you want.
Why do people search for this in so many different ways?
Because the same task has many names. “weekday excel name”, “return name of day in excel” all point at the one operation explained on this page, which is why they all lead here.