Как вычесть время из даты и времени в Excel: пошаговая инструкция с примерами

Почему вычитание времени в Excel вызывает сложности?

Работа с датами и временем в Microsoft Excel — одна из самых востребованных, но при этом коварных задач. На первый взгляд всё просто: ввели дату в ячейку, добавили время, а потом попытались вычесть из неё несколько часов или дней. И тут начинаются сюрпризы: вместо корректного результата получаем странные числа, ошибки #ЗНАЧ! или вообще неожиданные даты из прошлого века. В чём же дело?

Проблема кроется в том, как Excel хранит даты и время. Программа воспринимает их не как текст, а как числа: даты — это количество дней с 1 января 1900 года, а время — доля суток (например, 12:00 — это 0.5). Когда вы пытаетесь вычесть время напрямую, Excel может интерпретировать ваши действия не так, как вы ожидаете. Например, вычитание 25 часов из даты без учёта формата ячейки приведёт к ошибке, потому что 25 часов — это больше суток, а Excel по умолчанию не "знает", как с этим работать.

В этой статье мы разберём 5 надёжных способов вычесть время из даты в Excel — от простых арифметических операций до использования функций ВРЕМЯ, ДАТА и ДАТАЗНАЧ. Вы узнаете, как избежать типичных ошибок, почему иногда результат отображается как число, и как автоматизировать вычисления для больших таблиц. А в конце — FAQ с ответами на самые частые вопросы.

📊 Как часто вы работаете с датами и временем в Excel?
Ежедневно
Несколько раз в неделю
Рядом
Первый раз

Способ 1: Простое вычитание времени (если оно меньше 24 часов)

Самый очевидный метод — вычесть время напрямую из ячейки с датой и временем. Он работает, если вычитаемое время не превышает 24 часа. Например, вам нужно узнать, какое время было 5 часов назад.

Допустим, в ячейке A1 у вас записана дата и время: 15.05.2026 14:30. Чтобы вычесть из неё 5 часов, введите в другой ячейке:

=A1-"5:00"

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

  • Плюсы: быстро, не требует дополнительных функций.
  • Минусы: не работает для временных интервалов больше 24 часов (например, вычесть 30 часов).
  • ⚠️ Ловушка: если ячейка с результатом отформатирована как "Общий", вы увидите число вместо даты. Исправляется через Формат ячеек → Дата или Время.

Способ 2: Вычитание больших временных интервалов (более 24 часов)

Если вам нужно вычесть, например, 36 часов или 2.5 дня, простого вычитания будет недостаточно. Здесь пригодятся функции ДАТА и ВРЕМЯ, которые позволяют явно указать, сколько дней, часов и минут вы хотите вычесть.

Предположим, в ячейке A1 у вас 20.05.2026 10:00, и вы хотите узнать, какая дата и время были 36 часов назад. Формула будет такой:

=A1-ВРЕМЯ(36;0;0)

Но этот вариант не сработает, потому что функция ВРЕМЯ не поддерживает значения часов больше 23. Вместо этого используйте комбинацию дней и часов:

=A1-1,5

Здесь 1,5 — это 1.5 дня (36 часов). Альтернативный вариант с разделением на дни и часы:

=A1-ДАТА(0;0;1)-ВРЕМЯ(12;0;0)
⚠️ Внимание: Если вы вычитаете более 31 дня, функция ДАТА(0;0;31) может дать сбой из-за разного количества дней в месяцах. В таких случаях лучше использовать ДАТАМЕС для месяцев или просто вычитать дни как числа (например, =A1-45 для 45 дней).
Вычитаемый интервал Формула Пример для A1=20.05.2026 10:00
48 часов (2 дня) =A1-2 18.05.2026 10:00
30 часов (1 день 6 часов) =A1-1,25 или =A1-1-ВРЕМЯ(6;0;0) 19.05.2026 04:00
7 дней =A1-7 13.05.2026 10:00
1 месяц =ДАТАМЕС(A1;-1) 20.04.2026 10:00

Способ 3: Использование функции ДАТАЗНАЧ для текстового формата

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

Пример: в ячейке A1 текст "2026-05-15 14:30". Чтобы вычесть из него 3 часа, сначала преобразуем текст в дату:

=ДАТАЗНАЧ(ЛЕВСИМВ(A1;10))+ВРЕМЗНАЧ(ПСТР(A1;12;5))-"3:00"

Разберём формулу:

  • 📅 ЛЕВСИМВ(A1;10) — извлекает первые 10 символов (дату 2026-05-15).
  • ПСТР(A1;12;5) — извлекает время (14:30).
  • 🔢 ДАТАЗНАЧ и ВРЕМЗНАЧ преобразуют текст в числовые значения даты и времени.
⚠️ Внимание: Функция ДАТАЗНАЧ распознаёт даты только в формате ГГГГ-ММ-ДД или ДД.ММ.ГГГГ. Если ваш источник использует другой формат (например, ММ/ДД/ГГГГ), сначала измените его с помощью ПОДСТАВИТЬ или ТЕКСТ.

Проверьте формат даты в исходных данных

Преобразуйте текст в дату с помощью ДАТАЗНАЧ/ВРЕМЗНАЧ

Убедитесь, что ячейка с результатом имеет формат "Дата" или "Время"

