Как конвертировать время в десятичное число в Excel: формулы, примеры и лайфхаки

Работа с временными данными в Microsoft Excel часто требует их преобразования в удобный для анализа формат. Один из самых востребованных сценариев — перевод времени в десятичное число, где часы, минуты и секунды представляются в виде долей суток (например, 12:30 становится 0,520833). Это необходимо для математических операций, построения графиков или интеграции с другими системами, где временные метки должны быть в числовом виде.

Многие пользователи сталкиваются с трудностями при такой конвертации: Excel хранит дату и время как последовательные числа (где 1 = 1 день), но отображение по умолчанию маскирует эту логику. В результате попытки просто умножить время на 24 или использовать стандартное форматирование часто приводят к ошибкам. В этой статье мы разберём 3 надёжных метода преобразования — от ручных до автоматизированных — с учётом нюансов разных версий Excel (включая Excel 365 и Excel 2026).

Особое внимание уделим типичным ошибкам, например, когда после конвертации вместо ожидаемого 8,5 (8 часов 30 минут) получается 0,354167. Разберём, почему так происходит и как исправить. Также покажем, как обработать массивы данных с временем — например, столбец из 1000 строк с временными метками — за несколько кликов.

Если вы работаете с табелями учёта рабочего времени, логистическими отчётами или научными данными, где время нужно суммировать или сравнивать, эта инструкция сэкономит вам часы ручной обработки. Начнём с самого простого способа — использования встроенных функций Excel.

1. Базовый метод: умножение времени на 24

Самый быстрый способ преобразовать время в десятичный формат — умножить ячейку с временным значением на 24. Это работает потому, что Excel хранит время как долю суток: 1 час = 1/24, 1 минута = 1/(24*60) и т.д. Например, 12:00 в Excel равно 0,5 (половина суток), а после умножения на 24 получим 12.

Пошаговая инструкция:

  1. Введите время в ячейку (например, A1) в формате чч:мм или чч:мм:сс.
  2. В соседней ячейке (например, B1) введите формулу:
    =A1*24
  3. Нажмите Enter — Excel автоматически преобразует время в десятичное число часов.

⚠️ Внимание: Если после умножения вы видите дату (например, 45678,5), значит, ячейка с исходным временем имеет формат даты, а не времени. Исправьте это через меню Формат ячеек → Время.

Этот метод подходит для единичных значений, но если у вас столбец с сотнями строк, лучше использовать функцию ЧАС() (о ней — в следующем разделе). Также учтите, что умножение на 24 даёт результат в часах. Чтобы получить минуты или секунды, умножайте на 24*60 или 24*60*60 соответственно.

📊 Какой формат времени вы чаще используете в Excel?
чч:мм (например, 14:30)
чч:мм:сс (например, 14:30:45)
Десятичные часы (например, 8,5)
Другой

2. Функция ЧАС(): точная конвертация с учётом минут

Функция ЧАС() извлекает часы из временного значения, но не учитывает минуты и секунды. Чтобы получить полное десятичное число (например, 8,5 для 8:30), нужно комбинировать её с функциями МИНУТЫ() и СЕКУНДЫ(). Формула будет такой:

=ЧАС(A1) + МИНУТЫ(A1)/60 + СЕКУНДЫ(A1)/3600

Пример работы:

  • 🕒 Для 8:30:00 формула вернёт 8,5 (8 часов и 30 минут = 8,5 часов).
  • ⏱️ Для 15:45:30 результат — 15,75833 (15 часов, 45 минут и 30 секунд).

Этот метод точнее, чем простое умножение, так как явно учитывает все компоненты времени. Однако он требует больше вычислений, что может замедлить работу с большими массивами данных (более 10 000 строк).

Убедитесь, что исходная ячейка имеет формат "Время"|

Проверьте результат на тестовых значениях (например, 12:00 → 12, 00:30 → 0,5)|

Примените формат "Числовой" к ячейке с результатом|

Сравните вывод с ручным расчётом (часы + минуты/60)

-->

3. Функция ВРЕМЗНАЧ(): для текстового формата времени

Если время в вашей таблице хранится как текст (например, результат импорта из CSV или базы данных), стандартные методы не сработают. В этом случае используйте функцию ВРЕМЗНАЧ(), которая преобразует текстовую строку в временной формат Excel, а затем умножайте на 24:

=ВРЕМЗНАЧ(A1)*24

Важные нюансы:

  • 📝 Функция ВРЕМЗНАЧ() распознаёт форматы "чч:мм", "чч:мм:сс", но не работает с "8 часов 30 минут".
  • 🌍 Для корректной работы убедитесь, что региональные настройки Excel совпадают с форматом времени в тексте (например, 24-часовой vs 12-часовой с AM/PM).

⚠️ Внимание: Если после применения ВРЕМЗНАЧ() получаете ошибку #ЗНАЧ!, проверьте текст на наличие лишних символов (пробелов, кавычек) или некорректных разделителей (например, точка вместо двоеточия).

Для массовой обработки текстового времени можно использовать комбинацию ВРЕМЗНАЧ() и ПОДСТАВИТЬ(), если формат нестандартный. Например, для строки "8h30m" формула будет:

=ВРЕМЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"h";":");"m";""))*24

4. Преобразование времени в минуты или секунды

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

