Уникальный формат военной даты (Microsoft Excel)
Для некоторых целей военные используют вариант так называемой «юлианской даты» для записи определенной даты. Этот специальный формат даты состоит из цифр года (без начальных нулей), за которыми следует абсолютный день года. Таким образом, 9 июля 2019 года будет 19190. Это показывает год (19, который соответствует 2019 году), за которым следует 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 Office:
https://support.office.com/en-us/article/Insert-Julian-dates-Functions-0c7fa6aa-daff-402e-9990-93a5b76ba018
На веб-сайте Чипа Пирсона также доступна дополнительная информация:
http://www.cpearson.com/excel/jdates.htm
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9150) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Unique_M military_Date_Format [Уникальный формат военной даты]
.