Как перевести часы и минуты в десятичное число в Excel: 5 рабочих способов

Работаете с тайм-трекингом, расчётом зарплаты или проектными дедлайнами? Перевод времени в десятичный формат — одна из самых востребованных операций в Microsoft Excel и Google Таблицах. Без этого невозможно точно посчитать оплату за переработки, анализировать временные затраты или строить графики производительности. Но многие пользователи сталкиваются с ошибками: Excel воспринимает время как дату, округляет значения или выдаёт странные числа вроде `0,5833` вместо ожидаемых `14 часов`.

В этой статье разберём 5 проверенных способов конвертации — от простейших формул до автоматизированных макросов. Вы узнаете, как избежать типичных ошибок (например, сброса формата при копировании), почему `24:30` преобразуется не в `24.5`, а в `0.0`, и как адаптировать формулы под 12-часовой формат AM/PM. А в конце — бонус: готовая таблица с примерами для разных сценариев.

Если вы никогда не работали с временными данными в Excel, начните с раздела "Почему Excel «не понимает» время" — там объяснено, как программа хранит временные значения внутренне. Опытным пользователям сразу к разделу "Продвинутые формулы" с ТЕКСТ, ЧАС и МИНУТЫ.

Почему Excel «не понимает» время так, как вы ожидаете

Excel оперирует временем как дробной частью суток, где 1 = 24 часа. Например, 12:00 для программы — это 0.5 (половина дня), а 06:000.25. Этот подход унаследован от ранних версий программ для бухгалтерии, где важно было считать интервалы между датами.

Но пользователю чаще нужно не "доля суток", а десятичные часы (например, 8.5 вместо 8:30). Проблема в том, что Excel по умолчанию отображает время в формате чч:мм, а не в виде числа. Если просто изменить формат ячейки на "Общий", вы получите ту самую дробь суток — неудобную для расчётов.

⚠️ Внимание: Если в ячейке отображается ###### после изменения формата, значит, столбец слишком узкий. Растяните его или используйте формат Дробный с 2 знаками после запятой.
  • 🕒 Внутренний формат: Excel хранит дату и время как число дней с 1 января 1900 года. Время — это дробная часть этого числа.
  • ⚙️ Формат отображения: Что вы видите в ячейке (например, 14:45) — это лишь "маска", а не реальное значение.
  • 🔄 Автоматическое преобразование: При вводе 25:30 Excel сбросит его на 01:30 следующего дня, если не использовать специальные форматы.
📊 Как часто вы работаете с временными данными в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Простая формула для часов и минут (без секунд)

Самый универсальный метод — использовать комбинацию функций ЧАС, МИНУТЫ и деление. Формула выглядит так:

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

Где A1 — ячейка с временным значением в формате чч:мм. Например, для 8:45 формула вернёт 8.75.

  • Плюсы: Работает в любых версиях Excel, включая Excel Online и Google Таблицы.
  • Минусы: Не учитывает секунды (но их влияние на десятичный результат минимально).
  • 📌 Пример: Для 15:20 результат — 15.333... (округлите до 2 знаков).
⚠️ Внимание: Если в ячейке A1 текст (например, "8 часов 45 минут"), формула вернёт ошибку #ЗНАЧ!. Сначала преобразуйте текст в время через ВРЕМЯЗНАЧ.

☑️ Подготовка данных для формулы

Выполнено: 0 / 3

Способ 2: Умножение на 24 (самый быстрый метод)

Если вам нужно массово конвертировать столбец с временем, умножьте его на 24:

=A1 * 24

Этот способ работает, потому что Excel хранит время как долю суток. Например:

Время в ExcelФормулаРезультат
06:00=A1*246.00
12:30=A1*2412.50
23:45=A1*2423.75

Лайфхак: Чтобы применить формулу ко всему столбцу, дважды кликните на маркер автозаполнения (маленький квадратик в правом нижнем углу ячейки).

Способ 3: Функция ТЕКСТ для нестандартных форматов

Когда время записано в необычном формате (например, "8ч 30м" или "14-45"), поможет функция ТЕКСТ с разбором строки:

=ТЕКСТ(A1; "[ч]:мм") * 24

