Рассчитать время в Excel (разница во времени, количество отработанных часов, сложение / вычитание)

Поскольку даты и время хранятся в виде чисел в серверной части Excel, вы можете легко использовать простые арифметические операции и формулы для значений даты и времени.

Например, вы можете добавить два разных значения времени или значения даты, или вы можете вычислить разницу во времени между двумя заданными датами / временем.

В этом руководстве я покажу вам несколько способов выполнения вычислений с использованием времени в Excel (например, вычисление разницы во времени, добавление или вычитание времени, отображение времени в разных форматах и ​​вычисление суммы значений времени).

Как Excel обрабатывает дату и время?

Как я уже упоминал, даты и время хранятся в виде чисел в ячейке Excel. Целое число представляет полный день, а десятичная часть числа будет представлять часть дня (которая может быть преобразована в значения часов, минут и секунд).

Например, значение 1 представляет 01 января 1900 года в Excel, что является отправной точкой, с которой Excel начинает считать даты.

Итак, 2 будет означать 2 января 1990 года, 3 будет означать 3 января 1900 года и так далее, а 44197 будет означать 1 января 2021 года.

Примечание. У Excel для Windows и Excel для Mac разные даты начала. 1 в Excel для Windows будет означать 1 января 1900 года, а 1 в Excel для Mac будет означать 1 января 1904 года.

Если в этих числах есть какие-либо цифры после десятичной точки, Excel будет рассматривать их как часть дня, и их можно преобразовать в часы, минуты и секунды.

Например, 44197,5 будет означать 1 января 2021 года 12:00:00 PM.

Поэтому, если вы работаете со значениями времени в Excel, вы, по сути, работаете с десятичной частью числа.

И Excel дает вам гибкость для преобразования этой десятичной части в различные форматы, такие как только часы, только минуты, только секунды или комбинацию часов, минут и секунд.

Теперь, когда вы понимаете, как хранится время в Excel, давайте рассмотрим несколько примеров того, как рассчитать разницу во времени между двумя разными датами или временем в Excel.

Формулы для расчета разницы во времени между двумя временами

Во многих случаях все, что вам нужно сделать, это узнать общее время, прошедшее между двукратными значениями времени (например, в случае расписания, в котором есть время входа и время выхода).

Выбранный вами метод будет зависеть от того, как время указывается в ячейке и в каком формате вы хотите получить результат.

Давайте посмотрим на пару примеров

Простое вычитание вычисления разницы во времени в Excel

Поскольку время хранится в Excel в виде числа, найдите разницу между двумя значениями времени, и вы можете легко вычесть время начала из времени окончания.

Время окончания - время начала

Результатом вычитания также будет десятичное значение, которое будет представлять время, прошедшее между двумя значениями времени.

Ниже приведен пример, в котором у меня есть время начала и время окончания, и я вычислил разницу во времени с помощью простого вычитания.

Возможно, ваши результаты будут отображаться в формате времени (вместо десятичных знаков или значений часов / минут). В нашем примере выше результат в ячейке C2 показывает 09:30 вместо 9.5.

Это нормально, поскольку Excel пытается скопировать формат из соседнего столбца.

Чтобы преобразовать это в десятичное число, измените формат ячеек на Общий (этот параметр находится на вкладке «Главная» в группе «Числа»).

Получив результат, вы можете отформатировать его по-разному. Например, вы можете отображать значение только в часах или только в минутах или в виде комбинации часов, минут и секунд.

Ниже приведены различные форматы, которые вы можете использовать:

ФорматЧто оно делает
часПоказывает только часы, прошедшие между двумя датами
ччПоказывает часы двузначными числами (например, 04 или 12).
чч: ммПоказывает часы и минуты, прошедшие между двумя датами, например 10:20.
чч: мм: сс Показывает часы, минуты и секунды, прошедшие между двумя датами, например 10:20:36.

А если вам интересно, где и как применять эти настраиваемые форматы даты, выполните следующие действия:

  1. Выберите ячейки, к которым вы хотите применить формат даты
  2. Удерживая клавишу Control, нажмите клавишу 1 (или Command + 1 при использовании Mac).
  3. В открывшемся диалоговом окне «Формат ячеек» щелкните вкладку «Число» (если она еще не выбрана).
  4. На левой панели нажмите Custom
  5. Введите любой желаемый код формата в поле Тип (в этом примере я использую чч: мм: сс)
  6. Нажмите ОК.

