2011-01-20 08:54:31 +0000 2011-01-20 08:54:31 +0000
17
17
Advertisement

Ввод данных о времени в формате excel в формате mm:ss (без ведущего 0: для часов)

Advertisement

Я хочу ввести данные о времени в лист Excel в формате mm:ss. Проблема в том, что хотя формат ячейки - mm:ss, если я буду вводить данные в таком виде:

12:33 фактическое значение хранится 12 часов и 33 минуты. Если я хочу 12 минут и 33 секунды, мне нужно ввести 0:12:33

Есть ли способ заставить ячейку принять 12:33 как mm:ss ?

Advertisement
Advertisement

Ответы (7)

14
14
14
2011-01-21 03:40:40 +0000

Как ответил Стив , Excel интерпретирует пользовательский ввод 12:33 как 12h33m. Вы не можете изменить это поведение, как Excel принимает пользовательский ввод.

Как вы упоминали в комментарии, пользователи вводят 12:33, но имеют в виду 12m33s.

Вот решение обходного пути для получения правильного значения для вычисления.

  1. Ячейка формата A1 (пользовательский ввод, например, 12:33) как [h]:mm
  2. Введите формулу =A1/60 в ячейку B1
  3. Форматируйте ячейку B1 как [m]:ss

Отображаемое значение должно быть таким же, как в A1 и B1. Однако B1 будет фактическим значением, которое вы хотите.

7
7
7
2011-01-20 08:58:24 +0000

Время повсеместно вводится в формате Часы:Минуты:Секунды, поэтому вы не можете изменить этот формат записи. Очевидно, что вы можете изменить формат отображения, но, к сожалению, вам придется придерживаться формата записи.

3
Advertisement
3
3
2013-03-05 12:01:12 +0000
Advertisement

Есть решение! Поместите этот VBA код в ваш рабочий модуль, т.е.:

  1. Откройте редактор Visual Basic Editor (Alt-F11)
  2. В левом верхнем углу дерева дважды щелкните по листу, на который вы хотите ввести время
  3. На центральной кодовой панели поместите следующий код.
  4. Закройте VBE

Используйте этот код:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

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

Обратите внимание, что это изменит значение и формат - каждый раз, когда вы вводите либо время - либо что-то, что находится между 0 и 1! Если вы хотите ограничить его определенным столбцом, добавьте эту строку:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

или эту строку, чтобы ограничить его определенным диапазоном

If Target.Column <> 3 Then Exit Sub
2
2
2
2013-09-13 13:09:04 +0000

Самый простой способ отработать отработанные часы

Формат ячейки (A1) hh:mm

Ввод как обычно (07:22)

Формат ячейки (B1) hh:mm

Ввод как обычно (16:00)

Формат ячейки (C1) h:mm

Ввод всех данных в ячейку (C1) следующим образом: =(A1+B1)/60

1
Advertisement
1
1
2017-03-26 06:37:27 +0000
Advertisement

Я считаю, что лучше всего ввести минуты в колонке A, а затем секунды в колонке B. Тогда вы можете суммировать колонки. Все в обычном формате номеров.

Далее конвертируйте секунды > 60 в минуты, разделив сумму в столбце B на 60 и добавьте INT в столбец A Sum и оставьте оставшуюся MOD в столбце B.

В качестве альтернативы вы можете использовать столбец C как десятичное число, имея формулу = (A1+(B1/60)), которая даст десятичные минуты. В нижней части столбца С сделайте сумму, а затем примените формулу для преобразования десятичной части обратно в секунды следующим образом скажем, C22 это то место, где хранится сумма, а затем в C23 введите формулу =MOD(C22,1)*60.

Теперь в A23 введите формулу =INT(C22), чтобы показать Всего минут, включая те, что из суммы в C22.

1
1
1
2017-11-28 06:30:48 +0000

У меня была та же проблема, и вот решение, которое я нашел: Введите формулу с помощью функции TIME, которая создает матрицу времени как =TIME(H,M,S), и отформатируйте ее так, как вам удобно. Вы все равно должны вводить 0 часов каждый раз, потому что математика, но это делает все это бесконечно работоспособным.

0
Advertisement
0
0
2014-03-10 20:34:42 +0000
Advertisement

Решение сверху. При использовании формата h:mm, excel не отпустит вас выше 23. Добавьте скобки к часам в вашем формате [h]:mm и вы свободны перейти выше 23.

Чтобы вычислить значение в секундах, установите ячейку в “общий” формат чисел, а затем введите следующую формулу

=HOUR(A1)*60+MINUTE(A1)
```.
Advertisement

Похожие вопросы

6
13
9
10
5
Advertisement
Advertisement