*In this tutorial, you will find lots of formula examples demonstrating the use of WEEKDAY, DAY and DAYS functions in Excel. See how to return a day of week from date, get the number of days in the year, find how many days are between two dates and more.*

There are a variety of functions to work with days of year and days of the week in Excel, including WEEKDAY, DAY, DAYS, DATE and more. These functions can be used to determine workdays and weekends, calculate the number of days between two dates, count the number of days remaining in the year, return day of the week from date, and much more.

Weekday Excel functions are particularly useful for planning and scheduling, for example to determine the timeframe of a project and automatically remove weekend days from the total. So, let's run through the functions one-at-a-time and see how they can help you cope with various tasks in Excel.

Microsoft Excel provides a special WEEKDAY function to return the day of the week corresponding to a given date.

The result returned by an Excel WEEKDAY formula is an integer, ranging from 1 (Sunday) to 7 (Saturday) by default. If your formula's logic requires a different enumeration, you can start counting with any day of week, as you will see in a moment.

The syntax of the Excel WEEKDAY function is as follows:

WEEKDAY(serial_number,[return_type])

**Serial_number**- a serial number that represents the date, or a reference to a cell with a date or serial number.If the term "serial number" does not make much sense to you, let me remind you that Excel stores all dates as serial numbers beginning with January 1, 1900, which is stored as number 1. And it is these numbers that the WEEKDAY function operates on. If you want to learn more about how Excel stores dates and times, you may find the following article useful: Excel date format.

**Return_type**(optional) - determines what day of the week to use as the first day in calculations.

In your Excel WEEKDAY formulas, you can specify any of the following values for the return_type argument:

Return_type | Number returned |

1 or omitted | From 1 (Sunday) to 7 (Saturday) |

2 | From 1 (Monday) to 7 (Sunday) |

3 | From 0 (Monday) to 6 (Sunday) |

11 | From 1 (Monday) to 7 (Sunday) |

12 | From 1 (Tuesday) to 7 (Monday) |

13 | From 1 (Wednesday) to 7 (Tuesday) |

14 | From 1 (Thursday) to 7 (Wednesday) |

15 | From 1 (Friday) to 7 (Thursday) |

16 | From 1 (Saturday) to 7 (Friday) |

17 | From 1 (Sunday) to 7 (Saturday) |

And now, let's look at some examples of using the WEEKDAY function in Excel. All of the below formulas return the day of the week corresponding to March 19, 2015. For the sake of clarity, this date is stored as number 42082 in Excel.

At first sight, it may seems that the numbers returned by the Excel WEEKDAY function have very little practical sense. But let's look at it from a different angle and discuss some formulas that solve real-life tasks.

If you have a long date column in your worksheet, you may want to know which dates are working days and which are weekends.

An easiest way is to have a day name displayed in a cell, for example as "*Friday, March 20, 2015*" or just "*Friday*". And you can do this in no time by simply changing the date format. However, this is not always an ideal approach, firstly, because a short date format is often required, and secondly, because you may need to filter only weekends or only workdays in your Excel list.

One of possible solutions is embedding the WEEKDAY function into the logical test of the IF function:

`=IF(WEEKDAY(A2,2)<6, "Workday", "Weekend")`

In this Weekday formula, we set the `return_type `

argument to 2, which corresponds to the week beginning with Monday (day 1). So, if the day of the week in cell A2 is less than 6 (Monday through Friday), the formula returns "Workday", otherwise - "Weekend".

To filter weekdays or weekend days, you apply Excel's filter to your table (Data tab > Filter) and select either "Workday" or "Weekend".

If your organization, or maybe some regional office of your company, works on a different schedule where the days of rest are other than Saturday and Sunday, you can easily adjust this WEEKDAY formula to your needs by specifying a different `return_type `

.

For example, to treat *Saturday* and *Monday* as weekends, you set return_type to 12, since you want the "Tuesday (1) to Monday (7)" week type:

`=If(WEEKDAY(A2, 12)<6, "Weekday", "Weekend")`

The Excel WEEKDAY formula discussed in the previous example has no problem with finding working days and weekends, no matter which days of the week are days off. However, you can improve the visual presentation of the results by shading workings days and weekend days in different colors.

