Excel's date format without a year

I'm putting in employees' birthdays, but they come without years for sensitivity reasons. But when I put the month and day in, Excel automatically adds 2012 as the year! Obviously this is not right. I was able to format the cells to just show month and day, but I don't like that the year is in there because it is incorrect information.

Is there any way to keep the Date format but not have a year automatically included?


Solution 1:

Short answer:
There's no way to have a date without a year, it's simply a required part of a date. Just like the second is a required part of the time of day - if you enter, say, "1:15", the actual value will be "01:15:00" (or something like that, depending on your regional settings). The only thing you can do is format the column as text, use a date format that hides the year, or tricks like using formulae to extract the day and month into another column and hiding the column with the actual date.

Explanation:
Excel stores dates as the number of days since 0 (yes, zeroeth) January 1900. So today, 23 August 2012, would be stored as 41144, and 23 August 2008 would be stored as 39683. Because of this, Excel needs to know the year in order to calculate the correct number of days. 23 August on its own is ambiguous, because it could resolve to over 100 different values (one for each year since 1900), that's why Excel adds the year itself if you omit it.

For the time of day, Excel appends a fractional part to the number of days, which represents the fraction of the 24-hour day that has elapsed. For example, 06:00 (or 6 AM) is stored as 0.25, because at that point 25% of the day has passed.

You can see this in action by entering a date and/or time (or just =NOW() for the current date/time) into a cell in Excel and changing the format to Number. You'll also have to increase the number of decimal places to see the full precision.

For example, the current time (20:19 in my timezone, as of the writing of this) is stored as 41144.846945255.

Solution 2:

Might need to use a few steps.

You have the full date. In a column beside it, place the following formula.

=CONCATENATE(MONTH(A1),"-",DAY(A1))

This will give you the month, a dash, the day. You may want to pretty it up, or use multiple columns.

Then, copy all of the cells with the new month-day combination.

In the next column, Paste Special, and select Values. This will create new cells without the formulas, just the values in the end.

Finally, delete the columns with the original date, and the formula from above.

Solution 3:

As far as I know, this isn't possible. You can format the cell as mm/dd but if it's a date, it has 3 parts: month, day, and year. Excel will add the year for you when you enter just the month and day. You will see it as mm/dd but since a date by definition has to have a year in it to perform date arithmetic, you don't have a choice really. The only way I can think doing this is formatting it as a text field. But you will lose the benefits of the data format. What do you need this, may I ask? In most cases you can avoid using the year in your arithmetic if it bothers you.

Solution 4:

Create two columns. In the first just put the month. In the second put the day separated by a space, using a 0 for single digit days. So, April 2 would read First Column: April, Second Column 0 2. Then Excel does not read it as a date and does not format it. :)

Solution 5:

As I am sorting this data and entered month and day but not year in 2013 and 2014 I changed all new entries to 2013 then added a column and subtracted 41000 from each # to make it 1900(year) then formatted as month year after pasting values only. I found this was the easiest solution based on the info here. Thanks. Now I can sort these by month with no bias for the year.