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 have a dropdown in column F and when this is updated i want todays date to be added into column D. i also need that once column F is still filled in and is then changed that the date in column D will also update into todays date. example
dropdown- Column F
call answered
no answer
Column D
11/10/2023
tomorrow i change the disposition from call answered to no answer and need the date to go from 11/10/2023 to now 12/10/23
Hi! I'm really sorry, looks like this is not possible with the standard Excel options. Try to use VBA code.
I have a dropdown in A2. If I choose an option, say Break1, I want the time of Break 1 to be recorded in B2. If I choose Lunch on A3, I want the time of Lunch to be recorded in B3. I used the NOW function in B column and every time I choose an option in A column, the time changes. I simply want to record the time every time I choose something in A column. For example, Break 1 in A2 will have its own time in B2, Lunch in A3 will have its own time in B3, Break 2 option in A4 will have its own in B4, and so on).
Hi! If I understand your task correctly, the following tutorial should help: How to insert today date & current time as unchangeable time stamp. The second option is to use VBA to write the current time to the cell.
HI,
I tried the formula
=IF(B3"", IF(A3="",TODAY(), A3),"")
but it only returns this date 01/00/1900
i already allowed iterative calculations and auto calculations... but same output
if just use =today() in the same cell it returns the current date which what i want to display... any help will be appreciated thanks
Hi! I can't check your formula without your data, but the date 01/00/1900 means your formula returns 0.
I am working on a weekly report which is to be due on Mondays, I want a particular cell to show the date of each Monday my report will be due without me manually changing or editing it. How do I go about this?
Hi! The answer to your question can be found in this article: Fill a series of dates with a specific step.
Hey!
i see this community has alot of information so i was wondering if anyone can assists over here
Im creating a mortgage spreadsheet for reminders when mortgages are due. how can i set that the due date automatically changes each month or quarter once the date has passed and that the cell turn red 1 week prior to that date.
thanks
Hi! To highlight a cell with a color based on the current date, use these instructions: Conditionally format dates based on the current date.
Conditional formatting formula 7 days before a specific date:
=AND($C1-TODAY()>=0,$C1-TODAY()<=7) - highlight all cells where the End Date (column C) is within the next 7 days.
Each month, you can automatically add a month to the start date with this formula:
=DATE(YEAR(D1),MONTH(D1)+DATEDIF(D1,TODAY(),"m")+1,DAY(D1))
Read more: How to add and subtract dates, days, weeks, months and years in Excel.
thanks
How can I write a date which would start with 0, for example 01/06/1995, without using any special characters or without making it a text?
Hi! If I understand your task correctly, the following tutorial should help: How to change date format in Excel and create custom formatting
Use date format: dd/mm/yyyy
So I have used all the methods from that tutorial but I am not able to get the exact date I want. It's either showing some random date or random number or ######### like that after using the methods.
Hi! I don't know what date you are writing in the cell. What it means: "date which would start with 0, for example 01/06/1995"? If you actually have a date in a cell, you will have no problem changing its format. Please read the above article carefully.
Hello,
How can I:
1. Make a cell automatically fill a date based on the timeframe from a date that has been input into another cell e.g three months after original cell date.
2. How can I make a cell change colour if the date inputted in another cell is within a certain time frame of the current date?
Hello! The answer to your questions can be found in these articles: How to add and subtract dates, days, weeks, months and years in Excel and Excel conditional formatting for dates & time: formulas and rules.
How do I create and excel sheet to generate the next date every time I open for example today is 8/16/2023 tomorrow when I open open the excel I would like for it to populate that date automatically to 8/17/2023 so I wouldn't have to change it myself
Hi! Pay attention to the following paragraph of the article above: Insert an automatically updatable today's date and current time.
What formula can I use to auto populate todays date in the format of Tuesday, August 01, 2023
Hi! Check what format is used in this cell. Change the date format using these instructions: How to change Excel date format and create custom formatting.
Hi,
I want to control particular cell editable or not editable using condition ( If cell A1=1 then B1 is editable and if A1=0 B1 is not editable).
Please help me.
Hi! We have said many times that an Excel formula can only have an effect on the cell in which it is written. Your task is solved using VBA.
Hello, thank you for the formula. I have used this with a drop down list, so when a certian drop down is selected, it will insert the date/time stamp. However, once the drop down is changed again, the date/time stamp goes away. What could I be doing wrong?
Unfortunately, I can't guess what formula you are using to insert date/time stamp.
Hello, I use Microsoft Office Professional Plus 2013 the shortcut (ctrl+;) does not work for current date; what is the reason?
Thanks
Jihadullah "Basharyar"
Hello! Note that the shortcut (ctrl+;) works when the input language is English. This may be the cause of the problem.
Hello Everyone,
I have a spreadsheet that has a data. What I need is when I enter data(Number) in cell X13 that changes every time or updates, I want it to link with data(Number) in column AV11:AV50 according to the time it was entered and the timestamp in column AU11:AU50 should also change according to the time when the data was entered OR Updated in cell X13 and stack each data(Number) and timestamp according to the time entered.
What can I do? Thank you!
DATA TIME DATA
X13 Column(AU11.... AU50) Column(AV11.... AV50)
Eg 450 (When update Eg: 230) 26/6/2023 450
Also update 27/6/2023 230
... ...
... ...
... ...
Hi! A formula in a cell cannot reference a value in the same cell, as a circular reference would occur. Your problem can be solved with a VBA macro.
I have a spreadsheet that has a notes column. I have a column alongside it that says "last updated". I want the date and time stamp so used the formulas above. It didn't work but the following did:
=IF(G8"",NOW(), C8)
However if I type a note in G7 for example, C7 also updates with the time stamp. I would like each row to act independently as each row is for a different property.
For reference in the above example, C7 has the following formula in it: =IF(G7"",NOW(), C7)
I hope this makes sense?
Thank you.
Hello! If you insert the time using the NOW function, the value will not be static and will change when the worksheet is modified. To insert an unchangeable time value, use these guidelines: How to insert current time in Excel: timestamp shortcut, formula, VBA and How to insert today date & current time as unchangeable time stamp.
Hi, first my thanks for this work.
I'm trying to create excel vba forms for a specific work. I want the dates to be selected in the forms by user. As date picker is not working in forms, is there any other way for it?
Hello, I want to set numbering of dates as 01/07/2022 will set as 1 even if this date repeat multiple times all will set as 1 and next date will set as 2 & so on.
Please help.
Hi! If I got you right, the formula below will help you with your task:
=A1-DATEVALUE("01/07/2022")+1
Hello Everyone,
Can someone please explain to me how I can enter the same year to a date? Example I have an excel sheet with about 100 lines, but all have dates as 01/02, 01/03,01/04, how can I add the same year to these dates, so it looks like 01/02/2022, 01/03/2022, 01/04/2022?
Thank you in advance!
Lets say the date is in Column A.
You can add a column next to it and apply the formula =DATE(2022,MONTH(A1),DAY(A1)) and drag the same formula throughout.
Hello! Add the year to your text string using the & operator, and use the DATEVALUE function to convert it to a date.
=DATEVALUE(A1&"/2022")
Thank you very much for sharing this information. You have saved me a lot of time.
I appreciate it!
Hello,
I'm trying to create a spreasheet for my ventilator patients. Basically, I need one column with my patients names, the next column to have the date of their last vent check, then the next column to have whether they're a patient that's checked every 3 months or every 6 months. The next column needs to be the next date their due for a vent check, so depending on if they're a "3" month or "6" month patient will determine if the :next vent check date" will add 90 days or 180 days from the "last vent check date." I hope that made sense.
Hello! Use the IF function to check the value of 3 months or 6 months. Then add 90 or 180 days to the date.
The formula might look like this:
IF(C1="3 month",B1+90,IF(C1="6 month",B1+180,""))
I can't see your data, so I can't recommend the exact formula.
Hi, I want to find a way to calculate dates based on a percentage. I have the start and end date for a particular project, and I have a set % of required time for each task in that project. Can excel help me calculate the estimated completion date of each task?
Hi!
Calculate the total project duration in days using these instructions: Calculate number of days between two dates in Excel.
Multiply the project duration by the percentage and get the required time for each task.
Add that time to the start date of the task, as described here: How to add and subtract dates in Excel.
I hope it’ll be helpful.
Mine autofills just adding a year, so 1/1/2023, 1/1/2024 instead of 2/1/2023. What can I do? Thank you!
Hi! Try manually writing some values correctly and then use autofill.
Hi
How do I have my dates automatically generate after inputting the first date ? i.r in row 4 I have 1/5/23 then in 37 I want the date 2/5/23 and then 70 and so on.. without having the manually type the dates in. Thank you
Hi!
Excel formula can automatically generate a sequence of values only in a continuous range of cells, but not in individual cells.
Maybe this article will be helpful: Create a date sequence in Excel and auto fill date series.