Форматирование времени в Excel - PullRequest
0 голосов
/ 13 мая 2018

В настоящее время я использую пользовательский формат m: ss.00 , и он отлично работает в любое время, превышающее одну минуту, например, 1: 02,47 . Тем не менее, если я введу время менее минуты, например, 57,66 , оно преобразуется в 50: 24,00 . Я могу обойти это, введя 0: 57.66 , но я бы предпочел не всегда вводить ведущий 0: , и я не хочу, чтобы ведущий 0: отображается в любом случае. Я хотел бы, чтобы он понял, что если я пропущу число, за которым следует двоеточие, интерпретировать его как минуты и просто отобразить 57.66 .

1 Ответ

0 голосов
/ 13 мая 2018

В Excel даты:

1   =   1 day

... поэтому:

1 / 24            =  1 hour    =  0.04166667  formatted as m:ss.00 is 0:00.00

1 / 24 / 60       =  1 minute  =  0.00069444  formatted as m:ss.00 is 1:00.00

1 / 24 / 60 / 60  =  1 second  =  0.00001157  formatted as m:ss.00 is 0:01.00

Так что если у вас есть количество секунд, например 50.24, выможно преобразовать его в Excel DateTime, разделив его на x/24/60/60, что совпадает с x/86400.

Это преобразует его в секунды.

Причина, по которой ваш метод работает, если онбольше минуты в основном через процесс устранения.«Действительное число», такое как 50.24, просто выглядит как число, поскольку у него нет двоеточия : или чего-либо еще, чтобы отличить его как дату и время.Ввод целого числа 0:50.24 заставит Excel распознавать его как дату и время.

Аналогично, ввод следующих дат:

12/01/1999
01/12/1999

... может иметь разные результаты (January 12, 1999 или December 1, 1999) в зависимости от ваших региональных настроек (использует ли ваша страна M/D/Y или D/M/Y), однако, введите один из следующих вариантов:

01/13/1999
13/01/1999

... будет оба интерпретироваться как "1 января 1999 года", поскольку Excel удалось исключить другие возможности (поскольку 13-го месяца нет).


Дополнительная информация:

...