For this, you can create Excel conditional formatting rules with the following WEEKDAY formulas to highlight weekends or workdays, or both:

Highlight weekends (Saturday and Sunday): `=WEEKDAY($A2,2)<6`

Highlight workdays (Monday - Friday): `=WEEKDAY($A2,2)>5`

The results look much better now, don't they?

If you have a list of dates in Excel and you aim to find a day of week for each date, you do not actually need any special formulas :) The point is that Excel already knows what day of week a given date is and all you need to do is get it to display that information.

For example, if your dates are in column A, you can put a simple =A2 formula in cell B2 and then copy it down to other cells. After that, you select the entire column B and set the custom date format to it, such as:

- ddd - to display an abbreviated day name, e.g.
*Sun*. - dddd - to display full day names, e.g.
*Sunday*.

Please note that the results, which may look like usual text entries to you, are in fact fully functional Excel dates that you can use in other calculations. You can tell these are dates by their right alignment in a cell as opposed to left-aligned text values.

An alternative way to determine a day of the week by date is using the Excel TEXT function. In your TEXT formulas, you can specify the same formats as in the above example - "ddd" to return a short name and "dddd" to return full names of the days of the week:

`=TEXT(A1, "ddd")`

`=TEXT(A1,"dddd")`

Where A1 is a cell with the original date.

When using this method, please remember that the TEXT function in Excel always returns **text strings** regardless of the source cell's format. So, the day of week names you see in the above screenshot are text entries, and not dates. And this is what makes them different from the results of the previous example, which are still fully functional Excel dates.

Yet another way to find the day of the week from date in Excel is using the WEEKDAY function in liaison with CHOOSE. An advantage of this formula is that it lets you return the day names in any format of your choosing.

For example, if you want to display days of week as the first 2 letters, enter them as `value`

arguments in the CHOOSE function:

`=CHOOSE(WEEKDAY(A2),"Su","Mo","Tu","We","Th","Fr","Sa")`

In this formula, the Excel WEEKDAY function gets the day of week as a serial number. And the CHOOSE function uses that number as `index_num`

(the 1^{st} argument) that indicates which value from the list of `value`

arguments to return.

Microsoft Excel provides a special **DAY** function to retrieve the day of the month from a date:

DAY(serial_number)

The day is returned as a serial number ranging from 1 to 31. For example, in you have a list of dates in column A and you want to extract the days into column B, you put the following formula in cell B2 and then copy it down to other cells:

`=DAY(A2)`

An alternative way to extract a day of the month from a date is using the TEXT function, for example:

`=TEXT(A2, "d")`

- to display day numbers without leading zeros, or

`=TEXT(A2, "dd")`

- to display day numbers with leading zeros.

The syntax of the Excel **DAYS** function is so obvious that you will hardly need any explanations :)

DAYS(end_date, start_date)

Supposing that the Start Date of your projects is in column A and the End Date in column B, you can calculate the projects' duration (i.e. the number of days between two dates) using the following formula:

`=DAYS(B2,A2)`

This formula will work with normal dates as well as dates formatted as text. If either the start date or end date is a text value, Excel will try to convert it to date (you would use the DATEVALUE function for this). If Excel is unable to parse your text sting as a valid date, the DAYS formula will return the #VALUE! error.

When working with days of year in Excel, you have a few functions at your disposal. Which one to choose depends on your data format and exactly what result you are after :)

This example demonstrates how you can get the number of a certain day in a year, between 1 and 365 (1-366 in leap years) with January 1 considered day 1.

For this, you use a combination of the Excel DATE and YEAR functions:

`=A2-DATE(YEAR(A2),1,0)`

Where A2 is a cell containing the date.

And now, let's see what the formula actually does. The **YEAR** function retrieves the year of the date in cell A2, and passes it to the **DATE(year, month, day)** function, which returns the sequential number that represents a certain date.

So, in our formula, `year`

is extracted from the original date (A2), `month`

is 1 (January) and `day`

