Как совместить дату и время в Excel: полное руководство с примерами

Работа с датами и временем в Microsoft Excel — одна из самых востребованных задач при анализе данных. Однако многие пользователи сталкиваются с проблемой: как правильно объединить отдельные ячейки с датой и временем в одну временную метку? Например, у вас в колонке A хранится дата (15.05.2026), а в колонке B — время (14:30:00). Как получить единое значение 15.05.2026 14:30:00 без потери формата?

В этой статье мы разберём 5 рабочих методов — от простых формул до автоматизации через VBA. Вы узнаете, как избежать ошибок при конкатенации, почему иногда результат отображается как число, и как настроить корректный формат ячеек. А ещё — уникальный лайфхак для объединения данных из нескольких листов с разными временными зонами.

Если вы работаете с логами, отчётами или планировщиками, умение правильно объединять дату и время сэкономит часы ручной обработки. Давайте разберёмся, как это сделать быстро и без ошибок.

Почему простое объединение текста не работает

Многие пользователи пытаются объединить дату и время через символ & или функцию СЦЕПИТЬ (или CONCATENATE в английской версии). Например:

=A1 & " " & B1

Но результат часто получается некорректным: вместо ожидаемой временной метки Excel показывает число вроде 45412,60417. Почему так происходит?

Дело в том, что Excel хранит даты и время как серийные числа:

  • 📅 Даты — количество дней с 1 января 1900 года (например, 15.05.2026 = 45412).
  • Время — дробная часть дня (например, 14:30:00 = 0,60417).

При простом объединении текста Excel не распознаёт результат как временную метку — он остаётся строкой или числом.

Чтобы получить корректный результат, нужно сложить дату и время как числа, а затем применить правильный формат ячейки. Об этом — в следующем разделе.

📊 Какой версией Excel вы пользуетесь чаще всего?
Excel 2016
Excel 2019
Excel 365
Excel для Mac
Другая

Метод 1: Сложение даты и времени (самый надёжный способ)

Это базовый и универсальный метод, который работает во всех версиях Excel. Алгоритм простой:

  1. Убедитесь, что ячейки с датой и временем имеют формат Дата и Время соответственно.
  2. В новой ячейке используйте формулу сложения:
    =A1 + B1
  3. Примените к результату формат Дата и время (например, дд.мм.гггг чч:мм:сс).

Пример:

Дата (A1)Время (B1)ФормулаРезультат (формат "дд.мм.гггг чч:мм")
15.05.202614:30:00=A1+B115.05.2026 14:30
10.12.202308:15:22=A2+B210.12.2023 08:15
01.01.202623:59:59=A3+B301.01.2026 23:59

Важно! Если в ячейках с временем указаны только часы и минуты (например, 14:30), Excel автоматически подставит секунды как 00. Чтобы избежать этого, используйте формат чч:мм для исходных данных.

Ячейки с датой имеют формат "Дата"|Ячейки со временем имеют формат "Время"|Результат сложения отформатирован как "Дата и время"|Нет лишних пробелов в исходных данных-->

Метод 2: Функция ДАТАВРЕМЯ (для ручного ввода)

Если дата и время хранятся как текст или вам нужно создать временную метку "с нуля", используйте функцию ДАТАВРЕМЯ (англ. DATE + TIME):

=ДАТА(год; месяц; день) + ВРЕМЯ(часы; минуты; секунды)

Пример для 15.05.2026 14:30:00:

=ДАТА(2026; 5; 15) + ВРЕМЯ(14; 30; 0)

Этот метод удобен, если:

  • 📝 Данные вводятся вручную или импортируются из внешних источников.
  • 🔢 Нужно создать временную метку на основе отдельных компонентов (год, месяц, часы и т.д.).
  • 📊 Требуется динамическое обновление даты/времени (например, =ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ()); ДЕНЬ(СЕГОДНЯ()))).
⚠️ Внимание: Функция ДАТАВРЕМЯ как таковая в Excel отсутствует — это комбинация ДАТА и ВРЕМЯ. Не путайте с ДАТАЗНАЧ (англ. DATEVALUE), которая преобразует текст в дату.

Метод 3: Объединение текста с преобразованием в дату

Если дата и время хранятся как текст (например, после импорта из CSV), используйте комбинацию функций ДАТАЗНАЧ и ВРЕМЗНАЧ:

=ДАТАЗНАЧ(A1) + ВРЕМЗНАЧ(B1)

Где:

  • A1 — ячейка с текстовой датой (например, "15.05.2026").
  • B1 — ячейка с текстовым временем (например, "14:30:00").

Этот метод критичен для данных, экспортированных из:

  • 📄 Баз данных (SQL, MySQL).
  • 📥 Лог-файлов (JSON, XML).
  • 📊 Систем аналитики (Google Analytics, Яндекс.Метрика).

Если после применения функции результат отображается как ошибка #ЗНАЧ!, проверьте региональные настройки Excel: формат даты в тексте должен совпадать с системными настройками (например, дд.мм.гггг vs мм/дд/гггг).

Что делать, если ВРЕМЗНАЧ не работает?

Если функция ВРЕМЗНАЧ возвращает ошибку, попробуйте альтернативный вариант:

