надежное форматирование даты и времени для расчетов - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь отформатировать данные даты и времени, когда они поступают из базы данных для использования в вычислениях.

Пример данных:

Прибор, с которого извлекаются данные, заставляет операторов вводить даты и время выборки вручную, а программное обеспечение не допускает специальных символов, поэтому все разделено символами "." И "". Если вы сопоставите это с несоответствиями с количеством символов (т. Е. 0 перед месяцем, днем ​​или часом) и использованием AM и PM, это приведет к тому, что мне придется заново вводить все вручную для целей расчета, потому что все становится слишком непоследовательным.

Поток данных становится тяжелее, поэтому ручная коррекция становится неэффективной. Есть ли надежный набор уравнений, который я могу использовать, чтобы отформатировать эти записи и сделать их полезными?

Я знаю, что могу использовать функцию SUBSTITUTE, чтобы избавиться от "." И "", и если я смогу получить даты в строку чисел

т.е. 06.8.18 7.28 PM -> 0608181928

Я мог бы использовать комбинацию функций DATE, TIME, MOD и TRUNC для генерации моих дат и времени. Тем не менее, несоответствие количества символов и необходимость исправления AM и PM меня отбрасывают.

Данные с примерами уравнений:

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Вы можете использовать вложенный SUBSTITUTE, чтобы заменить третий период двоеточием, а затем заменить оставшиеся периоды косыми чертами во внешнем SUBSTITUTE. Затем примените пользовательский формат по мере необходимости.

=--SUBSTITUTE(SUBSTITUTE(A1,".",":",3),".","/")

enter image description here

0 голосов
/ 07 сентября 2018

Если ваше время может иметь секунды, четвертые ., тогда это будет любое число .:

=SUBSTITUTE(LEFT(A2,FIND(" ",A2)-1),".","/")+SUBSTITUTE(MID(A2,FIND(" ",A2)+1,99),".",":")

Затем примените желаемый формат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...