Эта проблема
Ячейка datetime содержит данные с точностью до десятых долей секунды или более высокой, но отбрасывает эту точность до точности "второго" уровня при редактировании данных ячейки, даже если ничего не изменилось.
Воссоздать
Очевидно, что элементы этого могут зависеть от локали, компьютера и / или пользователя, но ниже представлен мой опыт работы с двумя рабочими столами и ноутбуком, всегда Excel 2010, Великобритания.
- Введите «19/04/2015 13:26:15.456» в ячейку без кавычек (британский формат, поэтому предположительно 19.04.2015 в США); нажмите ввод, чтобы содержимое было принято.
- Excel решает отформатировать это как "mm:ss.0", представляя это как "26:15.5"
- Вернитесь к рассматриваемой ячейке, не редактируя ее
- можно видеть, что он "потерял" точность в строке формул, показав «19/04/2015 13:26:15» без доли секунды. Тем не менее, ячейка по-прежнему показывает «26:15,5», указывая хвостом .5, что точность все еще присутствует.
- CTRL-1 и измените формат с «мм:сс.0» на «дд / мм / гггг чч:мм:сс.000». Теперь он корректно отображается как «19/04/2015 13:26:15.456» в ячейке (но все еще без 456 в строке формул).
- Это суть проблемы; теперь нажмите F2, затем нажмите ввод; т.е. "редактировать" ячейку, но не меняя ничего. Точность <1 секунды отбрасывается, и теперь в ячейке отображается «19/04/2015 13:26:15. 000 »
Это означает, что если я отредактирую часть даты в ячейке (то есть изменим апрель на май, или продвинусь на год и т.д.) Или просто случайно дважды щелкните по ней, я каждый раз выбрасываю десятичную точность. Есть ли способ, которым я могу предотвратить это?
Чтобы доказать, что значение меняется, а не только форматирование, я добавил формулу в соседнюю ячейку для отображения даты в виде десятичной дроби (10 дп), и значение изменяется только сразу после шага 4, описанного выше.