Работа с датами в Microsoft Excel часто требует нестандартных решений — особенно когда нужно объединить две ячейки с датами в одну. Например, у вас в одном столбце хранится дата события, а в другом — время его начала, и требуется получить единое значение типа 15.05.2026 14:30. Или наоборот: разделить дату и время для дальнейшего анализа. В этой статье разберём 5 рабочих способов сцепления дат — от элементарных формул до автоматизации через VBA.
Многие пользователи допускают критическую ошибку: пытаются соединить даты как текст через функцию СЦЕПИТЬ или оператор &. Это приводит к тому, что Excel воспринимает результат как строку, а не как дату — и все последующие вычисления (например, разница между датами) становятся невозможны. Мы покажем, как избежать этой ловушки и получить корректный формат даты/времени, который можно использовать в формулах.
Чаще всего задача сцепления дат возникает в трёх сценариях:
- Объединение даты из одной ячейки и времени из другой (например, 10.03.2026 + 18:45 → 10.03.2026 18:45).
- Склейка двух дат для получения диапазона (например, 01.01.2026–31.12.2026).
- Добавление фиксированного времени ко всем датам в столбце (например, привести все записи к началу дня — 00:00:00).
1. Базовый способ: функция ДАТА + ВРЕМЯ
Самый надёжный метод для объединения даты и времени — использовать функции ДАТА() и ВРЕМЯ() вместе. Этот подход гарантирует, что результат останется в формате даты/времени, а не превратится в текст.
Предположим, в ячейке A2 у вас дата (15.05.2026), а в B2 — время (14:30). Введите в любой ячейке формулу:
=ДАТА(ГОД(A2); МЕСЯЦ(A2); ДЕНЬ(A2)) + ВРЕМЯ(ЧАС(B2); МИНУТА(B2); СЕКУНДА(B2))
Формула разбирает компоненты даты и времени по отдельности, а затем складывает их. Excel автоматически преобразует результат в формат даты/времени. Чтобы отобразить его корректно, примените к ячейке формат дд.мм.гггг чч:мм через меню Главная → Формат ячеек.
✅ Плюсы метода:
- 🔹 Работает даже если дата или время хранятся как текст (Excel автоматически преобразует их).
- 🔹 Результат можно использовать в дальнейших вычислениях (например, вычитать одну дату из другой).
- 🔹 Поддерживает все версии Excel, включая Excel Online.
⚠️ Внимание: Если в ячейке с временем указаны только часы и минуты (например, 14:30), но отсутствуют секунды, используйте упрощённую формулу: =A2 + B2. Excel автоматически сложит дату и время, если обе ячейки имеют правильный формат.
2. Быстрое сложение даты и времени (если форматы корректны)
Если обе ячейки уже отформатированы как дата и время (а не текст), их можно сложить напрямую. Например:
=A2 + B2
Где A2 — дата (10.03.2026), а B2 — время (18:45). Excel воспринимает время как долю суток (например, 18:00 = 0.75), поэтому сложение работает корректно.
📌 Как проверить формат ячейки?
- Выделите ячейку с датой или временем.
- Нажмите
Ctrl + 1(или правой кнопкой →Формат ячеек). - Вкладка
Числодолжна показывать форматДатаилиВремя, а неТекстовый.
Если формат неверный, исправьте его вручную или используйте функцию ДАТАЗНАЧ() для преобразования текста в дату:
=ДАТАЗНАЧ(A2) + ВРЕМЗНАЧ(B2)
Ячейки с датами имеют формат "Дата"|Ячейки со временем имеют формат "Время"|Нет пустых ячеек в диапазоне|Проверено отсутствие текста вместо чисел-->
3. Объединение двух дат в диапазон (текстовый формат)
Иногда требуется не сложить даты, а отобразить их как текстовый диапазон — например, "с 01.01.2026 по 31.12.2026". Для этого используйте функцию ТЕКСТ():
="с " & ТЕКСТ(A2; "дд.мм.гггг") & " по " & ТЕКСТ(B2; "дд.мм.гггг")
Где A2 — начальная дата, B2 — конечная. Формат "дд.мм.гггг" можно заменить на любой другой (например, "mmmm yyyy" для вывода "январь 2026").
🔹 Примеры форматирования:
| Формат | Пример вывода | Описание |
|---|---|---|
"дд ммм" | 15 мая | День и месяц словами |
"дд.мм.гг" | 15.05.24 | Краткий формат |
"ддд, ммм д" | ср, май 15 | День недели + дата |
"мм/гггг" | 05/2026 | Месяц и год |
⚠️ Ограничение: Результат такой формулы — текст, а не дата. Его нельзя использовать в вычислениях (например, нельзя посчитать количество дней между датами). Если нужна рабочая дата, используйте методы из первых двух разделов.
4. Сцепление даты и фиксированного времени
Допустим, у вас есть столбец с датами, и вам нужно ко всем записям добавить одно и то же время — например, 09:00 (начало рабочего дня). Вместо того чтобы вводить время в каждой ячейке, используйте формулу:
=A2 + ВРЕМЯ(9; 0; 0)
Где A2 — ячейка с датой, а ВРЕМЯ(9; 0; 0) задаёт 9 часов 0 минут 0 секунд.
🔹 Варианты фиксированного времени:
- 🕛 Начало дня:
ВРЕМЯ(0; 0; 0)или просто0. - 🕧 Полдень:
ВРЕМЯ(12; 0; 0)или0.5(половина суток). - 🕒 Конец дня:
ВРЕМЯ(23; 59; 59)или0.999988426.
Критическая деталь: если вы добавляете время к дате, которая хранится как текст (например, импортирована из CSV), сначала преобразуйте её в дату с помощью ДАТАЗНАЧ():
=ДАТАЗНАЧ(A2) + ВРЕМЯ(9; 0; 0)
5. Продвинутый метод: объединение через Power Query
Если вам нужно сцепить даты в большом наборе данных (тысячи строк), ручное применение формул неэффективно. В этом случае поможет инструмент Power Query (доступен в Excel 2016 и новее):
📌 Пошаговая инструкция:
- Выделите таблицу с данными.
- Перейдите на вкладку
Данные→Из таблицы/диапазона(илиПолучить данные → Из таблицы/диапазона). - В открывшемся редакторе Power Query выберите столбец с датой, затем нажмите
Добавить столбец → Пользовательский столбец. - Введите формулу:
[Дата] + #time(9, 0, 0)(где
9, 0, 0— часы, минуты, секунды). - Нажмите
Закрыть и загрузить.
✅ Преимущества Power Query:
- 🔹 Обрабатывает миллионы строк без замедления.
- 🔹 Сохраняет шаги преобразования — при обновлении данных формулы применятся автоматически.
- 🔹 Позволяет объединять данные из разных источников (например, даты из Excel + время из CSV).
⚠️ Внимание: В Power Query даты и время указываются с использованием синтаксиса M (язык формул Power Query), а не Excel. Например, текущая дата задаётся какDateTime.LocalNow(), а неСЕГОДНЯ().
Как вернуть данные из Power Query в Excel?
После применения преобразований нажмите Закрыть и загрузить в верхнем левом углу редактора. Excel создаст новый лист с обработанными данными или обновит существующую таблицу. Если нужно обновить данные позже, кликните правой кнопкой по таблице и выберите Обновить.
6. Автоматизация через VBA (для опытных пользователей)
Если вам регулярно приходится сцеплять даты по одному и тому же шаблону, имеет смысл написать макрос на VBA. Например, этот код добавляет ко всем датам в выделенном диапазоне время 14:30:
Sub AddTimeToDates()
Dim cell As Range
For Each cell In Selection
If IsDate(cell.Value) Then
cell.Value = cell.Value + TimeValue("14:30:00")
cell.NumberFormat = "дд.мм.гггг чч:мм"
End If
Next cell
End Sub
🔹 Как использовать макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите ячейки с датами в Excel и запустите макрос (
F5илиRun → Run Sub/UserForm).
📢 Предупреждение: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов) и убедитесь, что в Настройках безопасности (меню Файл → Параметры → Центр управления безопасностью) разрешено выполнение макросов.
Частые ошибки и как их избежать
Даже опытные пользователи Excel сталкиваются с проблемами при работе с датами. Вот топ-5 ошибок и способы их решения:
🔴 Ошибка #1: Результат отображается как число (например, 45342)
- 🔸 Причина: Excel хранит даты как числа (количество дней с 01.01.1900), но не применяет формат даты к ячейке.
- 🔸 Решение: Выделите ячейку →
Ctrl + 1→ выберите форматДата.
🔴 Ошибка #2: Формула возвращает #ЗНАЧ!
- 🔸 Причина: Одна из ячеек содержит текст вместо даты/времени.
- 🔸 Решение: Используйте
ДАТАЗНАЧ()илиВРЕМЗНАЧ()для преобразования текста.
🔴 Ошибка #3: Время сбрасывается на 00:00
- 🔸 Причина: При копировании ячеек Excel иногда теряет формат времени.
- 🔸 Решение: Применяйте
Специальную вставку → Форматыпосле копирования.
🔴 Ошибка #4: Неправильный порядок дня/месяца
- 🔸 Причина: Excel интерпретирует даты по региональным настройкам (например, 01.02 может быть 1 февраля или 2 января).
- 🔸 Решение: Используйте явный формат:
ДАТА(год; месяц; день).
🔴 Ошибка #5: Макрос не работает
- 🔸 Причина: В настройках безопасности заблокированы макросы.
- 🔸 Решение: Включите макросы в
Файл → Параметры → Центр управления безопасностью → Параметры центра....
FAQ: Ответы на популярные вопросы
Можно ли сцепить дату и время без формул?
Да, но результат будет текстом, а не датой. Выделите ячейку с датой, нажмите Ctrl + C, затем выделите ячейку со временем и выберите Главная → Вставить → Специальная вставка → Добавить. Однако для дальнейших вычислений этот метод не подходит — используйте формулы из раздела 1 или 2.
Как разделить объединённую дату и время обратно на два столбца?
Используйте функции:
- Для даты:
=ЦЕЛОЕ(A2)(отбросит дробную часть времени). - Для времени:
=A2 - ЦЕЛОЕ(A2)(вернёт только время).
Затем примените к ячейкам форматы Дата и Время соответственно.
Почему при сложении даты и времени получается неверный результат?
Скорее всего, одна из ячеек имеет неверный формат. Проверьте:
- Ячейка с датой отформатирована как
Дата, а неТекст. - Ячейка со временем отформатирована как
Время. - В ячейках нет скрытых символов (пробелов, апострофов).
Используйте =ТИП(A2) — если результат не 1 (число), данные хранятся как текст.
Как сцепить дату с временной зоной?
Excel не поддерживает временные зоны напрямую. Чтобы учесть смещение, добавьте или вычтите часы вручную:
=A2 + ВРЕМЯ(3; 0; 0) ' Добавляет 3 часа (например, для UTC+3)
Для автоматизации используйте Power Query или VBA с учётом летнего времени.
Можно ли объединить даты из разных книг Excel?
Да, используйте ссылки на внешние книги. Например:
=ДАТАЗНАЧ('[Книга1.xlsx]Лист1'!$A$2) + ВРЕМЗНАЧ('[Книга2.xlsx]Лист2'!$B$2)
Убедитесь, что обе книги открыты, иначе ссылки обнулятся. Для стабильной работы сохраните книги в одной папке.