Тестируйте формулу на 2-3 примерах-->

Способ 4: Вычитание времени с учётом рабочих дней (функция РАБДЕНЬ)

Иногда нужно вычесть не календарные дни, а только рабочие (исключая выходные и праздники). Например, чтобы рассчитать срок выполнения задачи без учёта субботы и воскресенья. Для этого используется функция РАБДЕНЬ.

Допустим, в ячейке A1 указана дата завершения проекта: 25.05.2026. Вам нужно узнать, какая дата была 5 рабочих дней назад. Формула:

=РАБДЕНЬ(A1;-5)

По умолчанию РАБДЕНЬ считает выходными субботу и воскресенье. Если у вас другой график (например, выходной — пятница), укажите его в третьем аргументе:

=РАБДЕНЬ(A1;-5;"1111100")

Здесь "1111100" означает, что рабочие дни — с понедельника по четверг (1), а пятница, суббота и воскресенье (000) — выходные.

Как указать праздничные дни в РАБДЕНЬ?

Функция РАБДЕНЬ поддерживает четвёртый аргумент — диапазон с датами праздников. Например:

=РАБДЕНЬ(A1;-5;"1111100";$D$1:$D$10)

где D1:D10 — список праздничных дат. Excel автоматически пропустит их при расчёте.

Способ 5: Автоматизация с помощью Power Query (для больших данных)

Если вам нужно вычесть время из сотен или тысяч строк, ручной ввод формул станет утомительным. В этом случае поможет инструмент Power Query (доступен в Excel 2016 и новее). Он позволяет создать правило вычитания один раз и применить его ко всему столбцу.

Алгоритм действий:

  1. Выделите таблицу с данными и перейдите на вкладку Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выделите столбец с датой/временем.
  3. Перейдите на вкладку Добавить столбец → Пользовательский столбец.
  4. Введите формулу для вычитания, например:
    [ВашСтолбец] - #duration(0, 5, 0, 0)

    где #duration(дни, часы, минуты, секунды) — вычитаемый интервал (в примере — 5 часов).

  5. Нажмите ОК и загрузите данные обратно в Excel.

Преимущество Power Query в том, что правило вычитания будет применено ко всем строкам автоматически, даже если выlater обновите исходные данные. Кроме того, здесь можно вычитать сложные интервалы (например, 2 дня 3 часа 15 минут) без грязных формул.

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

Даже опытные пользователи Excel иногда сталкиваются с неожиданными результатами при работе с датами. Вот TOP-5 ошибок и способы их решения:

  • 🔄 Результат отображается как число (например, 45212): это внутренний формат хранения дат в Excel. Исправьте формат ячейки на Дата или Время.
  • Ошибка #ЗНАЧ! при вычитании: проверьте, что обе ячейки содержат корректные даты (не текст!). Используйте ДАТАЗНАЧ для преобразования.
  • Неправильный результат при вычитании >24 часов: разделите интервал на дни и часы (например, 30 часов = 1 день + 6 часов).
  • 📅 Дата "сбивается" на 4 года: это баг Excel с 1900 годом (он считает его високосным). Решение — используйте даты после 1900 года или настройте параметры книги (Файл → Параметры → Дополнительно → При переходе на эту книгу: 1904).
  • 🌍 Не учитывается часовой пояс: Excel не хранит информацию о часовых поясах. Если вам нужно работать с UTC или локальным временем, используйте надстройки или VBA.

Критическая деталь: Excel не поддерживает временные зоны напрямую. Если ваши данные привязаны к конкретному поясу (например, UTC+3), все вычисления будут выполняться в "локальном" времени вашей системы. Для корректной работы с разными поясами потребуется ручная корректировка или макросы.

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

Можно ли вычесть время из даты, если оно записано в разных ячейках?

Да. Если дата в ячейке A1, а время в B1, используйте формулу:

=A1+B1-"5:00"

Убедитесь, что ячейка B1 имеет формат Время, иначе Excel воспримет её как текст.

Как вычесть 1 час 30 минут из текущей даты и времени?

Используйте функцию СЕГОДНЯ() для даты и ТДАТА() для даты+времени:

=ТДАТА()-ВРЕМЯ(1;30;0)

Для обновления результата в реальном времени нажмите F9.

Почему после вычитания получается отрицательное время (например, -2:00)?

Это происходит, если результат вычитания "уходит" за полночь предыдущего дня. Чтобы исправить, используйте формулу:

=ЕСЛИ(A1-"5:00"<0;1+A1-"5:00";A1-"5:00")

Или отформатируйте ячейку с результатом как [ч]:мм (пользовательский формат).

Как вычесть время с учётом летнего/зимнего времени?

Excel не поддерживает автоматический переход на летнее/зимнее время. Вам придётся вручную корректировать данные или использовать надстройки (например, Kutools for Excel). Альтернатива — хранить все даты в UTC и конвертировать их при необходимости.

Можно ли вычесть время из даты в Google Sheets?

Да, принципы те же, что и в Excel. Основные отличия:

  • Функция ТДАТА() называется NOW().
  • Для вычитания больших интервалов используйте =A1-TIME(36;0;0) (в Google Sheets TIME поддерживает часы >24).
  • Формат ячеек настраивается через Формат → Число → Дата/Время.