How to insert dates in Excel - add today's date, auto fill a column with dates

This tutorial demonstrates various ways of entering dates in Excel. See how to insert today's date and current time as static time stamp or dynamic values, how to auto populate a column or row with weekdays, and how to auto fill random dates in Excel.

There are several ways to add dates in Excel depending on what exactly you want to do. For example, do you want to enter a today's date in some report or invoice? Or, perhaps you want to insert a date in Excel that will update automatically and always display the current date and time? Or, maybe you want to auto fill weekdays or input random dates in your worksheet?

In a moment, you will learn all these and a few more date entering techniques. If you are curious to know how Excel stores dates and times, please check out part 1 of this tutorial - Excel date format.

How to enter a date in Excel

You can type a date in an Excel cell in a variety of ways, for example 1/1/2015, or 1-Jan-2015, or 1-Jan, or January 1, 2015. When you type something like that in a cell, Microsoft Excel knows you are entering a date and automatically applies the date format to that cell. Quite often, Excel formats the newly inserted date according to your Windows default date settings, but sometimes it may leave it exactly as you typed.

The most obvious visual indication that Excel has recognized the date you've entered is its right-alignment in a cell as opposed to left-aligned text values.
Various ways to enter a date in Excel

If Excel has failed to recognize your input as a date and you see it left-justified in a cell, try inserting a date in some other format close to your default short or long date formats. These formats are marked with an asterisk (*) in the Format Cell dialog window and you can quickly access them on the Excel ribbon (Home tab > Number group):
The default short or long date formats in Excel

You will be able to easily change the date format later via the Format Cells dialog that opens on the Ctrl + 1 shortcut. For more details, please see How to change the date format in Excel.

Note. If a date you've entered displays as a number of pound signs (#####) in a cell, most likely the cell is not wide enough to fit the entire date. To fix this, double-click the right border of the column to auto fit the date, or drag the right border to set the desired column width. If this does not help, please check other Excel date format troubleshooting tips.

Tip. The fact that Excel automatically recognizes the entered value as a date may not always be what you actually want. We have some tips on how to avoid automatic data formatting.

Inserting today's date and current time in Excel

In Microsoft Excel, you can input the current date and time either as a static or dynamic value.

Shortcuts to enter today date in Excel (as a timestamp)

To begin with, let's define what timestamp is. Timestamping is entering a "static date" that won't change with the course of time or when the spreadsheet is recalculated.

So, if your goal is to enter the current date and/or time as a static value that won't automatically update the next day, you can use one of the following shortcuts:

  • Ctrl + ; shortcut inserts the today date in a cell.
  • Ctrl + Shift + ; shortcut inserts the current time.
  • To enter the current date and time, press Ctrl + ; then press the Space key, and then Ctrl + Shift + ;.

The shortcuts to insert today's date in Excel

Insert an automatically updatable today's date and current time

If you want to input today's date in Excel that will always remain up to date, use one of the following Excel date functions:

=TODAY() - inserts the today date in a cell.

=NOW() - inserts the today date and current time in a cell.
Inserting an automatically updatable today's date and current time

Unlike Excel date shortcuts, the TODAY and NOW functions will always return today's date and current time.

When using the Excel date functions, please keep in mind that:

  • The returned date and time are not refreshed continuously, they are updated only when the spreadsheet is re-opened or re-calculated, or when a macro containing the function is run.
  • The functions take the current date and time from your computer's system clock.

How to insert today date & current time as unchangeable time stamp

This section addresses a handful of comments that have been posted on this page with one and the same question: "What formula do I use to enter a timestamp in my Excel sheet without it changing every time the worksheet is reopened or recalculated?"

For starters, I'd like to note that I'm very hesitant to post this solution because it involves circular references, and they should be treated with great care. Anyway, here goes the formula…

Let's say you have a list of items in column A, and as soon as a certain item is shipped, you enter "Yes" in the Delivery column, which is column B. Once "Yes" is in there, you want to have the current date and time automatically inserted in the same row in column C as a static unchangeable time stamp.