Вышеупомянутые шаги изменят форматирование и покажут вам значение в зависимости от формата.

Обратите внимание, что настраиваемое форматирование чисел не меняет значение в ячейке. Он только изменяет способ отображения значения. Итак, я могу выбрать отображение только значения часа в ячейке, хотя оно все равно будет иметь исходное значение.

Совет от профессионала: если общее количество часов превышает 24 часа, используйте вместо этого следующий настраиваемый числовой формат: [чч]: мм: сс.

Рассчитайте разницу во времени в часах, минутах или секундах

Когда вы вычитаете значения времени, Excel возвращает десятичное число, которое представляет результирующую разницу во времени.

Поскольку каждое целое число представляет один день, десятичная часть числа будет представлять ту часть дня, которую можно легко преобразовать в часы, минуты или секунды.

Расчет разницы во времени в часах

Предположим, у вас есть набор данных, как показано ниже, и вы хотите рассчитать количество часов между двукратными значениями.

Ниже приведена формула, которая даст вам разницу во времени в часах:

= (B2-A2) * 24

Приведенная выше формула даст вам общее количество часов, прошедших между двукратными значениями.

Иногда Excel пытается быть полезным и также выдает результат в формате времени (как показано ниже).

Вы можете легко преобразовать это в числовой формат, щелкнув вкладку «Главная» и в группе «Число» выбрав «Число» в качестве формата.

Если вы хотите вернуть только общее количество часов, прошедших между двумя моментами (без десятичной части), используйте следующую формулу:

= ЦЕЛОЕ ((B2-A2) * 24)

Примечание. Эта формула работает только в том случае, если оба значения времени относятся к одному и тому же дню. Если день меняется (когда одно из значений времени относится к другой дате, а второе - к другой дате), эта формула даст неверные результаты. Позже в этом руководстве ознакомьтесь с разделом, в котором я рассмотрю формулу для расчета разницы во времени при изменении даты.

Расчет разницы во времени в минутах

Чтобы вычислить разницу во времени в минутах, вам нужно умножить полученное значение на общее количество минут в день (которое составляет 1440 или 24 * 60).

Предположим, у вас есть набор данных, показанный ниже, и вы хотите рассчитать общее количество минут, прошедших между датой начала и датой окончания.

Ниже приведена формула, которая сделает это:

= (B2-A2) * 24 * 60

Расчет разницы во времени в секундах

Чтобы вычислить разницу во времени в секундах, нужно полученное значение умножить на общее количество секунд в дне (которое равно или 24 * 60 * 60 или 86400).

Предположим, у вас есть набор данных, показанный ниже, и вы хотите рассчитать общее количество секунд, прошедших между датой начала и датой окончания.

Ниже приведена формула, которая сделает это:

= (B2-A2) * 24 * 60 * 60

Расчет разницы во времени с помощью функции ТЕКСТ

Еще один простой способ быстро узнать разницу во времени, не беспокоясь об изменении формата, - это использовать функцию ТЕКСТ.

Функция ТЕКСТ позволяет указать формат прямо в формуле.

= ТЕКСТ (Дата окончания - Дата начала, формат)

Первый аргумент - это расчет, который вы хотите выполнить, а второй аргумент - это формат, в котором вы хотите показать результат расчета.

Предположим, у вас есть набор данных, показанный ниже, и вы хотите рассчитать разницу во времени между двумя временами.

Вот несколько формул, которые дадут вам результат в разных форматах

Показывать только количество часов:

= ТЕКСТ (B2-A2; «чч»)

Приведенная выше формула даст вам только результат, который показывает количество часов, прошедших между двукратными значениями. Если ваш результат составляет 9 часов 30 минут, он все равно покажет вам только 9.

Показать общее количество минут

= ТЕКСТ (B2-A2; "[мм]")

Показать общее количество секунд

= ТЕКСТ (B2 – A2; «[сс]»)

Показать часы и минуты

= ТЕКСТ (B2-A2; «[чч]: мм»)

Показать часы, минуты и секунды

= ТЕКСТ (B2-A2; «чч: мм: сс»)

Если вам интересно, в чем разница между hh и [hh] в формате (или mm и [mm]), когда вы используете квадратные скобки, это даст вам общее количество часов между двумя датами, даже если значение часа больше 24. Таким образом, если вы вычтите два значения даты, где разница составляет более 24 часов, использование [hh] даст вам общее количество часов, а hh даст вам только часы, прошедшие в день конечной даты .

