Excel.Tips.Net Welcome toExcel.Tips.Net

Helpful Links

Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment

Tips.Net Store

ExcelTips FAQ
ExcelTips Premium

Learn Access Now
Free Printable Forms

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

Newest Tips

Converting to Octal

Filtering Columns for Unique Values

Printing Multiple Worksheets on a Single Page

Changing the Default Font

Creating a Drawing Object

Determining a Value of a Cell

Understanding Macros

 

Unique Military Date Format

Summary: The military, for some purposes, uses a variation of a Julian date that is not directly supported by Excel. This tip explains various formulas you can use to start with a normal Excel date and display that date in the military's Julian format. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, Excel 2003, and Excel 2007.)

For some purposes, the military uses a variation of what is called a "Julian date" to record a specific date. This special date format consists of the year digits (with no leading zeros) followed by the absolute day of the year. Thus, 9 July 2007 would end up as 7190. This shows the year (7, which is for 2007) followed by the 190th day of the year (July 9).

The military is not alone in its use of such dates. Some other industries also rely on this type of date format. Excel, however, doesn't rely on this type of format. Instead, it uses more common formatting for the display of dates, and its own serial number format for the internal storage of dates. If you need to work with the Julian dates (perhaps you are in the military), you may wonder if there is a way to format dates in this manner.

The short answer is that there is no native way to do it. The custom formatting capabilities of Excel don't allow you to indicate a way to display the day of the year. So this means that you must use a formula to return either a numeric value for the Julian date, or a text string that contains the Julian date.

If you want to return a text string containing the formatted date, then you can use a formula such as the following:

=RIGHT(YEAR(A1),1)&(A1-DATE(YEAR(A1),1,1)+1)

This formula assumes that cell A1 contains a regular Excel date. The first part of the formula (the part before the ampersand) returns the last digit of the year and the part after the ampersand subtracts the first day of the current year from the date being converted, and then adds 1 back to that date. The result is the ordinal day within the year.

If the day-of-the-year portion of the Julian date must always be three digits, then you need to modify the formula just a bit more. As written above, the formula will return 1, 2, or 3 digits for the last part of the formula. If it always needs to be 3, then use this, instead:

=RIGHT(YEAR(A1),1)&RIGHT("000"&(A1-DATE(YEAR(A1),1,1)+1),3)

If you prefer to have the formula return a number rather than a text string, you could enclose the entire formula within a VALUE function, or you could simply multiply the year digit by 1000 in the formula. Both approaches are shown here:

=VALUE(RIGHT(YEAR(A1),1)&RIGHT("000"&(A1-DATE(YEAR(A1),1,1)+1),3))
=RIGHT(YEAR(A1),1)*1000+(A1-DATE(YEAR(A1),1,1)+1)

You can also find information on working with Julian dates in Microsoft's Knowledge Base:

http://support.microsoft.com/?kbid=214099

There is also additional information available on Chip Pearson's Web site:

http://www.cpearson.com/excel/jdates.htm

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3227) applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003 | 2007

Don't Go in Debt for Christmas! Tired of trying to keep up with the Joneses for Christmas? Want to enjoy the season rather than dread the aftermath? Learn how you can avoid the financial traps that spring up every Christmas.
 
Check out Top Fifteen Tips for Financing Christmas today!