Целевой формат Формула Пример (для 2:30)
Десятичные часы =A1*24 2,5
Минуты =A1*1440 или =ЧАС(A1)*60+МИНУТЫ(A1) 150
Секунды =A1*86400 или =ЧАС(A1)*3600+МИНУТЫ(A1)*60+СЕКУНДЫ(A1) 9000

Для обратного преобразования (например, из минут обратно в формат чч:мм) используйте функцию ВРЕМЯ():

=ВРЕМЯ(0;B1;0)

где B1 — ячейка с количеством минут.

5. Автоматизация: пользовательская функция на VBA

Если вы регулярно работаете с временными данными, имеет смысл создать пользовательскую функцию на VBA, которая будет конвертировать время в десятичное число в один клик. Откройте редактор VBA (Alt + F11) и вставьте следующий код в модуль:

Function TimeToDecimal(rng As Range) As Double

TimeToDecimal = rng.Value * 24

End Function

Теперь в Excel можно использовать эту функцию как стандартную:

=TimeToDecimal(A1)

Преимущества метода:

  • 🔄 Работает с массивами: можно применить ко всему столбцу сразу (выделите диапазон и нажмите F2 + Ctrl+Shift+Enter).
  • 📊 Сохраняет точность до секунд, в отличие от ручного умножения.
  • 🔧 Легко модифицировать под свои нужды (например, добавить округление).

⚠️ Внимание: Пользовательские функции VBA не работают в Excel Online и мобильных версиях приложения. Также убедитесь, что макросы разрешены в настройках безопасности (Файл → Параметры → Центр управления безопасностью).

6. Типичные ошибки и как их избежать

Даже опытные пользователи Excel сталкиваются с ошибками при конвертации времени. Вот самые распространённые проблемы и их решения:

  1. Ошибка #ЗНАЧ! при использовании ВРЕМЗНАЧ()
    Причина: Текстовый формат времени не распознаётся (например, "8.30" вместо "8:30").
    Решение: Используйте ПОДСТАВИТЬ() для замены разделителей:
    =ВРЕМЗНАЧ(ПОДСТАВИТЬ(A1; "."; ":")) * 24
  2. Неправильный результат (например, 0,35 вместо 8,5)
    Причина: Ячейка с исходным временем имеет формат Общий или Дата.
    Решение: Примените формат Время (Ctrl + 1 → Время).
  3. Округление результата
    Причина: Excel по умолчанию отображает 2 знака после запятой, но в расчётах использует полную точность.
    Решение: Увеличьте количество десятичных знаков в формате ячейки или используйте ОКРУГЛ():
    =ОКРУГЛ(A1*24; 4)

Почему 24

00 в Excel становится 00:00?:

Excel хранит время как долю суток, где 1 = 24 часа. Поэтому 24:00 автоматически сбрасывается на 00:00 следующего дня. Чтобы избежать этого, используйте десятичный формат (24 часа = 24) или добавьте к времени 1 секунду (23:59:59).

7. Продвинутые сценарии: работа с отрицательным временем и таймзонами

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

Отрицательное время:

Excel по умолчанию не поддерживает отрицательные временные значения. Чтобы обойти это ограничение:

  1. Включите параметр Использовать систему дат 1904 (Файл → Параметры → Дополнительно).
  2. Используйте формулу:
    =ЕСЛИ(A1<0; "- "&ТЕКСТ(-A1;"ч:мм"); A1*24)

    где A1 — ячейка с временной разницей (например, -1:30).

Часовые пояса:

Если нужно учитывать смещение по UTC, добавьте коррекцию к формуле. Например, для перевода времени из UTC+3 в UTC+0:

=(A1 - (3/24))*24

Для работы с летним временем или сложными правилами часовых поясов лучше использовать надстройки вроде Power Query или специализированные функции VBA.

FAQ: Частые вопросы по конвертации времени в Excel

Можно ли преобразовать время в десятичное число без формул?

Да, но это ручной метод:

  1. Скопируйте ячейку с временем (Ctrl + C).
  2. Вставьте её как Значения (Правая кнопка → Специальная вставка → Значения).
  3. Умножьте результат на 24 и примените формат Общий.

⚠️ Этот способ не учитывает минуты и секунды, поэтому подходит только для целых часов.

Почему после умножения на 24 получаю дату вместо числа?

Это означает, что исходная ячейка имеет формат Дата, а не Время. Исправьте формат:

  1. Выделите ячейку → Ctrl + 1.
  2. Выберите категорию Время и укажите нужный тип (например, 13:30).
  3. Повторите умножение на 24.
Как конвертировать время в десятичное число в Google Sheets?

В Google Таблицах используйте те же формулы, что и в Excel:

  • Для часов: =A1*24
  • Для минут: =A1*1440

Отличие только в названиях функций на русском: вместо ЧАС() используйте HOUR(), вместо ВРЕМЗНАЧ()TIMEVALUE().

Можно ли преобразовать массив времени в десятичный формат за один шаг?

Да, с помощью динамических массивов (доступно в Excel 365 и 2021):

=A1:A100*24

Введите формулу в одну ячейку и нажмите Enter — результат автоматически заполнит весь диапазон. Для старых версий Excel используйте Специальную вставку с операцией Умножить.

Как округлить результат до 2 знаков после запятой?

Используйте функцию ОКРУГЛ():

=ОКРУГЛ(A1*24; 2)

Или примените формат ячейки с 2 десятичными знаками (Ctrl + 1 → Числовой → 2 знака).