Get day name from date
If you need to get the day name (i.e. Monday, Tuesday, etc.) from a date, there are several options depending on your needs.
Do you want to convert the date into a day name?
=TEXT(B4,"dddd") // returns "Saturday"
The TEXT function converts values to text using the number format that you provide. Note that the date is lost in the conversion, only the text for the day name remains.
Do you just want to display the day name?
If you only want to display a day name, you don't need a formula – you can use a custom number format. Select the date, then go to Format cells (Ctrl + 1 or Cmd + 1) > Custom, and enter one of these custom formats:
"ddd" // i.e."Wed" "dddd" // i.e."Wednesday"
Excel will display only the day name, but it will leave the date value intact.
Handling an empty date
If you use the formula above with an empty cell, you'll get "Sat" as a result, since zero in the Excel date system is treated as "00-Jan-1900", which is a Saturday. To work around this issue, you can adjust the formula like this:
A more flexible way to get a day name from a date
For maximum flexibility, you build your own day names with the CHOOSE function like so:
In this case, enter the weekday names you want to return (abbreviated or not) as values in CHOOSE, after the first argument. The WEEKDAY function will return a number between 1-7, and CHOOSE will use this number to return the corresponding value in the list. With default settings, Sunday = 1 and Saturday = 7. See WEEKDAY for more info.
CHOOSE is more work to set up, but it is also more flexible, since it allows you to map a date to any values you want (i.e. you can use values that are custom, abbreviated, not abbreviated, different language, etc.)