Write Day of Week Based on Date in Excel

If you just need to write day of week based on date in excel and move on, the boxed answer at the top is all you need. The rest of this page is for when you want to understand why it works in Excel, adapt it to a trickier version, or make it robust enough to hand to a colleague. We keep the opening short on purpose — the depth is here when you want it, not in your way when you don’t.

Exact answer

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.

On this page8

Syntax

=WEEKDAY(serial_number, [return_type])

Arguments

Argumentrequired / optionalDescription
serial_numberrequiredThe date to evaluate, as a cell reference, a date, or a serial number.
return_typeoptionalControls the numbering: 1 (or omitted) = Sunday(1) to Saturday(7); 2 = Monday(1) to Sunday(7); 3 = Monday(0) to Sunday(6).

Related functions

DATEDIFNETWORKDAYS
▤Annotated stepsExcel
1

In the result cell type =WEEKDAY( and click the cell that holds the date.

2

Type a comma, then 2 so that Monday counts as 1 and Sunday as 7 (the ISO numbering).

3

Close the bracket and press Enter to get a number from 1 to 7.

4

To test for a weekend, wrap it in IF: =IF(WEEKDAY(A2, 2) > 5, "Weekend", "Weekday").

5

If you need the day name rather than a number, use =TEXT(A2, "dddd") instead.

Ctrl+CthenCtrl+Shift+V⌘+Cthen⌘+Ctrl+VPaste values · WindowsMac

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 “write day of week based on date in excel”. Start on a copy or a tiny sample, keep the affected cells visible, and compare the result with the outcome you expected 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 workflow that saves repeating the same clicks every week, 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. Check the referenced cells, argument order and result type in your workbook. Start with the worked example before changing an input, then compare the changed result with the calculation you expected. An error value or a result of a different type is a reason to inspect the inputs and arguments.

In Google Sheets

Google Sheets support for this task has not been verified. Check the function, arguments and workflow in the target product before transferring the example. Matching formula notation does not establish identical behaviour. Keep this page bookmarked for the next time the same question comes up. Better still, repeat the steps once in your own workbook — doing it yourself is what turns a copied answer into something you remember. For “write day of week based on date in excel”, keep the input cells and the result visible while you check the formula in Excel. Follow the worked example and change one input at a time. The steps explain the workbook calculation; this page does not run a live calculator for that task.

Common mistakes

  • Expecting a day name — WEEKDAY returns 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 WEEKDAY at text that looks like a date but is not a real date value, which gives a #VALUE! error; convert it with DATEVALUE first.

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.