Преобразование времени моделирования - PullRequest
1 голос
/ 04 июля 2019

Я запускаю симуляцию (длительность: 100 секунд), и результаты экспортируются в CSV, содержащий два столбца. Первый - «Время» в секундах. Он содержит десятичные числа. Шаг моделирования является переменным. Мне нужно преобразовать десятичные числа в формат чч: мм: сс.

Изменение формата ячеек с номера на время в Excel не является решением, так как этап моделирования потерян.

0              00:00:00
0,02           00:28:48 WRONG
0,04           00:57:36 WRONG
0,066          01:35:02 WRONG
0,0998         02:23:43 WRONG
0,14374        03:26:59 WRONG
0,200862       04:49:14 WRONG
0,2751206      06:36:10 WRONG
0,37165678     08:55:11 WRONG
0,497153814    11:55:54 WRONG

Я ожидаю, что формат HH:MM:SS сохранит шаг между двумя моментами симуляции

0              00:00:00
0,02           00:00:00 
0,04           00:00:00
........
1,007964       00:00:01
1,090020       00:00:01
......
100            00:01:40

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

Excel хранит дату / время как двойные - целочисленная часть - это количество дней с 1899 по 12-31, поэтому 1 становится 1900-01-01, а 60 становится 1900-02-29 и так далее. Десятичная часть - это время, как доля целого дня - 0.5 равна 12 полдень .

Таким образом, значение 0.1 равно 2 hours, 24 minutes, а не 100 milliseconds

Это означает, что ваш код дает точно правильный вывод для того, что вы написали, но не для того, что вы хотели написать.

То, что вы на самом деле , похоже, хотите, - это функция TIME, которая принимает часы, минуты и секунды и выводит значение времени следующим образом:

=TIME(01, 23, 45)
    1:23 AM

=TEXT(TIME(01, 23, 45), "hh:mm:ss")
    01:23:45

Функции DATE и TIME также «переполнены». То есть =TIME(0, 0, 65) - это то же самое, что и запись =TIME(0, 1, 5), оба дают 1 minute, 5 seconds.

Они также " при потоке", поэтому TIME(0, 2, -55) также даст 1 minute, 5 seconds=DATE(1900,3,0) равно 1900-02-29, в то время как =DATE(1901,3,0) равно 1901-02-28)

0 голосов
/ 04 июля 2019

Используйте формулу:

=TIME(0,0,SUBSTITUTE(E12,",","."))

если используется формат вместо. использовать функцию. =TIME(0,0,E12)

Измените ссылку на ячейку соответственно.

Результат:

enter image description here

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