=ДАТАЗНАЧ(A1) + (ВРЕМЯ(ЛЕВСИМВ(B1;2); ПСТР(B1;4;2); ПСТР(B1;7;2)))

Эта формула извлекает часы, минуты и секунды из текстовой строки времени (формат чч:мм:сс).

Метод 4: Power Query для массового объединения

Если вам нужно объединить дату и время для тысяч строк, ручные формулы неэффективны. В этом случае поможет Power Query (доступен в Excel 2016+ и Excel 365):

  1. Выделите исходные данные и перейдите на вкладку Данные → Получение данных → Из таблицы/диапазона.
  2. В редакторе Power Query выделите колонки с датой и временем.
  3. Перейдите на вкладку Добавить столбец → Пользовательский столбец.
  4. Введите формулу: [Дата] + [Время] (где [Дата] и [Время] — названия ваших колонок).
  5. Назначьте новому столбцу формат Дата/время.
  6. Нажмите Закрыть и загрузить.

Преимущества Power Query:

  • ⚡ Обработка миллионов строк без тормозов.
  • 🔄 Автоматическое обновление при изменении исходных данных.
  • 📂 Возможность объединять данные из нескольких файлов.
⚠️ Внимание: При импорте данных из CSV убедитесь, что колонки с датой/временем распознаны как Дата/Время, а не как текст. В противном случае Power Query не сможет их сложить.

Метод 5: Макрос VBA для автоматизации

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

Sub CombineDateTime()

Dim ws As Worksheet

Dim rng As Range

Dim cell As Range

Dim lastRow As Long

' Укажите имя листа и диапазон с данными

Set ws = ThisWorkbook.Sheets("Лист1")

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

Set rng = ws.Range("A1:B" & lastRow)

' Добавление столбца с объединённой датой/временем

ws.Range("C1").Value = "Дата и время"

For Each cell In rng.Columns(1).Cells

If cell.Row > 1 Then ' Пропускаем заголовок

cell.Offset(0, 2).Value = cell.Value + cell.Offset(0, 1).Value

cell.Offset(0, 2).NumberFormat = "dd.mm.yyyy hh:mm:ss"

End If

Next cell

End Sub

Как это работает:

  • 📌 Макрос берёт данные из колонок A (дата) и B (время).
  • 📌 Результат записывается в колонку C с форматом дд.мм.гггг чч:мм:сс.
  • 📌 Код автоматически определяет последнюю заполненную строку.

Чтобы запустить макрос, нажмите Alt + F8, выберите CombineDateTime и кликните Выполнить.

For Each ws In ThisWorkbook.Worksheets

' Ваш код для каждого листа

Next ws

-->

Распространённые ошибки и как их избежать

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

ОшибкаПричинаРешение
Результат отображается как число (например, 45412,60417)Не применён формат Дата и времяВыделите ячейку → Формат ячеек → выберите дд.мм.гггг чч:мм
Ошибка #ЗНАЧ! в функции ДАТАЗНАЧНекорректный формат текстовой датыПроверьте разделители (точка/косая черта) и порядок дня/месяца
Время сбрасывается на 00:00:00Ячейка со временем отформатирована как текстПримените формат Время или используйте ВРЕМЗНАЧ
Дата смещается на 4 года (например, 1904 вместо 1900)Включён параметр Система дат 1904 (Mac)Перейдите в Файл → Параметры → Дополнительно и снимите галочку
Макрос не работаетОтключены макросы или неверно указаны имена листовВключите макросы в Файл → Параметры → Центр управления безопасностью

Если вы работаете с данными из 1С или SAP, обратите внимание на формат временных меток — они часто содержат миллисекунды (например, 15.05.2026 14:30:00.123). В этом случае используйте формулу:

=ЦЕЛОЕ(A1) + ВРЕМЗНАЧ(ТЕКСТ(B1; "чч:мм:сс"))

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

Как объединить дату и время в Google Sheets?

В Google Sheets используйте ту же логику, что и в Excel, но с английскими функциями:

=A1 + B1

Затем примените формат Date time через меню Format → Number → Date time.

Для текстового формата используйте:

=DATEVALUE(A1) + TIMEVALUE(B1)
Почему после объединения время отображается как 12:00 вместо 14:30?

Скорее всего, у вас включён 12-часовой формат времени. Чтобы исправить:

  1. Выделите ячейку с результатом.
  2. Нажмите Ctrl + 1 (или правая кнопка → Формат ячеек).
  3. Выберите формат 13:30:55 (24-часовой).
Можно ли объединить дату и время из разных книг Excel?

Да, но нужно использовать ссылки на внешние книги. Пример формулы:

=[Книга1.xlsx]Лист1!$A$1 + [Книга1.xlsx]Лист1!$B$1

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

Как вычесть время из объединённой даты?

Если у вас есть временная метка (например, 15.05.2026 14:30) и нужно вычесть 2 часа, используйте:

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

Для вычитания дней:

=A1 - 5
(вычтет 5 дней)
Почему при копировании формулы результат не обновляется?

Проверьте два момента:

  • 🔒 Включён ли в Excel Автоматический пересчёт формул (Формулы → Вычисления → Автоматически).
  • 📎 Используете ли вы абсолютные ссылки (например, $A$1 вместо A1). Замените на относительные.