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

145

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

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

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

user128807
источник
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 часов.

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

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

Casebash
источник
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
2nisi
источник
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")

Ура

Ggonmar
источник
0

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

=A1/B1

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

орехи
источник
-9

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

грррррр
источник