To do this, we are going to use the following nested IF formula with circular references in the second IF function:

=IF(B2="yes", IF(C2="" ,NOW(), C2), "")

Where B is the Delivery column, and C2 is the cell where you input the formula and where the time stamp will eventually appear.
A circular formula to insert a time stamp in Excel

In the above formula, the first IF function checks cell B2 for the word "Yes" (or any other text you supply to the formula), and if the specified text is there, it runs the second IF function, otherwise returns an empty string. And the second IF is a circular formula that makes the NOW function return the current day and time if C2 doesn't have a value in it already, thus saving all existing time stamps.

If instead of checking for any specific word, you want the timestamp to appear when you put anything in the specified cell (that could be any number, text or date), then have the first IF function to check for a non-empty cell, like this:

=IF(B2<>"", IF(C2="" ,NOW(), C2), "")

Note. For this Excel circular formula to work, you should allow iterative calculations in your worksheet. Also, please keep in mind that there are many reasons not to use circular references in Excel, and if you decide to apply this solution in your worksheets, it's on your own risk.

How to auto populate dates in Excel

If you need to insert dates in a range of cells, you can let Excel "auto date" a column or row by using the AutoFill feature as demonstrated below or make a date sequence with formulas as explained in the above-linked tutorial.

Auto fill a date series that increases by one day

To automatically fill a column or row with an incrementing date series that increases by one day, you use Excel's AutoFill feature in the usual way:

  1. Enter your initial date in the first cell.
  2. Click on the cell with the first date to select it, and then drag the fill handle across or down the cells where you want Excel to add dates. (The fill handle is a small green square that appears at the bottom-right corner when you select a cell or a range of cells in Excel, as shown in the screenshot below.)

Auto filling a date series that increases by one day

Auto fill weekdays, months or years

There are two ways to automatically populate the selected range of cells with weekdays, months or years.

  • You can use the Excel AutoFill options as described above. When the range is populated with sequential dates, click the AutoFill Options icon and select the option you want:
    This is how you auto fill weekdays in Excel.
  • Another way is to enter your first date, right-click the fill handle and drag the fill handle through the cells you want to auto fill with dates, and then release it. When you do, Excel displays a context menu and you select the appropriate option from it.
    Another way to auto populate weekdays, months or years in Excel

Auto insert every 2nd, 3rd or Nth day

If you've tried a second solution described above, you probably noticed the Series option near the bottom, which provides a few more auto date features. One of them is inserting every 2nd, 3rd, 4th, etc. day, month or year in a worksheet. Let's try this now:

  1. Add the first date in some cell.
  2. Select that cell, right-click on the fill handle, drag it down or across several cells, and then release.
  3. In the context menu, click Series.
  4. In the Series dialog box, choose the appropriate Date unit and enter the Step value.
  5. Click OK.

Inserting every 2nd, 3rd or Nth day automatically

How to inset random dates in Excel

Regrettably, Microsoft Excel does not provide an option to enter random dates automatically. Luckily, AbleBits Random Generator for Excel does :)

You simply select a range of cells where you want to autofill dates in a random order, and switch to the Random Generator's pane where you specify:

  • Start and End date;
  • What days to add - weekdays, weekends or both;
  • To add only unique dates, check the Unique values

Then you click the Generate button, and have the selected range populated with random dates.
Inserting random dates in Excel

Apart from dates, the Random Generator add-in can auto fill your worksheets with numbers, Boolean vales and custom lists. If you think this is something that would be useful in your work, you can get it as part of our Ultimate Suite for Excel that includes 70+ time-saving tools and over 300 useful features.

If you are setting up a spreadsheet for other users, and want to make sure they enter dates right, it may be a good idea to insert a drop-down calendar in a worksheet. Your users will be able to fill in dates in a mouse click and you will be 100% confident that all dates are entered in an appropriate format.