Получите разницу во времени в одной единице (часы / минуты) и игнорируйте другие

Если вы хотите рассчитать разницу во времени между двумя значениями времени только в количестве часов, минут или секунд, вы можете использовать специальную функцию HOUR, MINUTE или SECOND.

Каждая из этих функций принимает один аргумент, который является значением времени, и возвращает указанную единицу времени.

Предположим, у вас есть набор данных, показанный ниже, и вы хотите рассчитать общее количество часов, минут и секунд, прошедших между этими двумя моментами времени.

Ниже приведены формулы для этого:

Расчет часов, прошедших между двумя моментами времени

= ЧАС (B2-A2)

Вычисление минут по результату значения времени (без учета полных часов)

= МИНУТА (B2-A2)

Вычисление секунд из результата значения времени (исключая полные часы и минуты)

= ВТОРОЙ (B2-A2)

Несколько вещей, которые вам необходимо знать при работе с этими формулами HOURS, MINUTE и SECOND:

  • Разница между временем окончания и временем начала не может быть отрицательной (что часто бывает при изменении даты). В таких случаях эти формулы вернут # ЧИСЛО! ошибка
  • Эти формулы используют только временную часть результирующего значения времени (и игнорируют дневную часть). Таким образом, если разница во времени окончания и времени начала составляет 2 дня, 10 часов, 32 минуты и 44 секунды, формула ЧАС даст 10, формула МИНУТА даст 32, а формула ВТОРА даст 44.

Рассчитать прошедшее время до настоящего момента (от времени начала)

Если вы хотите рассчитать общее время, прошедшее между временем начала и текущим временем, вы можете использовать формулу СЕЙЧАС вместо времени окончания.

Функция СЕЙЧАС возвращает текущую дату и время в ячейке, в которой она используется. Это одна из тех функций, которая не принимает никаких входных аргументов.

Итак, если вы хотите рассчитать общее время, прошедшее между временем начала и текущим временем, вы можете использовать следующую формулу:

= СЕЙЧАС () - Время начала

Ниже приведен пример, в котором время начала указано в столбце A, а время, прошедшее до сих пор, в столбце B.

Если разница во времени между начальной датой и временем и текущим временем составляет более 24 часов, вы можете отформатировать результат, чтобы показать день, а также часть времени.

Вы можете сделать это, используя приведенную ниже формулу ТЕКСТА:

= ТЕКСТ (СЕЙЧАС () - A2, «дд чч: сс: мм»)

Вы также можете добиться того же, изменив настраиваемое форматирование ячейки (как описано ранее в этом руководстве), чтобы она показывала день, а также время.

Если в вашем времени начала есть только временная часть, тогда Excel будет рассматривать его как время 1 января 1990 года.

В этом случае, если вы используете функцию СЕЙЧАС для расчета времени, прошедшего до настоящего момента, она даст вам неправильный результат (так как полученное значение также будет содержать общее количество дней, прошедших с 1 января 1990 года).

В таком случае вы можете использовать следующую формулу:

= СЕЙЧАС () - ЦЕЛОЕ (СЕЙЧАС ()) - A2

Вышеупомянутая формула использует функцию INT для удаления части дня из значения, возвращаемого функцией now, и затем это используется для вычисления разницы во времени.

Обратите внимание, что СЕЙЧАС - это изменчивая функция, которая обновляется всякий раз, когда есть изменение в рабочем листе, но не обновляется в режиме реального времени.

Расчет времени при изменении даты (расчет и отображение отрицательного времени в Excel)

Рассмотренные до сих пор методы хорошо работают, если ваше время окончания позже, чем время начала.

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

В таких случаях, если вы работаете в ночную смену и дата меняется, есть вероятность, что ваше время окончания будет раньше, чем время начала.

Например, если вы начинаете свою работу в 18:00 вечером, а завершаете работу и отдыхаете в 9:00 утра.

Если вы работаете только со значениями времени, то вычитание времени начала из времени окончания даст вам отрицательное значение 9 часов (9–18).

И Excel не может обрабатывать отрицательные значения времени (и в этом отношении люди не могут, если вы не умеете путешествовать во времени).

В таких случаях вам нужен способ определить, что день изменился, и произвести расчет соответственно.