Альтернативный вариант для текста типа "8:30" (без ведущего нуля):

=ВРЕМЯЗНАЧ(ПОДСТАВИТЬ(A1; "."; ":")) * 24
  • 🔍 Для чего подходит: Обработка данных из внешних источников (например, экспорт из или CRM-систем).
  • 🛠️ Инструменты: Комбинация ПОДСТАВИТЬ, ВРЕМЯЗНАЧ и ТЕКСТ.
  • ⚠️ Ограничение: Не работает с форматом AM/PM без предварительной обработки.
Как обработать формат "2

30 PM":Используйте формулу:

=ВРЕМЯЗНАЧ(ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1)&" "&ПРАВСИМВ(A1;2)) * 24

Эта формула отделяет время от AM/PM и преобразует в 24-часовой формат.

Способ 4: Пользовательский формат ячеек (без формул)

Если вам нужно только отображение времени в десятичном виде (без расчётов), настройте пользовательский формат:

  1. Выделите ячейки с временем.
  2. Нажмите Ctrl + 1 (или правая кнопка → "Формат ячеек").
  3. Выберите категорию Все форматы.
  4. В поле "Тип" введите: [ч].mm

⚠️ Важно: Этот метод только меняет отображение, но не преобразовывает данные. Если скопировать такие ячейки в другую программу, они останутся в формате времени.

Исходное времяПользовательский форматОтображение
08:15[ч].mm8.15
14:45[ч].mm14.45
2:30 PM[ч].mm AM/PM14.30

Способ 5: VBA-макрос для массовой обработки

Если вам нужно конвертировать тысячи строк, напишите простой макрос:

Sub ConvertTimeToDecimal()

Dim rng As Range

For Each rng In Selection

If IsDate(rng.Value) Then

rng.Value = rng.Value * 24

rng.NumberFormat = "0.00"

End If

Next rng

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите ячейки с временем и запустите макрос (F5).
⚠️ Внимание: Макрос перезапишет исходные данные. Сначала сделайте резервную копию файла или работайте на копии листа.

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

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

  • 🕘 "25:30" становится "01:30": Excel автоматически переносит время за полночь на следующий день. Чтобы этого избежать, используйте формат [ч]:мм.
  • 📉 Округление результатов: Если десятичное число отображается как 8.7 вместо 8.75, увеличьте количество знаков после запятой в формате ячейки.
  • 🔢 Текст вместо времени: Если данные импортированы из CSV, они могут восприниматься как текст. Используйте ВРЕМЯЗНАЧ или ЗНАЧЕН для преобразования.

💡 Совет: Перед массовой обработкой проверьте несколько ячеек вручную. Например, 12:00 должно стать 12.00, а 00:300.50.

FAQ: Ответы на частые вопросы

Можно ли конвертировать обратно — из десятичного числа в часы и минуты?

Да, используйте формулу:

=ТЕКСТ(A1/24; "[ч]:мм")

Где A1 — ячейка с десятичным числом (например, 8.75 станет 8:45).

Почему формула =A1*24 возвращает ошибку #ЗНАЧ!?

Ошибка возникает, если в ячейке A1 не время, а текст. Проверьте формат данных и используйте ВРЕМЯЗНАЧ для преобразования:

=ВРЕМЯЗНАЧ(A1) * 24
Как обработать время с секундами (например, 14:45:30)?

Добавьте в формулу функцию СЕКУНДЫ:

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

Для 14:45:30 результат будет 14.7583... (округлите до нужного количества знаков).

Работает ли это в Google Таблицах?

Да, все формулы из статьи совместимы с Google Sheets, кроме VBA-макроса. Вместо него используйте Apps Script:

function convertTimeToDecimal() {

var sheet = SpreadsheetApp.getActiveSheet();

var range = sheet.getActiveRange();

range.setNumberFormat("0.00");

range.setValues(range.getValues().map(row =>

row.map(cell => typeof cell === 'object' ? cell * 24 : cell)

));

}

Как посчитать разницу между двумя временами в десятичном виде?

Вычтите одно время из другого и умножьте на 24:

=(B1 - A1) * 24

Где A1 — начало интервала, B1 — конец. Например, для 14:00 и 16:30 результат будет 2.5.