Преобразование в MS EXCEL секунд в сутки, часы и минуты

history

EXCEL хранит ВРЕМЯ в числовой форме (в дробной части числа). Например, 1,0 соответствует 1 суткам, 0,5 - 12 часам. 

В ячейке с форматом Время 12 часов (т.е. число 0,5) отражаются как 12:00:00. Но, что если в ячейке содержится количество секунд, например, 100 000, и их нужно преобразовать в дни, часы и минуты?

Теория

Прежде чем начать решать задачу, вспомним, что в 1 сутках 24 часа, в 1 часе 60 минут, а в минуте 60 секунд, т.е. в сутках 24*60*60=86400 секунд. Также вспомним как EXCEL обращается с датами и временами: Excel хранит даты и время в виде чисел, а вот отображать может по разному:

1. Временные значения (числа меньше 1) в формате ячейки могут отображаться как 13:30:25 (чч:мм:сс). Чтобы отобразить 1 секунду в формате 00:00:01 нужно ввести в ячейку значение =1/86400 и установить формат ячеек чч:мм:сс. 1 минута - это =1/24/60. Про временные форматы, в том числе и нестандартные - пользовательские, подробнее читайте здесь.

2. Значения Даты (целые числа больше 1) стандартно отображаются форматом ячейки как 01.02.1988 или 1 февраля, например. Числовые значения с дробной частью интерпретируются EXCEL как содержащие дату и время. Например, число 2,45 - это 02.01.1900  10:48:00. 2 января 1900 года - это число 2, т.к. отсчет дат ведется в MS EXCEL начиная с 01.01.1900. 10:48 получилось из 0,45 так: т.к. 1 - это 24 часа, т.е. 1440 минут, то 0,45 - это 0,45*1440=648 минут=10*60мин+48 мин=10 частов 48 мин. 

3. Отображаться даты и времена могут и в текстовом формате, визуально не отличимым от вышеперечисленных форматов. Это реализуется, например с помощью функции ТЕКСТ. Например, формула =ТЕКСТ(1,3;"ч:мм") вернет текстовую строку 7:12. Такой формат удобен при составлении текстовых строк, содержащих даты и время. Но, дальнейшие вычисления с временами и датами в текстовом формате не возможны. 

4. Произвольный формат, удобный пользователю. Вышеперечисленные 3 формата отображения могут отобразить секунды и минуты от 0 до 59, а часы от 0 до 23. Даты будут отображены календарные - от 1 до 31 максимум. Если попытаться ввести 145 минут, например в функции ВРЕМЯ, то формула =ВРЕМЯ(;145;) вернет 2:25:00, т.е. 2 часа 25 минут = 2*60+25=145 минут. Однако, есть задачи, когда дано определенное количество секунд или минут и их нужно преобразовать в стандартный для MS EXCEL формат.

Решение задачи

Чтобы перевести 100 000 секунд в стандартный формат времени и даты разделим 100000 на 86400 (секунд в сутках), получим примерно 1,157407, т.е. больше 1 суток. Стандартный формат ячейки Время отобразит 3:46:40 (ч:мм:сс), т.е. количество дней не будет отражено. В EXCEL есть еще один стандартный формат в группе Дата, который отображает и даты и время одновременно.

В итоге будем иметь 01.01.00 3:46 (нет секунд и вместо количества суток (1) отображается 1 января 1900 года). Нажав внизу левого списка значение (все форматы) получим явный формат, который был применен ДД.ММ.ГГ ч:мм;@

Отредактируем его как Д \д ч:мм:сс;@ чтобы отображались и секунды и день. Получим 1 д 3:46:40, т.е. то что мы хотели. Вместо символа "д" можно указать сутки, откорректировав формат Д \суток ч:мм:сс. Все будет работать хорошо пока количество суток не превысит 31. Это произойдет для 2 764 799 секунд,что соответвует 31 дню и 23:59:59. Это происходит, когда чуть большее количество секунд дает дату 01.02.1900, т.е. вместо 32 суток отображается день этой даты, т.е. 1. Нам так не нужно. Поэтому, придется написать нестандартный пользовательский формат. Например, попробуем сделать 1:3:46:40. Проще всего сделать форматирование с помощью текстовой строки, получаемой формулой =ЦЕЛОЕ(1/24/60/60*H4)&":"&ТЕКСТ(H4/(24*60*60);"ч:мм:сс")

Другой вариант - отображение суток, часов, минут и секунд в отдельных ячейках.

В файле примера создана форма для перевода значения секунд в целое количество суток, часов, минут и секунд. Эта форма универсальная - можно ввести и минуты и часы и сутки. Формулы работают даже для чисел с дробной частью. Например, 1,5 суток будут преобразованы в 1 сутки и 12 часов.

Часть формул используют таблицу преобразования сутки-часы-минуты-секунды:

Для перфекционистов часть формул даже правильно склоняют слово "день".

 

 

 


© Copyright 2013 - 2022 Excel2.ru. All Rights Reserved