The tutorial shows how you can leverage the new SEQUENCE function to quickly generate a list of dates in Excel and use the AutoFill feature to fill a column with dates, workdays, months or years.
Until recently, there has been just one easy way to generate dates in Excel - the AutoFill feature. The introduction of the new dynamic array SEQUENCE function has made it possible to make a series of dates with a formula too. This tutorial takes an in-depth look at both methods so that you can choose the one that works best for you.
How to fill date series in Excel
When you need to fill a column with dates in Excel, the fastest way is to use the AutoFill feature.
Auto fill a date series in Excel
Filling a column or row with dates that increment by one day is very easy:
- Type the initial date in the first cell.
- Select the cell with the initial date and drag the fill handle (a small green square at the bottom-right corner) down or to the right.
Excel will immediately generate a series of dates in the same format as the first date that you typed manually.
Fill a column with weekdays, months or years
To create a series of workdays, months or years, do one of the following:
- Fill a column with sequential dates as described above. After that, click the AutoFill Optionsbutton and pick the desired option, say Fill Months:
- Or you can enter your first date, right-click the fill handle, hold and drag through as many cells as needed. When you release the mouse button, a context menu will pop-up letting you select the needed option, Fill Years in our case:
Fill a series of dates incrementing by N days
To auto generate a series of days, weekdays, months or years with a specific step, this is what you need to do:
- Enter the initial date in the first cell.
- Select that cell, right-click the fill handle, drag it through as many cells as needed, and then release.
- In the pop-up menu, choose Series (the last item).
- In the Series dialog box, select the Date unit of interest and set the Step value.
- Click OK.
For more examples, please see How to insert and autofill dates in Excel.
How to make a date sequence in Excel with a formula
In one of the previous tutorials, we looked at how to use the new dynamic array SEQUENCE function to generate a number sequence. Because internally in Excel dates are stored as serial numbers, the function can easily produce a date series too. All you have to do is to correctly configure the arguments as explained in the following examples.
Note. All the formulas discussed here only work in the latest versions of Excel 365 that support dynamic arrays. In pre-dynamic Excel 2019, Excel 2016 and Excel 2013, please use the AutoFill feature as shown in the first part of this tutorial.
Create a series of dates in Excel
To generate a sequence of dates in Excel, set up the following arguments of the SEQUENCE function:
- Rows - the number of rows to fill with dates.
- Columns - the number of columns to fill with dates.
- Start - the starting date in the format that Excel can understand, like "8/1/2020" or "1-Aug-2020". To avoid mistakes, you can supply the date by using the DATE function such as DATE(2020, 8, 1).
- Step - the increment for each subsequent date in a sequence.
For example, to make a list of 10 dates starting with August 1, 2020 and increasing by 1 day, the formula is:
=SEQUENCE(10, 1, "8/1/2020", 1)
or
=SEQUENCE(10, 1, DATE(2020, 8, 1), 1)
Alternatively, you can input the number of dates (B1), start date (B2) and step (B3) in predefined cells and reference those cells in your formula. Since we are generating a list, the columns number (1) is hardcoded:
=SEQUENCE(B1, 1, B2, B3)
Type the below formula in the topmost cell (A6 in our case), press the Enter key, and the results will spill across the specified number of rows and columns automatically.
Note. With the default General format, the results will appear as serial numbers. To have them displayed correctly, be sure to apply the Date format to all the cells in the spill range.
Make a series of workdays in Excel
To get a series of working days only, wrap SEQUENCE in the WORKDAY or WORKDAY.INTL function this way:
As the WORKDAY function adds the number of days specified in the second argument to the start date, we subtract 1 from it to have the start date itself included in the results.
For instance, to generate a sequence of workdays starting on the date in B2, the formula is:
=WORKDAY(B2-1, SEQUENCE(B1))
Where B1 is the sequence size.
Tips and notes:
- If a start date is Saturday or Sunday, the series will begin on the next working day.
- The Excel WORKDAY function assumes Saturday and Sunday to be weekends. To configure custom weekends and holidays, use the WORKDAY.INTL function instead.
Generate a month sequence in Excel
To create a series of dates incremented by one month, you can use this generic formula:
In this case, you put the target year in the 1st argument and day in the 3rd argument. For the 2nd argument, the SEQUENCE function returns sequential numbers from 1 to 12. Based on the above parameters, the DATE function produces a series of dates like shown in the left part of the screenshot below:
=DATE(2020, SEQUENCE(12), 1)
To display only the month names, set one of the below custom date formats for the spill range:
- mmm - short form like Jan, Feb, Mar, etc.
- mmmm - full form like January, February, March, etc.
As the result, only the month names will appear in cells, but the underlying values will still be full dates. In both series in the screenshot below, please notice the default right alignment typical for numbers and dates in Excel:
To generate a date sequence that increments by one month and starts with a specific date, use the SEQUENCE function together with EDATE:
The EDATE function returns a date that is the specified number of months before or after the start date. And the SEQUENCE function produces an array of 12 numbers (or as many as you specify) to force EDATE to move forward in one-month increments. Please notice that the start argument is set to 0, so that the start date gets included in the results.
With the start date in B1, the formula takes this shape:
=EDATE(B1, SEQUENCE(12, 1, 0))
Note. After completing a formula, please remember to apply an appropriate date format to the results for them to display correctly.
Create a year sequence in Excel
To make a series of dates incremented by year, use this generic formula:
Where n is the number of dates you want to generate.
In this case, the DATE(year, month, day) function constructs a date in this way:
- Year is returned by the SEQUENCE function that is configured to generate an n rows by 1 column array of numbers, starting at the year value from start_date.
- Month and day values are pulled directly from the start date.
For example, if you input the start date in B1, the following formula will output a series of 10 dates in one-year increments:
=DATE(SEQUENCE(10, 1, YEAR(B1)), MONTH(B1), DAY(B1))
After being formatted as dates, the results will look as follows:
Generate a times sequence in Excel
Because times are stored in Excel as decimals numbers representing a fraction of the day, the SEQUENCE function can work with times directly.
Assuming the start time is in B1, you can use one of the following formulas to produce a series of 10 times. The difference is only in the step argument. As there are 24 hours in a day, use 1/24 to increment by an hour, 1/48 to increment by 30 minutes, and so on.
30 minutes apart:
=SEQUENCE(10, 1, B1, 1/48)
1 hour apart:
=SEQUENCE(10, 1, B1, 1/24)
2 hours apart:
=SEQUENCE(10, 1, B1, 1/12)
The screenshot below shows the results:
If you do not want to bother calculating the step manually, you can define it by using the TIME function:
For this example, we'll input all the variables in separate cells like shown in the screenshot below. And then, you can use the below formula to generate a time series with any increment step size you specify in cells E2 (hours), E3 (minutes) and E4 (seconds):
=SEQUENCE(B2, B3, B4, TIME(E2, E3, E4))
How to create a monthly calendar in Excel
In this final example, we'll be using the SEQUENCE function together with DATEVALUE and WEEKDAY to create a monthly calendar that will update automatically based on the year and month that you specify.
The formula in A5 is as follows:
=SEQUENCE(6, 7, DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1, 1)
How this formula works:
You use the SEQUENCE function to generate a 6 rows (the max possible number of weeks in a month) by 7 columns (the number of days in a week) array of dates incremented by 1 day. Hence, the rows, columns and step arguments raise no questions.
The trickiest part in the start argument. We cannot start our calendar with the 1st day of the target month because we do not know which day of the week it is. So, we use the following formula to find the first Sunday before the 1st day of the specified month and year:
DATEVALUE("1/"&B2&"/"&B1) - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
The first DATEVALUE function returns a serial number that, in the internal Excel system, represents the 1st day of the month in B2 and the year in B1. In our case, it's 44044 corresponding to August 1, 2020. At this point, we have:
44044 - WEEKDAY(DATEVALUE("1/"&B2&"/"&B1)) + 1
The WEEKDAY function returns the day of the week corresponding to the 1st day of the target month as a number from 1 (Sunday) to 7 (Saturday). In our case, it's 7 because August 1, 2020 is Saturday. And our formula reduces to:
44044 - 7 + 1
44044 - 7 is 4403, which corresponds to Saturday, July 25, 2020. As we need Sunday, we add the +1 correction.
This way, we get a simple formula that outputs an array of serial numbers beginning with 4404:
=SEQUENCE(6, 7, 4404, 1)
Format the results as dates, and you'll get a calendar shown in the screenshot above. For example, you can use one of the following date formats:
- d-mmm-yy to display dates like 1-Aug-20
- mmm d to display month and day like Aug 20
- d to display only the day
Wait, but we aim to create a monthly calendar. Why do some dates of the previous and next month show up? To hide away those irrelevant dates, set up a conditional formatting rule with the below formula and apply the white font color:
=MONTH(A5)<>MONTH(DATEVALUE($B$2 & "1"))
Where A5 is the leftmost cell of your calendar and B2 is the target month.
For the detailed steps, please see How to create a formula-based conditional formatting rule in Excel.
That's how you can generate a sequence of dates in Excel. I thank you for reading and hope to see you on our blog next week!
Practice workbook for download
Date sequence in Excel - formula examples (.xlsx file)
291 comments
I am needing help with a formula that would allow me to have the same date in 'x' amount of rows (for this example lets say 5 rows) and then it changes to the next day for the next 5 rows and so on and so forth. With that being said, I want to only include weekdays (Monday - Friday) as well as any company holidays I may have (Example: July 4th).
Example:
6/30/2023
6/30/2023
6/30/2023
6/30/2023
6/30/2023
*Skips Weekend*
7/3/2023
7/3/2023
7/3/2023
7/3/2023
7/3/2023
*Skips 7/4 Holiday*
7/4/2023
7/4/2023
7/4/2023
7/4/2023
7/4/2023
Continued until 11/1/2023. And if I needed to include additional company holidays besides the one I provided, how would I include that in the formula?
Appreciate the help!
Hi!
To calculate workdays with custom weekends, use WORKDAY.INTL function. For the "days" argument, use a sequence of numbers that can be given by the SEQUENCE function.
For example:
=WORKDAY.INTL(D1,SEQUENCE(50,1,1,1),1,E1:E5)
For more information, please visit: Calculating weekdays in Excel - WORKDAY and NETWORKDAYS functions.
How to create excel table to auto fill the dates in one column with the month and Year given in a cell as input and how to high light the weekend days
Example
Month and Year 03/2023
Dates
01
02
03
04
05
06
07
Have you tried the ways to create the date sequence described above in this article? If that doesn't work for you, describe in detail what result you want to get.
To create a date in an adjacent cell based on these values, you can use the formula
=DATEVALUE(A2&"/"&"03/23")
Read more: How to convert text to date and number to date in Excel
I want to know is it possible to autofill date in a column of particular month, when the month is provided by the user.
Hi!
All the necessary information is in the article above.
The formula below will do the trick for you:
=DATE(YEAR(TODAY()),M1,SEQUENCE(DAY(EOMONTH(DATE(2023,M1,1),0))))
The DAY and EOMONTH functions help you get the number of days in a month.
Hi! I'm hoping to get some help if possible- I'm trying to create a daily attendance log with the date at the top right corner(dddd, mmmm dd. yyyy) that auto-updates to the next workday on print?? Is this even possible? Specifically: cell is currently set to Monday, April 03, 2023, and on Print it would auto-update to Tuesday, April 04, 2023, and so on for the month.
Maybe I'm looking for a function that doesn't exist, but it'd sure be nice to be able to go CTRL+P at 30 "copies" and have them all automatically be from Monday-Friday for the month, instead of having to type the date in for each day.
I'm really sorry, we cannot help you with this.
How can i have a fixed date in a cell change every 28 days within that same cell.
Example Cell A1 '12/02/23' change to '12/03/23' on that date. Then again change to '09/04/23' on that date, and so on.
Thanks in advance
Hi, I am trying to get a formula where i can write the date in one cell then have cells three rows below auto populate the week entirely.
Hi!
Maybe this article will be helpful: How to add and subtract dates, days, weeks, months and years in Excel.
I am trying for Date Sequence With regular interval of blank five columns but Not Working Any Suggestions ?
Hi!
This looks completely incomprehensible, but the data sequence cannot create empty values.
like for example i am trying for this.....
March 2, 2023
March 3,2023
March 4,2023
in this way i am trying to do if any thing possible ?
Hi!
If I understand correctly, write the date in the first cell. Select that cell and the empty cell below it. Hover the mouse cursor over a small square at the lower right-hand corner of the selected range. Hold and drag the fill handle down the column.
Hello,
can anyone help me with a formula for the following:
Tuesday, February 28, 2023 AM
Tuesday, February 28, 2023 PM
Wednesday, March 01, 2023 AM
Wednesday, March 01, 2023 PM
Thursday, March 02, 2023 AM
Thursday, March 02, 2023 PM
Friday, March 03, 2023 AM
Friday, March 03, 2023 PM
Saturday, March 04, 2023 AM
Saturday, March 04, 2023 PM
Sunday, March 05, 2023 AM
Sunday, March 05, 2023 PM
Monday, March 06, 2023 AM
Monday, March 06, 2023 PM
and etc....
Thank you in advance
Hello!
Write in the first cell the starting date and time, for example, 1.03.2023 01:00:00 In the next cell add to this value 0.5: A1+0.5 Copy down the column. Use a custom date format
dddd, mmmm dd, yyyy AM/PM
I hope my advice will help you solve your task.
I am trying to produce a spreadsheet with a month per sheet for the financial year, each sheet having headers for week commencing with Monday dates. I want to be able to enter the first Monday of the financial year and all the dates automatically enter into the headers. Initial this seemed simple enough with a cell+7 formula. However, as I want to be able to use this same spreadsheet template year after year, this does not allow for the fact that some years a month may have four Mondays, but five Monday a subsequent year. I worked out a formula to only enter a date in the final column if it was before the 1st of the following month, however this only seems to work if there is a year in the date, meaning I would have to change the formulas each financial year (which I don't want to have to do, just change the date of the first Monday). Is there a way to do this?
Hi!
Sorry, it's not quite clear what you are trying to achieve. Give an example of the sequence of dates you want to get.
Till now, the autofill of sequential dates has worked, but suddenly it doesn't anymore. Is there a setting or something that blocks the autofill feature?
Yes I have the same issue since a couple of weeks, haven been searching everywhere. It's NOT the options as you read everywhere... but no autofill anymore for numbers and dates, I presume since one of the recent updates ?
I want to fill a row with the days of week. Cell 1 1/1/2023-1/7/2023 then rack cell on row after that the next calendar week... 1/8/2023-1/14/2023,1/15/2023-1/21/2023, etc
Hi!
Have you tried the ways described in this blog post? If they don’t work for you, then please describe your task in detail, I’ll try to suggest a solution.
Michelle,
I'm looking to do something similar but couldn't accomplish using the options described here. Were you successful? Thanks!
I would like to know the steps to create Date sequence horizontally excluding the weekends ( Saturday and Sunday )
I was curious if someone knew how to make a date sequence formula skipping five rows and continuing the sequence? I am trying to make a calendar with four cells for each day to input data.
Is there a way to type in a start date (example: 1/2/23) and an end date (example: 1/24/23) and have excel automatically fill in the dates between the start/end in rows below? This is for a time sheet with variable time periods, where I'd like the employees to be able to enter in the start/end dates of the time period, but not have to write in each date, or have to click and drag down the column using the "B2+1" formula. Basically is it possible for excel to expand dates in "1/2/23" format, from a start and end date, that is a variable length of time (not each time period is the same number of days long). Thanks so much!
Hi!
All the necessary information is in the article above.
D1- start date. D2 - end date. Try this formula:
=SEQUENCE(D2-D1+1,1,D1,1)
Hello,
Looking to create a table where the same date is listed for that week and then adds 7 days for the next set - I.E
12/14/2022
12/14/2022
12/14/2022
12/14/2022
12/14/2022
12/21/2022
12/21/2022
12/21/2022
12/21/2022
12/21/2022
12/28/2022
12/28/2022
12/28/2022
12/28/2022
12/28/2022
Hello!
Set start date with DATE function and create sequence
=(CEILING(SEQUENCE(45,1,1,1)/7,1)-1)*7+DATE(2022,12,14)
Hi,
Looking to create a table where the same date is listed 3 times for one day, then sequence for 1 year
01/01/2024
01/01/2024
01/01/2024
02/02/2024
02/02/2024
02/02/2024
Hi! That question has already been asked here.
Hi Guys,
Would anyone know how to autofill date on every let's say 50th row? So if I have 19/12/2022 in A1 and want to autofill 20/12/2022 in A50. Is there an easy way of doing this? I know you can drag the date down with a mouse and select a row on which you want to autofill the next day but I would have to do it 365 times.
Any feedback much appreciated.
Thank you.
Hello!
Create a start date using the DATE function and add a sequence of numbers. If I understand your task correctly, try the following formula:
=DATE(2022,12,19) + CEILING(SEQUENCE(365,1,1,1)/49,1)-1
So I have a set of dates for Mondays.
Is it possible to change / update the first cell sequentially like every 4 weeks?
For example:
Mon, 21 Nov 22
Mon, 28 Nov 22 (+7)
Mon, 5 Dec 22 (+14)
Mon, 12 Dec 22 (+21)
I'm trying to automatically change Mon, 21 Nov 22 every 28 days
Hi!
Use SEQUENCE function to create sequence of dates:
=DATE(2022,11,21) + SEQUENCE(10,,0,7)
Sorry, I guess I wasn't clear. To give context, I'm using =Today()-Weekday(Today())+2 to determine the Monday for the current week.
So for this week it is Mon, 21 Nov 22
I'm trying to auto update this cell because a cycle takes 4 weeks or 28 days to renew. If I leave it as is, the date will update weekly and that will mess with the assignments for the other set dates since the cycle hasn't been completed.
Assume A,B,C,D are people. Each week there are tasks assigned only for column 1 (they mentor a specific team member in column B).
A,B,C - D - Mon, 21 Nov 22
A,B,D - C - Mon, 28 Nov 22
A,C,D - B - Mon, 5 Dec 22
B,C,D - A - Mon, 12 Dec 22
I hope this makes sense, if its not possible it's fine. Was worth asking / trying. Thanks
Hi!
Unfortunately, I don't understand what you want to do.
Basically auto update a date every 28 days.
I need to create a sequence for attendance period from 26th of current month to 25th of subsequent month. I am mentioning from date in cell "A2", then providing equation in cell "B5" as "=A2" and setting custom format to "DD". Cell "C5" to "AF5" equation is set "+1". Let's say A2 is 26/10/2022, hence B5 is 26 and AF5 is 25. if I change date in A2 to 26/11/2022, AF5 will be 26 in this case. Since it crosses attendance period of 25th, AF5 should become blank. Please guide what excel formula will help this scenario.
Hello!
Get the day from a date using the DAY function. Try this formula in cell C5
=IFERROR(IF(DAY(B5+1)=25,"",B5+1),"")
Hello
I would like to know how I can create a formula with a sequence of 4 days in and 4 days out, including weekends. Thank you
Hi!
If I got you right, the formula below will help you with your task:
=WORKDAY(A1-1, TRUNC(MOD((SEQUENCE(100,1,1,1)-1)/1,4)+1) + (CEILING(SEQUENCE(100,1,1,1)/2,2)-2)*4)
Hello!
If you can help me, please. I have to generate for every month a sheet with 19-25 (25 week days and 19 in weekends) intervals per every day, from half to half a hour, start from 8:00 AM and end at 8:00 PM in week days and in weekend start from 9:00 AM and end at 6:00 PM.
EX: 10/9/22 is Friday and 10/10/2022 is Saturday
10/9/2022 12:00 PM
10/9/2022 12:30 PM
10/9/2022 1:00 PM
10/9/2022 1:30 PM
10/9/2022 2:00 PM
10/9/2022 2:30 PM
10/9/2022 3:00 PM
10/9/2022 3:30 PM
10/9/2022 4:00 PM
10/9/2022 4:30 PM
10/9/2022 5:00 PM
10/9/2022 5:30 PM
10/9/2022 6:00 PM
10/9/2022 6:30 PM
10/9/2022 7:00 PM
10/9/2022 7:30 PM
10/9/2022 8:00 PM
10/10/2022 9:00 AM
10/10/2022 9:30 AM
10/10/2022 10:00 AM
10/10/2022 10:30 AM
10/10/2022 11:00 AM
10/10/2022 11:30 AM
10/10/2022 12:00 PM
10/10/2022 12:30 PM
10/10/2022 1:00 PM
10/10/2022 1:30 PM
10/10/2022 2:00 PM
10/10/2022 2:30 PM
10/10/2022 3:00 PM
10/10/2022 3:30 PM
10/10/2022 4:00 PM
10/10/2022 4:30 PM
10/10/2022 5:00 PM
10/10/2022 5:30 PM
10/10/2022 6:00 PM
I hope it's posibile :(
Thank you verry much!
Hi! :)
I've tyried something, that works, but not completly well. I cant SEQUENCE the SEQUENCE :)) (if it's posible). If i modify the start date all is good, but i need to populate the sheet with all days :(, not one by one.
My formula " =IF(WEEKDAY(R1,2)<6,SEQUENCE(25,1,DATE(YEAR(R1), MONTH(R1), DAY(R1)),0)+SEQUENCE(25,1,TIME(8,0,0),1/48),SEQUENCE(19,1,DATE(YEAR(R1), MONTH(R1), DAY(R1)),0)+SEQUENCE(19,1,TIME(9,0,0),1/48)) "
in R1 is the date 10/1/2022
Thank you.
Hi!
Sorry, it's not quite clear what you are trying to achieve.
Hey!
Sorry for that :))..
Short story. On A colomn I need to generate for every weekday a set of 25 interval per day (until the end of the world :)) ).
Like example, for day 3 Aug 2022 (weekday,25 intervals 8AM-8PM):
10/3/2022 8:00 AM
10/3/2022 8:30 AM
10/3/2022 9:00 AM
10/3/2022 9:30 AM
10/3/2022 10:00 AM
10/3/2022 10:30 AM
10/3/2022 11:00 AM
10/3/2022 11:30 AM
10/3/2022 12:00 PM
10/3/2022 12:30 PM
10/3/2022 1:00 PM
10/3/2022 1:30 PM
10/3/2022 2:00 PM
10/3/2022 2:30 PM
10/3/2022 3:00 PM
10/3/2022 3:30 PM
10/3/2022 4:00 PM
10/3/2022 4:30 PM
10/3/2022 5:00 PM
10/3/2022 5:30 PM
10/3/2022 6:00 PM
10/3/2022 6:30 PM
10/3/2022 7:00 PM
10/3/2022 7:30 PM
10/3/2022 8:00 PM
10/4/2022 8:00 AM
10/4/2022 8:30 AM
10/4/2022 9:00 AM
10/4/2022 9:30 AM
10/4/2022 10:00 AM
10/4/2022 10:30 AM
...same pattern for 4,5,6,7,8 Aug...
....then at 9 and 10 Aug when is weekend i need to generate only 19 intervals (from 9AM to 6PM)
10/9/2022 9:00 AM
10/9/2022 9:30 AM
10/9/2022 10:00 AM
10/9/2022 10:30 AM
10/9/2022 11:00 AM
....
10/9/2022 4:30 PM
10/9/2022 5:00 PM
10/9/2022 5:30 PM
10/9/2022 6:00 PM
...then for 10 Aug...
..then 11 Aug...
untill the end of time :D
Thank you.
If you can, in a new excel put this on A1: =IF(WEEKDAY(R1,2)<6,SEQUENCE(25,1,DATE(YEAR(R1), MONTH(R1), DAY(R1)),0)+SEQUENCE(25,1,TIME(8,0,0),1/48),SEQUENCE(19,1,DATE(YEAR(R1), MONTH(R1), DAY(R1)),0)+SEQUENCE(19,1,TIME(9,0,0),1/48))
And the date in R1 (format m/dd/yyyy)
This will populate A1 to A25 or A19(depend if is weekday or weekend), but i need this to the down end of the colomn A, for each day :D. Practicaly i need to sequence the sequence :))....
Sorry for bother.
Hello!
I'm really sorry, we cannot help you with this issue.
Hi, i wanna ask if a database as > | 28-Apr-22 | 29-Apr22| 2 | = |[from date]|[to date]|[number of day]|, can we seperate the date into 2 database in excel?
Hi!
If I understood the problem correctly, this article might help you: How to split text string in Excel by comma, space, character or mask.