К счастью, это очень просто исправить.

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

Как вы могли заметить, иногда время начала - вечером, а время окончания - утром (что означает, что это была ночная смена и день изменился).

Если я использую приведенную ниже формулу для расчета разницы во времени, она покажет мне знаки решетки в ячейках, где результат является отрицательным значением (выделено желтым на изображении ниже).

= B2-A2

Вот формула ЕСЛИ, которая определяет, является ли значение разницы во времени отрицательным или нет, и если оно отрицательное, оно возвращает правильный результат.

= ЕСЛИ ((B2-A2) <0,1- (A2-B2), (B2-A2))

Хотя это хорошо работает в большинстве случаев, этого все равно не хватает, если время начала и время окончания различаются более чем на 24 часа. Например, кто-то входит в систему в 9:00 в первый день и выходит из системы в 11:00 во второй день.

Поскольку это более 24 часов, невозможно узнать, вышел ли человек из системы через 2 часа или через 26 часов.

Хотя лучший способ решить эту проблему - убедиться, что записи включают дату, а также время, но если это просто время, с которым вы работаете, то приведенная выше формула должна решить большинство проблем ( учитывая, что вряд ли кто-то проработает больше 24 часов)

Сложение / вычитание времени в Excel

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

Excel также позволяет легко добавлять или вычитать фиксированное значение времени из существующего значения даты и времени.

Например, предположим, что у вас есть список задач в очереди, где каждая задача занимает определенное время, и вы хотите знать, когда каждая задача закончится.

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

Поскольку Excel хранит значения даты и времени в виде чисел, вы должны убедиться, что время, которое вы пытаетесь добавить, соответствует формату, которому уже следует Excel.

Например, если вы добавите 1 к дате в Excel, это даст вам следующую дату. Это потому, что 1 представляет в Excel целый день (который равен 24 часам).

Поэтому, если вы хотите добавить 1 час к существующему значению времени, вы не можете просто добавить 1 к нему. вы должны убедиться, что вы преобразовали это значение часа в десятичную часть, представляющую один час. то же самое касается добавления минут и секунд.

Использование функции ВРЕМЯ

Функция времени в Excel принимает значение часа, минут и секунд и преобразует их в десятичное число, представляющее это время.

Например, если я хочу добавить 4 часа к существующему времени, я могу использовать следующую формулу:

= Время начала + ВРЕМЯ (4,0,0)

Это полезно, если вы знаете, сколько часов, минут и секунд вы хотите добавить к существующему времени, и просто используете функцию ВРЕМЯ, не беспокоясь о правильном преобразовании времени в десятичное значение.

Также обратите внимание, что функция ВРЕМЯ будет учитывать только целую часть введенного вами значения часа, минуты и секунды. Например, если я использую 5,5 часов в функции ВРЕМЯ, это добавит только пять часов и проигнорирует десятичную часть.

Также обратите внимание, что функция ВРЕМЯ может добавлять только значения менее 24 часов. Если значение вашего часа больше 24, это даст вам неверный результат.

То же самое касается минут и второй части, где функция будет учитывать только значения, которые меньше 60 минут и 60 секунд.

Так же, как я добавил время с помощью функции ВРЕМЯ, вы также можете вычесть время. Просто измените знак + на отрицательный в приведенных выше формулах.

Использование базовой арифметики

Когда функция времени проста и удобна в использовании, она имеет несколько ограничений (как описано выше).

Если вам нужен больший контроль, вы можете использовать арифметический метод, о котором я расскажу здесь.

Идея проста - преобразуйте значение времени в десятичное значение, которое представляет часть дня, а затем вы можете добавить его к любому значению времени в Excel.

Например, если вы хотите добавить 24 часа к существующему значению времени, вы можете использовать следующую формулу:

= Start_time + 24/24

Это просто означает, что я добавляю один день к существующей временной стоимости.

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

= Start_time + 30/24

Вышеупомянутая формула делает то же самое, где целая часть (30/24) будет представлять общее количество дней во времени, которое вы хотите добавить, а десятичная часть будет представлять часы / минуты / секунды.

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

= Start_time + (добавляемые минуты) / 24 * 60

И если у вас есть количество секунд, которое вы хотите добавить, вы можете использовать следующую формулу:

= Start_time + (минуты для добавления) / 24 * 60 * 60

Хотя этот метод не так прост, как использование функции времени, я считаю его намного лучше, потому что он работает во всех ситуациях и следует той же концепции. в отличие от функции времени, вам не нужно беспокоиться о том, будет ли время, которое вы хотите добавить, меньше 24 часов или больше 24 часов

Вы можете следовать той же концепции, вычитая время. Просто измените знак + на отрицательный в формулах выше.

Как СУММИРОВАТЬ время в Excel

Иногда вам может потребоваться быстро сложить все временные значения в Excel. Добавить несколько значений времени в Excel довольно просто (все, что нужно, - это простая формула SUM).

Но есть несколько вещей, которые вам нужно знать, когда вы добавляете время в Excel, в частности, формат ячейки, который покажет вам результат.

Давайте посмотрим на пример.

Ниже у меня есть список задач вместе со временем, которое займет каждая задача, в столбце B, и я хочу быстро добавить это время и узнать общее время, которое потребуется для всех этих задач.

В ячейке B9 я использовал простую формулу СУММ, чтобы вычислить общее время, которое будут занимать все эти задачи, и оно дает мне значение 18:30 (что означает, что на выполнение потребуется 18 часов 20 минут. все эти задачи)

Пока все хорошо!

Как СУММИРОВАТЬ за 24 часа в Excel

Теперь посмотрим, что происходит, когда я меняю время выполнения задачи 2 с 1 часа до 10 часов.

Теперь результат показывает 03:20, что означает, что для выполнения всех этих задач потребуется 3 часа 20 минут.

Это неверно (очевидно)

Проблема здесь не в том, что Excel испортил. Проблема здесь в том, что ячейка отформатирована таким образом, что она будет показывать вам только временную часть результирующего значения.

И поскольку полученное значение здесь превышает 24 часа, Excel решил преобразовать 24-часовую часть в день, удалив ее из значения, которое отображается пользователю, и отобразить только оставшиеся часы, минуты и секунды.

К счастью, это легко исправить.

Все, что вам нужно сделать, это изменить формат ячейки, чтобы она отображала часы, даже если они превышают 24 часа.

Ниже приведены некоторые форматы, которые вы можете использовать:

Форматожидаемый результат
[Хм28:30
[м]: сс1710:00
d «D» чч: мм1 Д 04:30
d «D» hh «Min» ss «Sec»1 Д 04 мин 00 сек
d «День» hh «Минута» ss «Секунды»1 день 04 минута 00 секунды

Вы можете изменить формат, перейдя в диалоговое окно формата ячеек и применив настраиваемый формат, или использовать функцию ТЕКСТ и использовать любой из указанных выше форматов в самой формуле.

Вы можете использовать приведенную ниже формулу ТЕКСТ, чтобы показать время, даже если оно превышает 24 часа:

= ТЕКСТ (СУММ (B2: B7); «[ч]: мм: сс»)

или формулу ниже, если вы хотите преобразовать часы, превышающие 24 часа, в дни:

= ТЕКСТ (СУММ (B2: B7); «дд чч: мм: сс»)

Результаты, показывающие хэш (###) вместо даты / времени (причины + исправление)

В некоторых случаях вы можете обнаружить, что вместо отображения значения времени Excel отображает символы решетки в ячейке.

Вот несколько возможных причин и способы их устранения:

Колонна недостаточно широкая

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

Исправить это легко - изменить ширину столбца и сделать его шире.

Отрицательное значение даты

Значение даты или времени не может быть отрицательным в Excel. если вы вычисляете разницу во времени, и она оказывается отрицательной, Excel покажет вам символы решетки.

Способ исправления, чтобы изменить формулу, чтобы дать вам правильный результат. Например, если вы вычисляете разницу во времени между двумя временами, и дата изменяется, вам необходимо скорректировать формулу для ее учета.

В других случаях вы можете использовать функцию ABS, чтобы преобразовать отрицательное значение времени в положительное число, чтобы оно отображалось правильно. В качестве альтернативы вы также можете использовать формулу ЕСЛИ, чтобы проверить, является ли результат отрицательным значением, и вернуть что-то более значимое.

В этом руководстве я рассмотрел темы о вычислении времени в Excel (где вы можете рассчитать разницу во времени, добавить или вычесть время, показать время в разных форматах и ​​суммировать значения времени).

Надеюсь, вы нашли этот урок полезным.

wave wave wave wave wave