is 0. In fact, a zero day forces Excel to return December 31 of the previous year, because we want January 1 to be treated as the 1^{st} day. And then, you subtract the serial number returned by the DATE formula from the original date (which is also stored as a serial number in Excel) and the difference is the day of the year you are looking for. For example, January 5, 2015 is stored as 42009 and December 31, 2014 is 42004, so 42009 - 42004 = 5.

If the concept of day 0 does not seem right to you, you can use the following formula instead:

`=A2-DATE(YEAR(A2),1,1)+1`

To compute the number of days remaining in the year, we are going to use the DATE and YEAR functions again. The formula is based on the same approach as Example 3 above, so you are unlikely to have any difficulties with understanding its logic:

`=DATE(YEAR(A2),12,31)-A2`

If you want to know how many days remain till the end of the year based on the current date, you use the Excel TODAY() function, as follows:

`=DATE(2015,12,31)-TODAY()`

Where 2015 is the current year.

This is how you work with days of week and days of year in Excel. In the next article, we will explore Excel functions to operate on bigger time units such as weeks, months and years. Please stay tuned and thank you for reading!

Excel formulas
CSV
Excel functions
Print
Vlookup in Excel
Merge data in Excel
SumIf
Excel CountIf
Excel Compare
Excel If statement
Excel Charts
Pivot Table
Updates
Excel conditional formatting
Excel formatting
Excel time
Excel duplicates
Excel date
Excel tips
Excel macro
Outlook
Google Sheets
Outlook duplicates
Outlook templates

## 177 Responses to "WEEKDAY, DAY and other functions to calculate days in Excel"

