Для некоторых целей военные используют вариант так называемой «юлианской даты» для записи определенной даты. Этот специальный формат даты состоит из цифр года, за которыми следует абсолютный день года.

Таким образом, 9 июля 2013 года будет равно 13190. Это показывает год (13, который соответствует 2013 году), за которым следует 190-й день года (9 июля).

Не только военные используют такие даты. Некоторые другие отрасли также полагаются на этот тип формата даты. Однако Excel не полагается на этот тип формата. Вместо этого он использует более распространенное форматирование для отображения дат и собственный формат серийных номеров для внутреннего хранения дат. Если вам нужно работать с юлианскими датами (возможно, вы служите в армии), вы можете задаться вопросом, есть ли способ форматировать даты таким образом.

Короткий ответ: нет собственного способа сделать это. Возможности настраиваемого форматирования Excel не позволяют указать способ отображения дня в году. Это означает, что вы должны использовать формулу для возврата либо числового значения для юлианской даты, либо текстовой строки, которая содержит юлианскую дату.

Если вы хотите вернуть текстовую строку, содержащую отформатированную дату, вы можете использовать следующую формулу:

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

Эта формула предполагает, что ячейка A1 содержит обычную дату Excel. Первая часть формулы (часть перед амперсандом) возвращает последнюю цифру года, а часть после амперсанда вычитает первый день текущего года из даты, которую нужно преобразовать, а затем прибавляет 1 к этой дате. В результате получается порядковый день в году.

Если часть дня года в юлианской дате всегда должна состоять из трех цифр, вам нужно изменить формулу еще немного. Как написано выше, формула вернет 1, 2 или 3 цифры для последней части формулы. Если всегда должно быть 3, используйте вместо этого:

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

Если вы предпочитаете, чтобы формула возвращала число, а не текстовую строку, вы можете заключить всю формулу в функцию ЗНАЧЕНИЕ или просто умножить цифру года на 1000 в формуле. Оба подхода показаны здесь:

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

=RIGHT(YEAR(A1),1)*1000+(A1-DATE(YEAR(A1),1,1)+1)

Вы также можете найти информацию о работе с юлианскими датами в базе знаний Microsoft:

http://support.microsoft.com/kb/214099

В этой статье указано, что он предназначен для Excel 2000, но представленные в нем формулы хорошо работают и в других версиях Excel. На веб-сайте Чипа Пирсона также доступна дополнительная информация:

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

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3227) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Unique_M military_Date_Format [Уникальный формат военной даты].