Вам необходимо уточнить ваши региональные настройки и форматы дат и привести их в соответствие с порядком дат и месяцев в формате CSV. Они, кажется, не склеиваются в данный момент.
41282.00003
- 8 января 2013 года, а не 1 августа 2013 года.
Excel попытается интерпретировать дату в соответствии с региональными настройками вашего компьютера. Если региональными настройками являются DMY, а дата интерпретации - 31.07.2013, порядок DMY не будет работать, и Excel будет интерпретировать данные как текст. Это то, что вы видите. Текст, который выглядит как значение даты / времени. Попробуйте отформатировать это видимое значение даты / времени по-другому. Вы увидите, что не можете, потому что это текст.
Но если следующий ряд данных имеет 08/01/2013, это очень хорошо вписывается в схему DMY региональных настроек и будет возвращено 8 января 2013 года. Вы можете изменить формат ячейки на пользовательский формат
dd/mm/yyyy hh:mm:ss.000
и будет отображаться как 08/01/2013 00:00:02.863
Значение в ячейке A1 - это текстовое значение, а не реальное время даты. Формат ячейки "Общий", и никакое количество форматирования чисел не изменит его внешний вид.
Значение в ячейке A2 представляет собой реальное значение даты / времени, отформатированное в указанном выше пользовательском формате.
При импорте дат будьте особенно внимательны, чтобы проверить порядок дня и месяца в импортированных данных. Когда вы используете мастер импорта, вы можете указать, в каком порядке находятся исходные данные, и все даты будут импортироваться последовательно.
Давайте внимательнее посмотрим на вторую (реальную) дату. 08/01/2013 00:00:02.863
формате "Общие" отображается как 41282.00003
а в формате с правильной датой - 8 января 2013 года. Хорошо.
Если вы увеличите десятичные дроби для общего формата, вы обнаружите, что фактическим базовым числом является 41282.0000331366
. Этот номер имеет 15 цифр.
Отформатированный как дата, вы можете отредактировать его и изменить день с 8 до 7. Результат будет отображаться в "общем" формате как 41281.00003
, но если вы увеличите количество отображаемых цифр, вы увидите, что это число 41281.00003472220
А?
Как так? Мы только вычли один день, поэтому должно измениться только число перед десятичной запятой.
Ну, Excel имеет встроенную точность всего 15 цифр для любого числа. Числа с большим количеством цифр будут округлены или последние цифры будут заменены нулями. Кроме того, в Excel существует известная ошибка, которая влияет на точность чисел при достижении 15-значного предела.
Я думаю, что это один пример, где ошибка поднимает свою уродливую голову.
Когда часть даты нашего значения даты / времени изменяется, это также приведет к переоценке десятичных дробей, что приведет к некоторому округлению и непоследовательному поведению после четвертого десятичного знака. Следовательно, фактические секундные и миллисекундные данные будут отключены.
Посмотрите, поможет ли этот скриншот уточнить:
Значения в столбцах B – D - все ссылочные столбцы A. Единственная разница между A1 и A2 - это ручное изменение даты с 08/01 на 07/01 (где 01 - январь, согласно региональным настройкам DMY).
"Общий" формат показывает оба значения с десятичным значением x.0003. Расширение десятичных дробей показывает, что после четвертой десятичной дроби существует значительная разница в десятичных дробях.
Поскольку желаемый конечный результат представляет собой значение, которое показывает секунды и миллисекунды, десятичные дроби после 4-го десятичного разделителя действительно имеют значение, и когда значение отформатировано в пользовательском формате, который показывает секунды и миллисекунды, эта разница отображается (в столбце A).
Также обратите внимание на три ячейки с числами, состоящими всего из 15, 16 и 17 цифр, равных 1, и как Excel просто заменяет любую цифру после 15 на ноль, поскольку она не может отображать более высокую точность.