Преобразование неподдерживаемого формата даты (Microsoft Excel)
Загрузка в Excel информации из других программ — не редкость.
Например, у вас могут быть данные, созданные другой программой, и вы хотите проанализировать эти данные в Excel. Когда вы импортируете данные в Excel, он довольно хорошо справляется с присвоением информации правильных типов данных и даже может анализировать и преобразовывать некоторые данные.
Однако когда дело доходит до даты и времени, не все программы говорят так, как может понимать Excel. Например, если ваша другая программа хранит даты в формате «Mon Jan 13 14:33:03 2011», тогда Excel не сможет проанализировать дату, и вам нужно будет выполнить преобразование другим способом.
К счастью, большинство программ генерируют дату и время в формате, соответствующем шаблону. Предположим, например, что «Mon Jan 13 14:33:03 2001» представляет формат, за которым следуют все даты, вы можете выполнить преобразование, используя простую формулу:
=DATEVALUE(MID(A1,9,2)&MID(A1,5,3)&RIGHT(A1,4)) + TIMEVALUE(MID(A1,12,8))
В этой формуле предполагается, что внешний формат даты и времени находится в ячейке A1.
Просто отформатируйте результат формулы, используя один из форматов даты / времени Excel, и у вас не будет проблем.
При желании вы можете использовать функцию «Текст в столбцы», чтобы разбить внешний формат даты / времени на составные части:
-
Убедитесь, что справа от даты / времени есть четыре пустых столбца.
Здесь Excel разместит различные части даты / времени.
-
Выберите все ячейки, содержащие иностранные даты / время.
-
Откройте вкладку «Данные» на ленте.
-
Щелкните инструмент Текст в столбцы в группе Инструменты для работы с данными. Excel запускает мастер преобразования текста в столбцы. (См. Рис. 1.)
-
Убедитесь, что выбран параметр «С разделителями», затем нажмите «Далее». Excel отображает второй шаг мастера.
-
Убедитесь, что установлен флажок Пробел.
-
Щелкните Готово.
Дата и время теперь разделены на пять отдельных столбцов. Теперь вы можете использовать формулу для объединения действительных даты и времени. Например, предполагая, что развернутая версия даты / времени находится в ячейках A1: E1, вы можете использовать следующее:
=(C1&B1&E1)+D2
Опять же, отформатируйте результат, используя формат даты / времени, и все готово.
Если вы предпочитаете использовать макрос для преобразования, то следующий макрос пройдет по всем выбранным ячейкам и выполнит преобразование:
Sub ConvDate() Dim c As Range For Each c In Selection.Cells c = DateValue(Mid(c, 5, 6) & ", " _ & Mid(c, 21, 4)) + TimeValue(Mid(c, 12, 8)) c.NumberFormat = "dd MMMM yyyy h:mm:ss" Next c End Sub
Макрос преобразует текстовую строку в приемлемую дату / время (используя DateValue), а затем форматирует ячейку для отображения свойства значения.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9779) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Converting_an_Unsupported_Date_Format [преобразование неподдерживаемого формата даты]
.