Get the Day Name From a Date in Excel
By ExcelReady TeamUpdated 6 min read
The short answer
To get the day name from a date in Excel, use =TEXT(A2,"dddd") for the full name, like Monday, or =TEXT(A2,"ddd") for the short name, like Mon. The result is text. To show the day name but keep the cell a real date, apply a custom number format of dddd instead. For your own labels, use CHOOSE with WEEKDAY.
Key takeaways
- =TEXT(A2,"dddd") returns the full day name; =TEXT(A2,"ddd") returns the 3-letter name.
- A custom number format like ddd dd/mm/yyyy shows the day name and keeps the real date.
- CHOOSE(WEEKDAY(A2),"Sun","Mon",...) gives custom labels in any language.
- Count rows by weekday with SUMPRODUCT and TEXT, or with WEEKDAY for a number.
- If every row shows Saturday or Sunday, the cells may be empty or hold small numbers, not dates.
On this page+
To get the day name from a date in Excel, use the TEXT function with the format code "dddd" for the full name or "ddd" for the short one. =TEXT(A2,"dddd") turns 15/03/2025 into Saturday. This guide also shows how to display the day name without losing the date, how to make your own labels, and how to count dates by day of the week.
How to get the day name with TEXT#
Use =TEXT(date,"dddd"). TEXT takes a value and a format code and returns the value as text in that style. The number of d's sets what you get:
| Format code | Result for 15 March 2025 |
|---|---|
"d" | 15 |
"dd" | 15 |
"ddd" | Sat |
"dddd" | Saturday |
So for delivery dates in column B:
=TEXT(B2,"dddd")Fill it down (Windows: Ctrl+D; Mac: ⌘D):
| Delivery | Date | Day |
|---|---|---|
| D-501 | 15/03/2025 | Saturday |
| D-502 | 17/03/2025 | Monday |
| D-503 | 20/03/2025 | Thursday |
| D-504 | 24/03/2025 | Monday |
One and two d's give the day of the month as a number. Three and four give the weekday name. The TEXT function guide lists the other format codes.
How to show the day name and keep the date#
Apply a custom number format instead of a formula. The cell keeps its real date for sorting and maths, but displays the day name too:
- Select the date cells.
- Open Format Cells (Windows: Ctrl+1; Mac: ⌘1).
- Choose Custom and type a format in the Type box.
- Click OK.
Some useful formats:
| Custom format | Shows |
|---|---|
dddd | Saturday |
ddd dd/mm/yyyy | Sat 15/03/2025 |
dddd, d mmmm yyyy | Saturday, 15 March 2025 |
This is the better choice in schedules and timesheets, where people want to see the day but you still need real dates underneath. Use TEXT when you need the day name as separate text, for example to filter or count by it.
How to make custom day labels with CHOOSE and WEEKDAY#
Use CHOOSE with WEEKDAY when you want your own labels. WEEKDAY returns a number for the day of the week, and CHOOSE picks a label by that number:
=CHOOSE(WEEKDAY(B2),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")With its default setting, WEEKDAY returns 1 for Sunday through 7 for Saturday, so the labels start with Sunday. For 15 March 2025, WEEKDAY returns 7 and CHOOSE picks Sat.
This approach helps in two cases. First, you can use any labels you like, such as "Weekend" or "Team A". Second, the labels don't depend on Excel's language, while TEXT returns day names in the language of the computer. The article on how the WEEKDAY function works explains its return types in detail.
How to turn a weekday number into a name#
If a cell holds a weekday number from 1 to 7, where 1 is Sunday, TEXT can name it directly:
=TEXT(B2,"dddd")This works because Excel's calendar starts on a Sunday: the number 1 is the first day of its calendar, and Excel shows that day as a Sunday. So 1 gives Sunday, 2 gives Monday, and so on to 7 for Saturday.
If your numbers start with Monday as 1, this trick is off by one day. Use CHOOSE with your own list instead, starting with "Mon".
How to count dates by day of the week#
Use SUMPRODUCT with TEXT to count how many dates fall on a given day. To count Mondays in B2:B5:
=SUMPRODUCT(--(TEXT(B2:B5,"ddd")="Mon"))TEXT turns each date into a short day name, the comparison returns TRUE or FALSE for each row, and -- turns those into 1s and 0s. SUMPRODUCT adds them up. On the delivery table, the result is 2.
To count weekends, compare the weekday number instead: =SUMPRODUCT(--(WEEKDAY(B2:B5,2)>5)) returns 1, for the Saturday delivery. With return type 2, Monday is 1 and Sunday is 7, so anything above 5 is a weekend.
The same idea helps with month labels. See getting the month name from a date for those, and getting the quarter from a date for quarterly reports.
How to label weekends and today's day#
Wrap WEEKDAY in IF to turn the day into a simple Weekend or Weekday label. This is often more useful than the name itself, for example in a delivery or shift schedule:
=IF(WEEKDAY(B2,2)>5,"Weekend","Weekday")For 15 March 2025, a Saturday, the result is Weekend. To colour weekend rows instead of labelling them, use the same test in a conditional formatting rule.
For the name of the current day, put TODAY inside TEXT: =TEXT(TODAY(),"dddd"). It updates by itself each day, which is handy at the top of a daily report or checklist.
Common mistakes with day names#
Most day-name problems come from the data, not the formula. Check these:
- Empty cells show Saturday. An empty cell counts as 0, which Excel shows as a Saturday. Use
=IF(B2="","",TEXT(B2,"dddd")). - Dates stored as text. TEXT can't read a text date, so it returns it unchanged. Convert it to a real date first.
- Wrong language. TEXT follows Excel's language, so a shared file may show other day names on another computer. Use CHOOSE for fixed labels.
- Sorting by name. Day names sort alphabetically: Friday, Monday, Saturday. Sort by the date or by WEEKDAY instead.
If you're planning ahead, you can combine these with date maths. For example, the guide to adding days, months and years shows how to move a date forward, and TEXT then tells you which day it lands on.
Practise it#
Day names are quick to learn and often appear in scheduling tasks in job tests. Practise EDATE, EOMONTH and WEEKDAY in a live spreadsheet: you type the formula, and it checks your answer instantly. Or try the exercise on this page first.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
Show the full day name for each delivery date. Click C2 and use TEXT on the date in B2 with the format code dddd.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Day | |||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | ||||
| 7 | ||||
| 8 |
Tip: Four d's give the full day name. Put the code in double quotes.
Practise this in a lesson
Frequently asked questions
How do I get the day of the week from a date in Excel?
Use =TEXT(A2,"dddd") for the day name, such as Tuesday. If you need a number instead, use =WEEKDAY(A2,2), which returns 1 for Monday through 7 for Sunday.
How do I show the date and the day name in one cell?
Apply a custom number format such as dddd, d mmmm yyyy with Ctrl+1 on Windows or ⌘1 on Mac. The cell shows something like Saturday, 15 March 2025 and stays a real date.
Why does TEXT show Saturday for an empty cell?
Excel treats an empty cell as 0, which is day zero of its calendar, and that day is shown as a Saturday. Wrap the formula in IF(A2="","",TEXT(A2,"dddd")) to leave empty rows blank.
How do I count how many dates fall on a Monday?
Use =SUMPRODUCT(--(TEXT(A2:A20,"ddd")="Mon")). TEXT turns each date into a short day name, the comparison checks for Mon, and SUMPRODUCT counts the matches.