Работа с временными данными в Microsoft Excel часто требует преобразования единиц измерения — например, когда нужно перевести часы в минуты для расчётов зарплаты, тарификации услуг или анализа временных затрат. На первый взгляд задача кажется тривиальной: умножить на 60. Но в Excel время хранится как дробные числа (где 1 = 24 часа), а пользовательские форматы ячеек добавляют сложности.
Многие сталкиваются с ошибками: формулы возвращают неверные значения, если время введено как текст, или результат отображается в неправильном формате (например, 01:30:00 вместо 90). В этой статье разберём 5 надёжных способов конвертации — от простых арифметических операций до специализированных функций вроде HOUR() и TIMEVALUE(). Также покажем, как избежать типичных ошибок при работе с временными данными.
Особое внимание уделим трем ключевым сценариям:
- 🔹 Преобразование чисел (например,
2,5 часа → 150 минут) - 🔹 Конвертация текстового времени (например,
"1:30" → 90) - 🔹 Работа с форматом времени Excel (например, ячейка с
01:30:00)
1. Базовый метод: умножение на 60
Самый простой способ перевести часы в минуты — умножить значение на 60. Но здесь есть нюансы в зависимости от формата исходных данных.
Если у вас число в ячейке (например, 2,5 означает 2 часа и 30 минут), формула будет такой:
=A1*60
Где A1 — адрес ячейки с часами. Результат: 150 минут.
Если же время введено как текст (например, "2:30"), умножение на 60 не сработает — Excel воспримет это как строку. В таком случае сначала преобразуйте текст в числовой формат времени с помощью функции TIMEVALUE():
=TIMEVALUE(A1)*1440
Почему 1440? Потому что TIMEVALUE возвращает долю суток (где 1 = 24 часа = 1440 минут).
⚠️ Внимание: Если после умножения результат отображается в формате времени (например,02:30:00), измените формат ячейки наОбщийилиЧисловойчерез контекстное меню (Формат ячеек → Числовой).
2. Функция HOUR для выделения часов
Когда время в ячейке представлено в стандартном формате Excel (например, 01:30:00), можно использовать функцию HOUR(), чтобы извлечь часы, а затем умножить их на 60. Но этот метод не учитывает минуты в исходном значении!
Пример:
=HOUR(A1)*60
Если в A1 записано 01:30:00, формула вернёт 60 (только часы × 60), игнорируя 30 минут. Чтобы учесть полное время, комбинируйте HOUR с MINUTE:
=HOUR(A1)*60 + MINUTE(A1)
Этот подход полезен, если нужно разделить часы и минуты для отдельных расчётов. Например, при тарификации, где первые 60 минут оплачиваются по одному тарифу, а последующие — по другому.
Убедитесь, что ячейка с временем имеет формат Время|Проверьте отсутствие лишних символов (например, "ч" или "м")|Если время текстового формата, используйте TIMEVALUE|Для дробных часов (например, 1.5) умножайте на 60 напрямую-->
3. Преобразование текстового времени
Частая проблема — время записано как текст (например, "1 час 30 минут" или "1:30"). В этом случае стандартные функции не сработают. Решения зависят от формата:
Вариант 1. Если текст в формате "ч:мм" (например, "1:30"):
=VALUE(LEFT(A1; FIND(":"; A1)-1))*60 + VALUE(MID(A1; FIND(":"; A1)+1; 2))
Формула извлекает часы до двоеточия и минуты после, затем конвертирует их в числа.
Вариант 2. Если текст в формате "X часов Y минут":
=VALUE(LEFT(A1; FIND(" "; A1)-1))*60 + VALUE(MID(A1; FIND("минут"; A1)-2; 2))
Здесь используем функции LEFT, MID и FIND для parsing'a строки.
⚠️ Внимание: В русскоязычных версиях Excel разделителем аргументов функции является;, а не,. Если формула не работает, проверьте этот момент в настройках региональных стандартов.
| Исходный формат | Пример данных | Формула для конвертации | Результат |
|---|---|---|---|
| Число (2,5 часа) | 2,5 |
=A1*60 |
150 |
| Формат времени Excel | 01:30:00 |
=HOUR(A1)*60 + MINUTE(A1) |
90 |
| Текст "ч:мм" | "1:30" |
=TIMEVALUE(A1)*1440 |
90 |
| Текст "X часов Y минут" | "1 час 30 минут" |
=VALUE(LEFT(A1; FIND(" "; A1)-1))*60 + VALUE(MID(A1; FIND("минут"; A1)-2; 2)) |
90 |
4. Использование функции CONVERT
Excel имеет специализированную функцию CONVERT(), которая умеет переводить единицы измерения, включая время. Синтаксис:
=CONVERT(значение; "hr"; "mn")
Где:
- 🔹
"hr"— часы (hours) - 🔹
"mn"— минуты (minutes)
Пример: если в ячейке A1 записано 2,5, формула =CONVERT(A1; "hr"; "mn") вернёт 150.
Преимущество CONVERT — поддержка обратной конвертации (минут в часы) и других единиц (например, дней в часы). Однако функция не работает с текстом или форматом времени Excel — только с числовыми значениями.
1) Языковые настройки Excel (в русскоязычной версии аргументы могут называться "ч" и "мин").
2) Формат исходной ячейки — он должен быть Общий или Числовой-->
5. Автоматизация с помощью Power Query
Для обработки больших массивов данных (например, импортированных из CSV или баз данных) удобно использовать Power Query. Этот инструмент позволяет преобразовывать столбцы с временем в минуты без формул.
Пошаговая инструкция:
- Выделите таблицу с данными и перейдите на вкладку
Данные → Из таблицы/диапазона. - В редакторе Power Query выделите столбец с временем.
- Перейдите на вкладку
Преобразовать → Формат → Время(если данные текстового формата). - Добавьте пользовательский столбец с формулой
= [ВашСтолбец] * 1440(где1440— количество минут в сутках). - Сохраните и загрузите данные обратно в Excel.
Этот метод особенно полезен, если исходные данные неоднородны (например, смешаны часы и минуты в текстовом формате). Power Query позволяет очищать и стандартизировать их перед конвертацией.
Если вкладка 1. Перейдите в 2. Внизу окна выберите 3. Отметьте флажком В новых версиях Excel (2016+) инструмент называется Что делать, если Power Query не виден в меню?
Power Query отсутствует, её нужно активировать:Файл → Параметры → Надстройки.Управление: Надстройки COM → Перейти.Microsoft Power Query for Excel и нажмите OK.Получить данные (Get & Transform).
6. Типичные ошибки и как их избежать
Даже опытные пользователи Excel сталкиваются с ошибками при конвертации времени. Рассмотрим самые распространённые:
Ошибка 1: Результат в формате времени
Если после умножения на 60 вы видите 02:30:00 вместо 150, проблема в формате ячейки. Исправьте его:
- Выделите ячейку с результатом.
- Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Выберите категорию
ЧисловойилиОбщий.
Ошибка 2: Функция TIMEVALUE возвращает #ЗНАЧ!
Это происходит, если текст в ячейке не распознаётся как время. Проверьте:
- 🔹 Нет лишних пробелов или символов (например,
"1 час30мин"вместо"1:30"). - 🔹 Используется ли двоеточие (
:) как разделитель. - 🔹 Если время в формате
"1ч 30м", замените буквы на двоеточие с помощьюПОИСК/ЗАМЕНА(Ctrl+H).
Ошибка 3: Неправильный десятичный разделитель
В русскоязычных версиях Excel дробные числа вводятся через запятую (2,5), а не точку (2.5). Если формула не работает, замените точку на запятую в настройках:
- Перейдите в
Файл → Параметры → Дополнительно. - В разделе
Параметры редактированияснимите флажокИспользовать системные разделители. - Установите
Разделитель целой и дробной части: ,.
FAQ: Частые вопросы
Как перевести минуты обратно в часы?
Используйте деление на 60:
=A1/60
Если нужно отобразить результат в формате ч:мм, примените пользовательский формат ячейки: [ч]:мм.
Почему формула =A1*60 возвращает дату (например, 43890) вместо минут?
Это означает, что Excel интерпретирует значение в A1 как дату, а не время. Преобразуйте ячейку в числовой формат или используйте =TIMEVALUE(A1)*1440.
Как конвертировать время в формате "1 час 30 минут" без формул?
Разбейте текст на два столбца с помощью Текст по столбцам (Данные → Текст по столбцам), затем:
- Умножьте столбец с часами на 60.
- Добавьте к результату столбец с минутами.
Можно ли автоматически конвертировать время при вводе?
Да, с помощью условного форматирования или VBA-макроса. Например, этот код будет автоматически умножать введённое значение на 60:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
Application.EnableEvents = False
Target.Offset(0, 1).Value = Target.Value * 60
Application.EnableEvents = True
End If
End Sub
Вставьте его в редактор VBA (Alt+F11) для нужного листа.
Как посчитать разницу во времени в минутах?
Если у вас два времени (например, 09:00 и 10:30), вычтите их и умножьте на 1440:
= (B1 - A1) * 1440
Где A1 — начало, B1 — конец. Формат ячеек A1:B1 должен быть Время.