Как я могу выполнить арифметику времени / часов в Google Spreadsheet?


145

Как выполнить арифметику времени / часа в электронной таблице Google?

У меня есть значение времени (например, 36:00:00), и я хочу разделить его на другое время (например, 3:00:00) и получить 12. Если я разделю только одно на другое, я получу 288 : 00: 00, когда мне нужно 12 (или 12:00:00).

Обратите внимание, что использование функции hours () не работает, потому что 36:00:00 становится 12.


1
= A1 * 24 преобразует «1:30:00» в «1,5»
psycho brm 05

Ответы:


141

Когда число возвращаемого вашей формулы форматируемой как время, и вы хотите, отформатированные как обычный номер, измените формат ячейки в формат простого числа: нажмите на ячейку , а затем нажмите Format, Number, Normal.

Значения времени в таблице Google представлены в днях и частях дней. Например, 36:00:00 - это форматированное представление числа 1,5 (полтора дня).

Предположим, вы разделите 36:00:00 на 3:00:00, как в вашем примере. Таблица Google выполняет вычисление 1,5, деленного на 0,125, что составляет 12. Результат говорит вам, что у вас есть 12 трехчасовых интервалов в 36-часовой период времени. 12, конечно, не интервал времени. Это безразмерная величина.

Если пойти другим путем, можно отформатировать любое число как время. Если вы отформатируете 12 как время, разумно ожидать, что вы получите 288: 00: 00. 12 дней содержат 288 часов.


7
Блестящий ответ. Знаете ли вы, можно ли использовать формат / число / нормальный формат в формуле (например, = Format.Number.Normal (A3))? Без этого мне нужно создать повторяющийся столбец столбца часов с обычным форматированием.
user128807

3
На самом деле, форматом для меня была «продолжительность», поэтому время было суммировано как единое целое
Маркос Васконселос

70

В Google Таблицах теперь есть опция форматирования продолжительности. Выберите: Формат -> Число -> Продолжительность.


Casebash и @xanderoid. Большой! Теперь как отформатировать длительность без секунд. Скорее всего, люди используют это из-за расписания. Любое дополнение, которое я могу добавить, чтобы показать продолжительность в формате ЧЧ: мм? Я пробовал форматировать текстовую формулу, но это не влияет на продолжительность.
Christiaan Westerbeek

Вам нужно установить собственный формат даты только для прошедших секунд.
Ментат

35

Пример расчета времени:

work-start   work-stop   lunchbreak    effective time

  07:30:00    17:00:00          1.5                 8  [=((A2-A1)*24)-A3]

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

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


3
А как суммировать эффективные временные ряды?
Тарион

@mikkelbreum Я думаю, вы хотели показать эту формулу: = ((B2-A2) * 24) -C2, но даже измененная формула не работает в текущей версии GSheets при использовании формата Duration. Чтобы получить десятичные часы, вам нужно сделать что-то вроде этого: abs (-time (8,30,0) -1) * 24 = 8,5
Стив Гон

22

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

Например:

  • B3 = 10:45
  • C3 = 20 (минут)
  • D3 = 15 (минут)
  • E3 = 8 (часы)
  • F3 = B3 + время (E3, C3 + D3,0) равно 19:20

8

У меня была аналогичная проблема, и я сейчас ее исправил

  1. отформатируйте каждую ячейку по времени
  2. отформатируйте итоговую ячейку (сумму за все время) в Duration

8

Я воспользовался TO_PURE_NUMBER()функцией, и она сработала.


2
Это намного проще, чем преобразование часов из часов: минут: секунд в часы, которые я делал раньше
HerrBag,

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


2

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

Например: 6:45 или 6 часов 45 минут - это 6,75 часа 6,75 часа / 24 = 0,28125 (другими словами, 6 часов 45 минут - это 28,125% дня). Если вы используете столбец для преобразования продолжительности в фактические числа (например, преобразование 6:45 в 0,28125), вы можете выполнить умножение или деление и получить правильный ответ.


0

Если вы хотите отформатировать его в формуле (например, если вы объединяете строки и значения), вышеупомянутый параметр формата Google недоступен, но вы можете использовать формулу ТЕКСТ:

=TEXT(B1-C1,"HH:MM:SS")

Поэтому для рассматриваемого примера с конкатенацией:

="The number of " & TEXT(B1,"HH") & " hour slots in " & TEXT(C1,"HH") _
& " is " & TEXT(C1/B1,"HH")

Ура


0

В новой таблице, 36:00:00введенной в A1 и 3:00:00введенной в B1, затем:

=A1/B1

скажем в C1 возвращается 12.


-9

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.