How to create a sequence of dates in Excel and auto fill date series

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:

  1. Type the initial date in the first cell.
  2. 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.
Auto fill a date series in Excel.

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:
    Auto fill a series of months in Excel.
  • 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:
    Auto fill a series of years in Excel.

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:

  1. Enter the initial date in the first cell.
  2. Select that cell, right-click the fill handle, drag it through as many cells as needed, and then release.
  3. In the pop-up menu, choose Series (the last item).
  4. In the Series dialog box, select the Date unit of interest and set the Step value.
  5. Click OK.

Fill a series of dates with a specific step.

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:

SEQUENCE(rows, [columns], [start], [step])
  • 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.
Creating a sequence of dates in Excel with a formula

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:

WORKDAY(start_date -1, SEQUENCE(no_of_days))

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.
Making a series of workdays in Excel with a formula

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:

DATE(year, SEQUENCE(12), day)

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:
Generating a sequence of months 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:

EDATE(start_date, SEQUENCE(12, 1, 0))

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))
Making a month series based on a specific start date

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:

DATE(SEQUENCE(n, 1, YEAR(start_date)), MONTH(start_date), DAY(start_date))

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:
A formula to output a year sequence in Excel

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:
Generating a sequence of times in Excel

If you do not want to bother calculating the step manually, you can define it by using the TIME function:

SEQUENCE(rows, columns, start, TIME(hour, minute, second))

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))
Formula to create a time sequence in Excel with any increment step size

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)
Formula to create a monthly calendar in Excel

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.
Set up a conditional formatting rule to hide irrelevant dates.

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

  1. Two dates in excel cell like 12-01-2005 & 15-02-2008
    we want in another cells as result 31-03-2005,30-06-2005,30-09-2005,31-12-2005,31-03-2006,30-06-2006,30-09-2006,31-12-2006,31-03-2007,30-06-2007,30-09-2007,31-12-2007,29-02-2008,
    How we can do with macro.

  2. I have a table with a calendar that I want to populate with a 'check mark' on specific days in a sequence. Essentially I want to take a start date for a task and a frequency for said task, and have it put a check mark on the dates at regular intervals. Is there a simple formula that would generate a sequence for me?

  3. I'm trying to repeat a sequence after every 21 rows, like first 21 rows have "7" then next 21 rows will have "8" again next 21 rows will have "9" and this will continue. how this can be achieved.

  4. I'm trying to repeat a date sequence after every 7 rows, like first 7 rows have date 6-8-23 then next 7 rows will have 7-8-23 and this will continue. how this can be achieved.

  5. Hi
    I have a financial year calendar of July 2023 to June 2024 (07/01/23 - 06/30/24) and I need to sequentially create a 52 week calendar in excel, which will be Monday to Sunday, as follows:
    07/01/23 - 07/02/23
    07/03/23 - 07/09/23
    07/10/23 - 07/16/23
    07/17/23 - 07/23/23
    07/24/23 - 07/30/23
    so on and and so forth. Can you please help formulate the same?

    Thanks in advance!

    • Hi! Your request goes beyond the advice we provide on this blog. This is a complex solution that cannot be found with a single formula. If you have a specific question about the operation of a function or formula, I will try to answer it.

  6. I need to make sequence like this as given below, Please help me on this

    01 - 01/07/2023 00:00
    01 - 01/07/2023 00:10
    .
    .
    .
    01 - 01/07/2023 23:50
    01 - 02/07/2023 00:00
    02 - 01/07/2023 00:00
    02 - 01/07/2023 00:10
    .
    .
    .
    112 - 02/07/2023 00:00

  7. hi would like to insertb6 empty cells after each week.

  8. Hi,
    I have data which has been recorded every 15 minutes from between 4/1/2020-27/4/2020.
    I need to code it using R so require the layout of this spreadsheet to require 2 separate columns of date and time.
    I have added the time column but I need the date to essentially remain the same for each 24 hour period and increase by 1.
    e.g.
    4/1/2020 | 00:00:00
    4/1/2020 | 00:15:00
    4/1/2020 | 00:30:00
    ...
    ...
    ...
    4/1/2020 | 23:45:00
    5/1/2020 | 00:00:00
    5/1/2020 | 00:15:00

    and so on

    Could you help with this?
    Thanks

      • That works perfectly - thank you!

  9. I am hoping to create a excel spreadsheet that has the days of the month populate across column 5 and change monthly based on the number of days in that month I also would like to highlight every row that is a sunday hoping I can get assistance with this

    • Hi! If I got you right, the formula below will help you with your task:

      =EOMONTH(TODAY(),-1) + SEQUENCE(DAY(EOMONTH(TODAY(),0)),1,1,1)

      You can learn more about EOMONTH function in Excel in this article on our blog

  10. Hello, I am currently working on my study plan, and willing to share it to my friends. I would like to be able to auto change the date of each topic based on the individual's chosen number of study sessions per day.

    For example:

    In cell A1, there is an option to choose the numbers: 1 or 2 or 3 - study sessions per day.

    If I choose 1 session per day this is what the column looks like:

    column B
    July 5, 2023
    July 6, 2023
    July 7, 2023
    and so on

    For 2 sessions per day

    same column B
    July 5, 2023
    July 5, 2023
    July 6, 2023
    July 6, 2023

    Again, I would like to be able to auto sequence change the whole column based on the chosen session in cell A1.

    Thank you, I really appreciate your help! Good day!

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

      =B1+CEILING(SEQUENCE(30,1,1,1)/A1,1)

      B1 - start date

  11. I'm looking for a way, starting from 1/1/23, to have excel pull dates through the rest of the year in the following pattern: 2,3,6,7,8,11,12 (these numbers come from a 1-14 or two week interval). So for example it would return:
    2- 1/2/23
    3- 1/3/23
    6- 1/6/23
    7- 1/7/23
    8- 1/8/23
    11- 1/11/23
    12- 1/12/23
    2- 1/16/23
    3- 1/17/23
    6- 1/20/23
    7- 1/21/23
    8- 1/22/23
    11- 1/25/23
    12- 1/26/23
    2- 1/30/23
    3- 1/31/23

    • Hi! Unfortunately, I don't see any logical sequence in your numbers that can be written as a formula. If you see logic in these numbers, tell me.

  12. I've tryed to use the sequence creatio formula =WORKDAY(B2-1, SEQUENCE(B1)) and it works fine but I can't the column generenated within a vlookup array it simple doesn't read it as dates

  13. Hi. I am scouring the internet trying to find a way to store ranges of dates in excel, that automatically adjust based on the current month. So I have a list of events, and each event runs from X day to Y day. Some go into the following month. For example, Event A runs from the 12th of the month to the 08th of the following month. Is there a formula that will automatically update this for me based on today's date, in excel?

  14. if i put a date in a cell, and if the date a sunday i have to display and "S" with the date in same cell

  15. I am wanting to have the next date at the top and the last date at the bottom. Can anyone help please

    • Hi! If you want to get a descending sequence of dates from a future date to a past date, use a negative number in the [step] argument of the SEQUENCE function. For example,
      =SEQUENCE(10, 1, "8/1/2020", -1)
      Hope this is what you need.

  16. Greetings,
    My issue is probably going to be easy and I just am over looking how. I am trying to create a month long series of
    workbook pages with page 1 being the "1st" next "2nd" etc.
    Id like the entire date (mm/dd/yy) for each page to be in C1 of every page auto advancing. What am I missing to do so?
    Thank you in advance.

  17. Hi,
    I might have missed it, but I am trying to create a list of dates that starts on the 1/1/2023 and ends today, and that updates the "today" avery time the spreadsheet is open (ie incrementally adds the days as the year goes by). Is that possible?

    • Hi! Determine the number of the day in the current year and create a sequence of dates as described in the article above
      If I got you right, the formula below will help you with your task:

      =SEQUENCE(TODAY()-EOMONTH(TODAY(),-MONTH(TODAY())),1,EOMONTH(TODAY(),-MONTH(TODAY()))+1,1)

      • Thank you it worked great! I am not sure I understand the logic behind this sequence but I'll keep trying :)

  18. I am trying to create a column sequence of dates by day among a few years. However, whenever I use the fill function to lets say pass from November 30th to the 1st of December, it automatically starts December with the 3rd and not the first. For instance:

    11/22/2007
    11/23/2007
    11/24/2007
    11/25/2007
    11/26/2007
    11/27/2007
    11/28/2007
    11/29/2007
    11/30/2007
    12/3/2007

    Note how the last one started form the 3rd

    • Hi! Unfortunately, it was not successful to reproduce your problem. Try using formulas to create a sequence of dates. There is all the information you need above in this article.

  19. Hi there,
    I would like to create a series of dates on columns across the top of a spreadsheet as they are reading infro from different tabs.

    e.g,
    3 Apr 23 3 Apr 23 3 Apr 23 10 Apr 23 10 Apr 23 10 Apr 23 17 Apr 23 17 Apr 23 17 Apr 23 and so on

    Therefore repeating the date 3 times across the top then going up by one week and repeating the same pattern I hop that makes sense

    Thanks in advance for your help.

  20. Hello sir,
    I need your help regarding daily attendance sheet monthly report .for example if "Friday" is weekend day and there are 4 or 5 "Friday" in a month. with daily attendance entry when ever Friday come automatically count as a payable day in salary with daily present and absent for salary calculation.
    in my excel sheet I have a problem there are 4 "Friday" in a month and when I enter even 1 " PRESENT" automatically 4 "Fridays" count as a payable day and result comes 5 day salary.
    I'm using this formula (AN14= daily presents)

    =IF(AN14=0,0,COUNTIF($F$8:$AJ$8,"Fri")+AN14)

    • Hi! Unfortunately, this information is not enough to recommend a formula to you. Please provide me with an example of the source data and the expected result.

      • Hi sir,
        For salary calculation i have to use formulas to separate days .. if any employee who works 27 days (30 days a month) means i have to give full salary and if that employee worked 28 days means i have to give full salary +1 day salary ... as like for 30 -3 days .. so which one is suited

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)