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.
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):
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 + ;.
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.
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.
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:
- Enter your initial date in the first cell.
- 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 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:
- 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.
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:
- Add the first date in some cell.
- Select that cell, right-click on the fill handle, drag it down or across several cells, and then release.
- In the context menu, click Series.
- In the Series dialog box, choose the appropriate Date unit and enter the Step value.
- Click OK.
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.
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.
Insert a date in Excel via a drop-down calendar (Date Picker)
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 :)
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
Hi,
I would like to know how to input range of dates in an excel formula to become work week.
Example:
04/01/15-10/01/15 to be formulated into week 2.
Date Wk
04/01/15 2
11/01/15 3
Hi
I am probably repeating a question. I write a text in cell A1 and i want that cell B2 automatically insert the date of that specific date in it. For example on 30 Mar 15 wrote XYZ in A1 then B1 should automatically carry/show 30 Mar 15, and this date automatically taken by B1 should remain unchanged (irrespective of how many time i close or re-open the file). I also do not want to use Ctr+;.
If it is possible through formula (i.e formula in B1) then plz tell me. If it is possible through VBA then plz tell me VBA code as i don't have any familiarity with VBA code.thanks
Let's say that I have two columns. Column A is filled with dates (the order of the dates is a bit strange for certain purposes - for ex. 15.10.2015, 31.10.2015, 15.11.2015, 30.11.2015 and etc.). In column B i would like to get a certain result - range of dates ordered as they are in column A. It's a bit difficult to explain, so I'll illustrate it with an example:
sample series of data:
A1 15.10.2015
A2 31.10.2015
A3 15.11.2015
A4 30.11.2015
A5 15.12.2015
A6 31.12.2015
... ... ... etc.
two blank cell containing start and end point for the new series of dates, using the old one:
from date: 15.11.2015 until date: 15.12.2015
result in column B:
B1 15.11.2015
B2 30.11.2015
B3 15.12.2015
B4 31.12.2015
Is there a way to achieve this result? We're basicaly talking about generating a series of cells in a row, using other series?
I would like a formula that when I put a value in one cell (B) that say Cell (D) will populate with the date and when I save the workbook and close it that the next time I open it the dates don't change to the current day.
I have used the Fill Series function to insert a range of dates, WORKDAY in steps of 0.5 for am and pm. I started the series with a cell "=A2-3" where A2 contained the command TODAY(), the intention was to have a series of dates that automatically updated. Only the first cell updates, the series of dates, running horizontally to the right remain static. Is there a way to achieve what I want?
Really good and helpful
I update an excel sheet daily I want when I go through a any cell of a particular column , the current date should automatically be typed there and it should not change the next day... means that when I go any a cell of that particular column the next day, next days date should be appear.
Hi Svetlana
Thank you for your time.
I would like to know if how do I calculate an expiry date if it is going to take place in a certain day (eg) after 14 days after the day of quotation.
I enter 9/13/2015 into a cell and when I tab down to the next cell the date changes to 13-Sep. How can I get excel to stop changing this date?
Hi William,
Most likely Excel changes the date to the default date format. So, you can either change the default date format or apply the desired date format to that cell.
Hi
I run windows 7 with Excel 2010
I have a spreadsheet with the using dates in a column. The format is set to dd-mmm. However, when I enter 12/9, I get 09-Dec, but I want 12-Sep. In other words, I want to enter day and then month not month and then day. How do I do this??
Hello Les,
Please see
https://www.ablebits.com/office-addins-blog/change-date-format-excel/#convert-date-anoter-locale
Hi,
I have a spreadsheet that tracks employee hire dates and on every employee's "anniversary" we like to give them a gift card. Is there a way to take the anniversary date and, once it passes, update the cell to reflect the same day and month but the next year? Like an IF then REPLACE type of function?
Thank you!
Hi,
I have got a spreadsheet with multiple dates against set of activities in it. Just wanted to know if there is some kind of function in excel wherein I could insert todays date against eache date and check the actual days passed from the date of the activity.
I know we can use function like Now/Today. But I want these dates to get autorefreshed tomorrow when i am reopening the sheet.
dear sir i am trying to make excel sheet as we have 4 or 5 box formed on one sheet than for the day i entered no in the box which reflect on the excel cell linked. on next day again the date change the data fill to next matched data cell of next sheet.
Hi,
Ive got a a spreadsheet with all the days of the year in column A, which runs for several years.
In column "B" I want to input a specific value next to a specific day of the month only, i.e: the 3rd day of each month for the whole of the spreadsheet much reflect the same value.
This is for instance when showing monthly payments made on the same date each month over a 10 year period.
Thank you
Hello,
I am scanning in two different serial numbers into columns A & B, how do I get the corresponding column C to post the "now" automatically?
Hello,
I am trying to have a column filled with month and year based on a date range entered in 2 other cells. For example 2/1/2015 (in Cell A1) and 10/31/2015 (in Cell B1), I soul de like C1 to C9 to display Feb 2015 in C1, March 2015 in C2,... Oct 2015 in C9.
Any help will be apprecciated!
hi thanks for your help. I am trying to auto fill in the target date 59 days from start date i am using =cell +59, but is there a way it can be auto filled without typing or draging the formula from cell to cell
Hello! We are trying to create a spreadsheet that shows the date of the Sunday before the date we are entering. For example:
We enter 8/26/2015 and in the column next to it populates 8/23/2015
Any thoughts on the formula or filter we can use for the 'Sunday' column?
Thank you!
Thanks dear. i create a excel sheet which i write daily data but i want any one enter data but don't change my data .is possible .so please tell me about this thanks.
Good day!
First off, i want to congratulate you for this informative blog. It has helped me a lot in my office work.
I have tried one of your suggested formulas and it has worked for one of my reports. I am not so well versed in excel, thus I still have some problems creating my own custom formula. Here is my concern:
I want to create a formula that would automatically update the month, not per day, using this format 1-Jan-15. =TODAY() will generate daily updates, what I would want is monthly, specifically end of the month. Is this possible?
Thank you in advance for any input you can share.