If you are using a 32-bit version of Excel, you can use Microsoft's Date Picker control. For the detailed instructions, please see How to insert calendar in Excel (Date Picker control).

If you are using a 64-bit version of Excel 2016, Excel 2013, Microsoft's Date Picker control won't do. In this case, consider using one of the third-party calendars, for example our own one :)

Ablebits drop-down calendar for Excel

For more options, please see third-party drop-down calendars for Excel.

This is how you insert date in Excel. I am hopeful these date entering techniques, shortcuts, functions and Excel auto date features have proved useful to you. Anyway, thank you for reading!

442 comments

  1. Hello, could you please help me to do this.
    [Item] [Received] [Date] [Time] [Send check on (Calendar)
    Nike-CT Yes ? ? ?

    by clicking yes date should automaticly appears on c2 and time on d2. and calendar appears on e2 to choose a day to send a check.

    Thank you

  2. Hi Team,

    Just wondering if there is a way when entering a date for e.g. in Cell A1 31/01/2016 in Cell A2 Sunday will added.

    • Don't Worry found it.

      =TEXT(A1,"dddd")

  3. i copy your formula =IF(B2="yes", IF(C2="" ,NOW(), C2), "")and paste it in c3 but it did not work? so wrong did i do?

    • Hi Sam,

      You should paste this formula in C2, and then copy the formula cell down so that the cell references get adjusted for row 3. If you want it for row 3 only, then change the references accordingly:

      =IF(B3="yes", IF(C3="" ,NOW(), C3), "")

  4. Dear Svetlana
    How to insert a date picker content control in excel sheet like word.
    can you help me with this.
    kind regards
    Eyad

  5. Hello,

    I just want to clarify logical(if) options, if a1=khan, b1=30, what is the formula of c1(b1>30, true means the actual cell of al(=a1), false means plain or dot anything. How to get the answer.
    Please Help!

  6. How can i make one cell with all dates is there with auto fill?

    • Hello, Michelle,

      For us to be able to assist you better, please describe your task in more detail.

  7. Hello,

    What I'm trying to do is get the current date to appear on each new page automatically....

    So when one fills the current excel sheet and it starts on the next one, I would like the date to pop up in the same spot on the new sheet automatically.

    I also have a current header that I would like to fill with a colour but not sure if I can do that in 2013 and if so...how does one do that??? ( I currently use a .psd image to fill it with the logo on the .psd file but would like to just add the logo in and fill the header with colour)

    Please help :(

    • Hello, Lindsay,

      Sorry, we don't know a formula that could do this. Most likely a VBA macro is needed in this case.

  8. I am trying to format excel spreadsheet to do this:
    date entered in A1 then B1 auto populates the date 7 days later.
    It should look like this, A1= 1/11/16, B1 should auto populate 7 days including the date entered so it should show 1/17/16 to reflect the 7 days including the start date. What formula can I use for this.

    • Hello, Bryan,

      Please enter your initial date to A1 and the result to B1. Select these two cells and use the fill handle to auto-populate the column. Excel will automatically apply the correct increment.

  9. hi
    I would like to know is there any formula in where in a cell I type todays date in it and adjacent cell auto fill 5 working day ahead of that date for example If I put 04/01/2016 in A1. in B1 autofill 08/01/2016 which is the 5th working day.
    any formula or any advice please

    • Hello, Faisal,

      Please enter your initial date to A1. Enter this formula to B1 and copy it across the column:
      =WORKDAY(A1,1)

  10. Hi,
    I do the book keeping for the clinic I work at and I need Excel to populate 1st, 2nd, 3rd, etc. in a row (consecutively). Is there a way I can do that? I have Microsoft Excel 2010 and Windows 7. Any help is appreciated.

  11. Hi, is there a way to use the NOW function to update ONLY if there has been a change to the worksheet not on opening it? Right now the date pops to todays date on open. These are individual sheets within a workbook that each one needs its own "last changed date".
    Thanks!

    • Hi Tracey,

      The NOW function updates its value every time the workbook is reopened or recalculated, and there is no way to make it work differently. Your task can be accomplished by using VBA - you input a certain value to a certain cell and specify when (on which event) it shall be updated.

  12. For All people wanting to change a field and have a date/Time stamp that will not change here is an example of a Macro that can achieve this.

    'This sub will activate if there is a change anywhere on the sheet.
    'it must be put in the VBA Projects under the sheet you want to watch.
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim WatchRange As Range
    Dim IntersectRange As Range

    'This sets the range of cells you want to actually look at to see if the value in these cells have changed.
    'this allows you to watch certain fields.
    Set WatchRange = Range("E2:F10000")
    Set IntersectRange = Intersect(Target, WatchRange)

    On Error GoTo err_chk
    If Not (IntersectRange Is Nothing) Then

    'DO SOME CODE HERE THAT YOU WANT TO RUN WHEN A CHANGE HAPPENS.
    'THIS COULD BE ACTUAL CODE HERE OR A REFERENCE TO ANOTHER SUBROUTINE.
    'EXAMPLE: 1 ACCESSING ANOTHER SUBROUTINE
    'Copy_With_AutoFilter2
    'EXAMPLE: 2 INSERTING CODE.

    ' Dim DATETEXT As String
    ' 'Now() is the function to return the date and time. if you want just the date use Today()
    'DATETEXT = Now()
    ''this gets the active workbook and selects the sheet by the Name of the sheet(Main) and put a range cell in where you want the Datetext placed.
    'ActiveWorkbook.Sheets("Main").Range("C2").Select
    ' ActiveCell.FormulaR1C1 = DATETEXT

    End If

    On Error GoTo 0

    Exit Sub

    ' Error Handling
    err_chk:
    If Err.Number = 13 Then
    Err.Clear
    Exit Sub
    Else
    MsgBox Err.Number & vbCrLf & Err.Description
    End If

    End Sub

  13. Hi all ,
    I would like to ask for your help.
    I have an Excel worksheet to manage products license .
    I have a column that shows number of days that
    License product will end.
    e.g : 55 Days

    I have another column that shows fixed date
    e.g 06/12/2015

    I would like to achieve two formulas.
    - For fixed date column :
    Automatic update of the date every 24 hours

    - On license expiration days:
    Decreasing of the number automatically every24 hours by 1

    Thanks ,
    Rafael

  14. Hi,
    I need your help!
    How can I enter many values linked to one date. For example, I have a date 1/12/2015 in row A1. Data on B1,B2,B3, B1=1000,B2=2000,B3=3000. I want date on A1 represent all values B1:B3. I want to sum up all values.

  15. hi,
    i want calculate two working and if the second column do not fill in. There system will use the today date to deduct with the date i fill it. How should i set the formula ?

  16. Hi,
    I want to prepare a sheet for issuing call letter daily 800 personnel. There are 50000 personnel for such sheet. How i can auto fill date

  17. Hi,

    Your answers are very useful to us. Really Thanks for that.

    I have one sceniro i.e., I have 3-4 columns in the excel. if i change or if i update one column, is there any option that get automatically get the Todays date in a Report date Column.

    If you have VB Script if you have any..!

    Thanks inadvance.

  18. Hi

    I want to create a worksheet to do the date calculation based on the priority.

    Example.

    A column labeled as Priority -- Valid Values are High, Low and Medium.

    B Column labeled as Item requested date

    C column labeled as Target Delivery date and Date has be to updated automatically based on the A and B values.

    if the A2 value is High and B2 value is today's date.. C2 value has to be updated as 7 days after B2 value.

    Can we able to accomplish this in excel sheet.

  19. How to stop today() from updating date on saved columns or rows?

  20. Hi Svetlana!
    I daily put some numbers in 3 to 4 consecutive rows in a column. All I want from excel is to have the record which day I put a particular number in that column, and then add the values I entered in a day.
    Is there any formula in excel for that?
    Kindly help even if it is possible with only VBA.

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 :)