Преобразование форматов даты мэйнфрейма (Microsoft Excel)
Некоторые данные, с которыми вы работаете в Excel, могут запускаться как вывод из больших систем в вашем офисе. Иногда форматы даты, используемые большими системами, могут быть полностью неправильно поняты Excel. Например, выходные данные могут содержать даты в формате yyyydddtttt, где yyyy — год, ddd — порядковый день года (от 1 до 366), а tttt — время в 24-часовом формате. На первый взгляд, вы можете не знать, как преобразовать такую дату во что-то, что можно использовать в Excel.
Есть много способов найти решение. Возможно, лучшая формула, однако, следующая:
=DATE(LEFT(A1,4),1,1)+MID(A1,5,3)-1+TIME(MID(A1,8,2),RIGHT(A1,2),0)
Эта формула сначала вычисляет порядковый номер даты для 1 января указанного года, а затем добавляет правильное количество дней к этой дате.
Затем формула вычисляет правильное время на основе предоставленных данных.
Когда вызывается такая формула, результатом является порядковый номер даты.
Это означает, что ячейку по-прежнему необходимо отформатировать для отображения формата даты.
Такой подход будет работать нормально при условии, что информация, с которой вы начинаете, имеет смысл. Например, вы всегда получите ожидаемый результат, если ddd действительно находится в диапазоне от 1 до 366 или если tttt является правильно отформатированным 24-часовым представлением времени. Если вы ожидаете, что исходные данные могут оказаться за пределами допустимого диапазона, лучшим решением будет создание специальной функции (с использованием макроса), которая будет разрывать исходные данные и проверять значения, указанные для каждой части.
Если данные находятся за пределами допустимого диапазона, функция может вернуть значение ошибки, которое будет легко обнаружено на листе.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2524) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Converting_Mainframe_Date_Formats [Преобразование форматов даты мэйнфрейма]
.