If the date field is blank how do I get the return cell day of the week to stay blank? The =WEEKDAY(A2) formula is working fine and reporting as needed into the day of the week when the date is filled in, but if the date cell is blank yet (haven't added that data line yet) how do I get the day of the week cell to stay blank also?

Try:

=iferror(weekday(a2), " ")

Dear sir i want to account the month. from start date to end date

Example

01-12-2018 - 01-06-2018 total 06 month

Say I want an "IF" formula that checks a cell (a1) with a date indicated then on a different cell (b1) it validates the indicated date on cell A1 that its already pass 3 business days once confirmed cell B1 would indicate as a "Yes" if not then a "No", is this possible?

Hello, I've got a problem with a specific formula.

I have 2 cells generating dates:

Todays date (using =now () ) - In the format of dd-mm-yy hh:mm:ss

Working date (using =workday(todays date,5)+time(15,0,0) so it adds +5 to working date + declares time of 15:00:00. For my purpose, I need the format to remain dd-mm-yyyy 15:00:00.

The issue that I'm having is that once the time passes 15:30:00 on today's date (=now() function) - I need the working date to increase from 5 to 6, so it becomes tomorrow's work.

Can you please advise on this?

Kind Regards,

James.

I forgot to add, this will probably need to be converted to an IF function, my cell references are:

Todays Date = I2 ( =NOW() )

Working Date = I3 ( =WORKDAY(I2,5)+TIME(15,0,0) )

Condition 1 should meet any text

Condition 2 if the date exceeds or equal the current date (eg: 16th of any month), it should return a value 2

Condition 3 if the date is between 1st and 15th of the same month, it should return a value of 1

Condition 4 if the date is of the preceding month, it should return a value of 0

My formula

=if(and(a1="A", or(today()>=date(2019,3,16), 2, if(a1="A", or(today()=date(2019,3,1),1, if(a1="A", or(today()<date(2019,3,1),0)))

This formula is not working . could you please let me know what is the syntax error

may i get the answer in Microsoft Excel to these questions and reassure me if I can be selected. 1.sunday - Saturday + 4 Monday =? , Thursday - 3 Saturday + monthly total = 2. Summation = Sunday of the month divided by summation Monday of the month. 3. 40% of the Wednesday of the month multiplying by 20% of Friday. I'm counting on you really.

I am working on something and I need to enter a formula that counts a large number of days of the week that automatically adds up how many for example Fridays are in that list.

Hello . I'm following all the functions from last week. You are Awesome because all your examples are very useful..

I have once quick question for you , Please help me out because I'm stuck here.

Question : For ex : I have a one date as a reference and from this reference date i need to get 3 different dates i.e ( 7 days before the ref date, 2 days before the ref date & 1 day before the ref date) but the twist is that the new date should fall on Weekday and not on Weekend( i.e Sat & sun).

Please help me out , i'm trying to figure out this from many days.

Thank you in Advance!!!!

Thanks, very helpfull

Hi, I need to return a custom day (i.e S for Sunday and so forth).. I used the CHOOSE and WEEKDAy function but then the formula doesn't drag across and then follow the next day sequence. It's just copying the S from the cell before. How do I get this formula to work across the schedule I am creating? =CHOOSE(WEEKDAY(cell reference), "S", "M", "T", etc etc. Can you please help as I will using this to setup monthly work schedules

hi,

i need to calculate age between 2 dates excluding weekends?

Is there a way to calculate the day of the week with the numbering 1-14 instead of 1-7?

How can i calculate the first (1st) day of each calendar month or the immediately preceding Business Day if the first (1st) day of such calendar month is not a Business Day?

I'm looking to calculate the date of the year based on a day.

I'm doing some analysis using 31 years of day and have a mean value, 45 (i.e. day 45 of 365). I want to convert 45 to represent a date, so I don't have a generic year to plug in.

What would be the excel formula to do this?

Hi Team,

I am working in a BPO industry. I need to track the production as well as the other details in day wise. For example The date is 1st November, in need to track the Target, Achieved, Production. So I have merged the 1st November header has been merged into three above cells. I do not have any issues on this. Please help me out to convert into weekly basis with the same header.

Can I actually do this? :)

I have this format in the cells for date and time:

04:35 PM EDT Oct 29 2019

How can I create a formula for finding how many minutes elapsed between cells in column A (arrival time) and column B (departure time)?

I want to calculate how long my visitors spent in my office.

Sir..i need to formula.one cell i enter month and i get result in column sequences ..wed..thu..sun..wed..thu..sun..wed..thu with date for this month

I am using conditional formatting to highlight weekends. If the first falls on a weekend it does not highlight. I am using =OR(WEEKDAY($A1)=7,WEEKDAY($A1)=1). What is wrong?

Hello Bill,

Since 30 and 31 of December is the 53rd week of 2019 and 1st to 5th January is the first week of 2020, the formula for this particular week needs some modification. Please try the one below:

=IF(OR(WEEKNUM($A1, 1) = 53,WEEKNUM($A1, 1) = 1), TRUE)

Hope it'll work for you.

Thanks for the tip, but it didn't quite work. I am using a new spreadsheet for the year. However, I did get it to work by starting it in the correct cell (not $A1 but $A2). I like your site, I have learned a lot from it.

Thank you for replying, Bill. Glad to hear you found a solution!

I have problem when creating =WEEKDAY($A2,2)>5 for year 2020 Feb 28 cross over to Mar 01. My "Sat" did not appear. It turns out to be a "Sun". I've checked the cell, the date is 01/03/2020 but ddd turn out to be a "Sun". How can I solve this?

I have a range of random dates in column b3:b30 and wish to find the oldest date and convert to the corresponding Monday

How do I nest and use the MIN and Weekday function in excel?

Day 1 in Excel is January 1, 1900.

Weekday of this date gives a Sunday.

However, when you Google for a calendar image of January 1900 you get a Monday.

Can anyone explain this anomaly?

Thanks,

Fred

i have this date 08-01-10 11:15

and i want to transform it to day of the week...

any suggestions?

10-1-2019 1:30AM, - 12-1-2020 3:10AM total year,munth,dd, Hh,mm Excel convert plg sent

Hi, I am trying something a bit different than what ever everyone else seems to be doing. I hope you can help me as I've been trying different ways for a very long time now and am getting nowhere fast.

I am building a weekly schedule and can allocate weekdays easily. I am trying to enter holidays into this formula but it does not work. I don't care about how many days it takes. I am only concerned with what my end date will be (without weekends or holidays).

This is what I've been entering so far..Example (=weekday,1). "weekday" being in the box next to it. then I simply follow through with that formula across the row and it self tabulates the weekdays only. When I try to enter a holiday with it...example (=weekday,1, B6:B12) "these would be dates in a different box", it does nothing. hope this makes sense. Please help if you can.

Hello Rob!

If I understand your task correctly, the following formula should work for you:

=IF(AND(WEEKDAY(A1,2)<6,ISNA(VLOOKUP(A1,$G$1:$G$7,1,FALSE))),"workday","holiday")

where $G$1:$G$7 - list of holidays.

In weeknum suggestions why we have to use different numbers for monday like 2,3(0-6),11 and for sunday 1,17. For ex: for sunday we can use 1 right, why 17 also there for sunday, and where will have to use 17, is there any logic for using 1 or 17, like here we have to use only 17 for sunday but not 1, please let me know this, thankyou

Hello Kiwi!

The list of possible values for the return_type argument in the WEEKDAY function is set by Microsoft. You simply choose a type from the list which suits better for your task. You can use any of the them as they just determine what day of the week to use as the first day.

Hi,

I try to get a result for the following example: if today is 04/14/2020, and last month 03/14/2020 fell on the weekend, what formula does it apply to bring me the next working day in March = 03/16/2020?

Thx

Hello Cristian!

If I understand your task correctly, maybe the following formula should work for you:

=IF(WEEKDAY(EDATE(A1,-1))>5, WORKDAY(EDATE(A1,-1)-1,1), EDATE(A1,-1))

Hope you’ll find this information helpful.

Hello,

I am new to excel. Could you please help me? Is it possible to set a range by using "TODAY()" with a certain cell? For example: =SUMPRODUCT(--(WEEKDAY(TODAY():B34)={3,5}))

Hello!

I’m sorry but your task is not entirely clear to me.

In the WEEKDAY function, you can record WEEKDAY(B33:B34). And in cell B33 write the formula =TODAY(). For me to be able to help you better, please describe your task in more detail. Please let me know in more detail what you were trying to find, what problem or error occurred. It’ll help me understand it better and find a solution for you. Thank you.

I have a table of lunch expenses. I have dates of May on B4:B34, the expenses on E4:E34, and a fixed budget for the month. I need to sum all lunch expenses except Tuesdays and Thursdays and figure out the left budget for lunch expense to spend till the end of the month. So What I want is to sum all Tuesdays and Thursdays from today to the end of the month so every morning whenever I open the file I would know how much is left to spend for lunch. That formula is just a part portion. Sorry, if I didn't make it clear still.

Hello!

To add all expenses for Tuesdays and Thursdays, use the formula

=SUMPRODUCT((WEEKDAY(B4:B34)=3) + (WEEKDAY(B4:B34)=5),E4:E34)

I hope this will help, otherwise please do not hesitate to contact me anytime.

Hello,

Thanks for taking time to help me out. What I want to do though is to use "today()" within sumproduct fuction. I want the computer automatically calculate left days of the month from "today" excluding Tuesdays and Thursdays, not the amount of the expenses but the actually days.

I need the mathematical number sentence like this:

Lunch Budget ÷ (Days Left - (Tuesdays & Thursdays from the left days)*)

* Since I have to check the left lunch budget each day I want to use "today()" function.

I came up with this formula and it worked:

P27(LUNCH BUDGET) | B34(LAST DAY OF THE MONTH) | B31(TODAY'S DATE)

P27 / ((NETWORKDAYS(TODAY(),B34)) - SUMPRODUCT(--(WEEKDAY(B31:B34)={3,5})))

but, I want to make it like this:

P27 / ((NETWORKDAYS(TODAY(),B34)) - SUMPRODUCT(--(WEEKDAY(today():B34)={3,5}))) or

P27 / ((NETWORKDAYS(TODAY(),B34)) - SUMPRODUCT(--(NETWORKDAYS(today(),B34)={3,5})))

but both won't work.

I hope it help you to understand better as to what I want to figure out.

Please help and thank you so much!

Hello,

I have a question and maybe someone could help me here.

How can I make a formula to count for the whole year weeks and dates with more then 1 cell with the same date?

FX:

Week1 01/01/2020

Week1 01/01/2020

week1 02/01/2020

week1 02/01/2020

Thank you in advance and have a nice day!

Hello!

I’m sorry but your task is not entirely clear to me.

For me to be able to help you better, please describe your task in more detail. Please let me know in more detail what you were trying to find, what formula you used and what problem or error occurred. Give an example of the source data and the expected result. For example, Week1 01/01/2020 - is it one cell or several?

It’ll help me understand it better and find a solution for you. Thank you.

Hi, I am having an issue and I do not understand why this is happening.

I am using Google Spreadsheet.

My year begins on a Sunday, December 29th (cell B1) and ends on Saturday, January 4th (cell B4)

Since the formula WEEKNUM refers to the date in cell B1, and is a Sunday, I omitted the type since the week begins on a Sunday, per Excel reference sheet: -> System 1: The week containing January 1 is the first week of the year, and is numbered week 1.

But whatever I do, it always returns as week number 53 instead of 1, as it should be.

The second issue is that the second week begins on Sunday, January 5th (cell J1) and ends on Saturday, January 11th (cell P1). Since the formula still refers to the Sunday of the first day of this week (January 5th), It returns as week number 2.

That would be correct week number is the first week wasn't considered as week #1.

Because of this issue, Week 1 does not exist and causes problems with futur weeks and years.

I would be very grateful if you could help me find a solution to my problem.

Thank you very much and have a good day :)

Sorry, I meant to say in my second sentence: "I am using Excel 2013, I got a bit distracted"

Hello

Can you help me?

I need to add 2 days if the date falls on a Saturday and if it falls on sundays, we add 1 day

Hello!

You need to determine the day of the week using the WEEKDAY function and apply it as a condition in the IF function

=IF(WEEKDAY(A7,2)=7, A7+1, IF(WEEKDAY(A7,2)=6, A7+2,A7))

Hope this is what you need.

=OrText($B$3,"DDD") ="SAT",text($B$3,"DDD")="SUN" Hi.am trying to use this formula in conditional formating, to highlight Saturdays and sundays..can you please help me... there is something am missing... can you please help me

=OrText($B$3,"DDD") ="SAT",text($B$3,"DDD")="SUN" Hi.am trying to use this formula in conditional formating, to highlight Saturdays and sundays..can you please help me... there is something am missing... can you please help me

Hello!

The formula below will do the trick for you:

=WEEKDAY(B3,2) > 5

I hope my advice will help you solve your task.

Thank you..i think there is something wrong with my excel...all the other formulas are working fine,, but only this weekend highlighting formula is not working for me.

Hi, please would you know the function or a way i can use to get the weekend (Saturday) date of a particular day in a week. Let's say i want to automatically get the weekend date of today (6/23/2020) in my cell. conditional formatting didn't work for me. Thanks in anticipation.

Hello Michael!

If I understand your task correctly, the following formula should work for you:

=A1+(8-WEEKDAY(A1,16))

In WEEKDAY function, use parameter 16

I hope this will help

Wooooooow! I wish could give a hug right now. It worked perfectly. You saved me a lot of stress. Thanks a lot, great work you're doing here!

I have a cell with a date that is changed each week in A1 and formula to give me the day of week starting with Sunday ending Saturday and also give the date of each day based on the date in cell A1. The following formula is used in each cell C5:I5 =DATE(YEAR($A$1),MONTH($A$1),DAY($A$1)) C5 is Sunday Then D5:I5 adjust the Day($A$1+1) it's +1 for Monday,+2 for Tuesday,+3 for Wednesday,+4 for Thursday,+5 for Friday,+6 Saturday. My problem is since June only has 30 days it skewed the DAYS of the week but the DATE is correct, so it reads Sunday 28th Monday 29th Tuesday 30th Monday 1st Thursday 2nd Wednesday 3rd Thursday 4th. If I change the formula starting on the first thru 4th to be =DATE(YEAR($A$1),MONTH($A$1+6),DAY(I5+1)) then it works until there is a change from 30 to 31 day month.

Is there a formula that will recognize and make the adjustment automatically?

Hello Cindy!

I propose the formula = $ A $ 1 in cell C5, the formula = $ A $ 1 + 1 in cell D5, the formula = $ A $ 1 + 2 in cell E5, and so on. I think this will help solve the problem.