14

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

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

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

8 ответов8

14

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

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

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

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

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

5

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

3

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

  1. Откройте редактор Visual Basic (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

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

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

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

If Target.Column <> 3 Then Exit Sub

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

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
2

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

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

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

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

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

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

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

1

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

Затем переведите секунды> 60 в минуты, разделив сумму в столбце B на 60, добавив INT к сумме столбца A и оставив остаток MOD в столбце B.

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

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

1

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

1

Выделите ячейку (я)/ столбец, который вы хотите в качестве продолжительности, щелкните правой кнопкой мыши на "Формат ячейки". Перейдите в "Custom" и найдите «h:mm», если вы хотите ввести продолжительность в формате часов и минут. Если вы также хотите включить секунды, нажмите «ч: мм: сс». Вы даже можете добавить общую продолжительность после этого.

Надеюсь это поможет.

0

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

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

=HOUR(A1)*60+MINUTE(A1)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .