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

Если в вашей таблице Excel дата записана в одном столбце (например, 15.08.2026 или 2026-08-15), а для анализа требуется выделить день, месяц и год в отдельные ячейки, стандартное копирование не сработает — Excel хранит даты как числовые значения. При попытке разделить такую ячейку через Данные → Текст по столбцам без предварительной подготовки вы получите ошибку или некорректный результат. Проблема усугубляется, если даты импортированы из внешних источников (например, или SQL) в нестандартном формате.

В этой статье — 5 проверенных способов разделения дат с учетом форматов ДД.ММ.ГГГГ, ММ/ДД/ГГ, ГГГГ-ММ-ДД и других вариаций. Мы разберем:

  • 🔹 Формулы для извлечения дня, месяца и года (включая ДЕНЬ(), МЕСЯЦ(), ГОД() и текстовые функции).
  • 🔹 Инструмент "Текст по столбцам" — когда он работает, а когда приводит к ошибкам.
  • 🔹 Power Query для автоматического разделения дат при импорте данных.
  • 🔹 VBA-макросы для массовой обработки тысяч строк.
  • 🔹 Ошибки форматирования и как их избежать (например, почему 01.12.2026 может превратиться в 12.01.2026).

1. Разделение даты с помощью формул Excel

Самый универсальный способ — использовать встроенные функции Excel для работы с датами. Они корректно обрабатывают числовое представление дат (где 1 = 01.01.1900) и не зависят от региональных настроек.

Основные функции:

  • 📅 =ДЕНЬ(A1) — возвращает день месяца (от 1 до 31).
  • 📅 =МЕСЯЦ(A1) — возвращает номер месяца (от 1 до 12).
  • 📅 =ГОД(A1) — возвращает год (например, 2026).

Пример для ячейки A1 с датой 15.08.2026:

ФормулаРезультатПояснение
=ДЕНЬ(A1)15День месяца
=МЕСЯЦ(A1)8Август (8-й месяц)
=ГОД(A1)2026Год
=ТЕКСТ(A1;"дд.мм.гггг")"15.08.2026"Преобразование в текстовый формат

Если дата хранится как текст (например, после импорта из CSV), сначала преобразуйте её в дату с помощью =ДАТАЗНАЧ(A1):

=ДЕНЬ(ДАТАЗНАЧ(A1))

=МЕСЯЦ(ДАТАЗНАЧ(A1))

⚠️ Внимание: Если формула возвращает ошибку #ЗНАЧ!, проверьте формат ячейки с исходной датой. Возможно, Excel воспринимает её как текст. Используйте Формат ячеек → Дата для исправления.

2. Инструмент "Текст по столбцам": когда работает, а когда нет

Функция Данные → Текст по столбцам удобна для разделения дат, записанных как текст (например, "15-08-2026" или "15/08/2026"). Однако она не подходит для дат, хранящихся в числовом формате Excel (например, 45123, что соответствует 15.08.2026).

Пошаговая инструкция для текстового формата:

  1. Выделите столбец с датами.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите С разделителямиДалее.
  4. Укажите разделитель (точка, дефис, слеш и т.д.) → Далее.
  5. Выберите формат данных для каждого столбца (Текст или Дата) → Готово.

Проблемы, которые могут возникнуть:

  • 🔴 Если исходная дата в числовом формате, инструмент разобьёт её на отдельные цифры (например, 4 5 1 2 3 вместо 15.08.2026).
  • 🔴 При разделении даты 01.12.2026 Excel может интерпретировать её как 12 января (если в региональных настройках сначала идёт месяц).
⚠️ Внимание: Перед использованием "Текст по столбцам" для дат в формате ДД.ММ.ГГГГ убедитесь, что в настройках Windows (или macOS) установлен формат даты с днём впереди. Иначе месяц и день поменяются местами!
📊 Какой формат даты вы чаще всего встречаете в своих таблицах?
ДД.ММ.ГГГГ
ММ/ДД/ГГГГ
ГГГГ-ММ-ДД
Другой

3. Разделение даты через Power Query (для больших таблиц)

Power Query (доступен в Excel 2016 и новее) — мощный инструмент для обработки данных, включая разделение дат. Его преимущество: обработка тысяч строк без формул и сохранение шагов для повторного использования.

Инструкция:

  1. Выделите таблицу с датами и нажмите Данные → Из таблицы/диапазона (или Получить данные → Из таблицы/диапазона в Excel 2019+).
  2. В открывшемся редакторе Power Query выделите столбец с датой.
  3. Перейдите на вкладку Добавить столбецДата и время → выберите День, Месяц или Год.
  4. Повторите шаг 3 для каждого компонента даты.
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

Пример результата:

Исходная датаДеньМесяцГод
15.08.20261582026
01.12.20261122026

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

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Сохраняет шаги для повторного использования (например, при обновлении данных).
  • 🔹 Автоматически распознаёт форматы дат.
Как исправить ошибку "Недопустимый тип столбца" в Power Query

Если Power Query не распознаёт столбец как дату, выделите его → Преобразовать → Тип данных → Дата. Если ошибка остаётся, используйте Добавить столбец → Пользовательский столбец с формулой = Date.From([ВашСтолбец]).

4. VBA-макрос для массового разделения дат

Если вам нужно разделить даты в тысячах строк и делать это регулярно, напишите простой макрос. Он сэкономит время по сравнению с ручным вводом формул.

Пример кода для разделения даты из столбца A в столбцы B (день), C (месяц), D (год):

Sub SplitDate()

Dim rng As Range

Dim cell As Range

Dim lastRow As Long

' Определяем последнюю заполненную строку в столбце A

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

Set rng = Range("A1:A" & lastRow)

' Добавляем заголовки

Range("B1").Value = "День"

Range("C1").Value = "Месяц"

Range("D1").Value = "Год"

' Разделяем даты

For Each cell In rng

If IsDate(cell.Value) Then

cell.Offset(0, 1).Value = Day(cell.Value) ' День

cell.Offset(0, 2).Value = Month(cell.Value) ' Месяц

cell.Offset(0, 3).Value = Year(cell.Value) ' Год

End If

Next cell

End Sub

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

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

☑️ Подготовка к запуску VBA-макроса

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

5. Разделение даты с нестандартным форматом (например, "15 августа 2026")

Если дата записана в текстовом виде (например, "15 августа 2026" или "Aug 15, 2026"), стандартные функции ДЕНЬ()/МЕСЯЦ() не сработают. В этом случае поможет комбинация текстовых функций:

Пример для формата "15 августа 2026":

=ДЕНЬ(ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"января";"/1/");" ";"/")))  ' День

=МЕСЯЦ(ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"января";"/1/");" ";"/"))) ' Месяц

=ГОД(ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"января";"/1/");" ";"/"))) ' Год

Для английских месяцев (например, "Aug 15, 2026"):

=DATEVALUE(SUBSTITUTE(A1;"Aug";"8/"))

Альтернативный способ — создать таблицу соответствия месяцев:

Месяц на русскомНомер месяцаМесяц на английском
января1Jan
февраля2Feb
марта3Mar

Затем используйте ВПР или XLOOKUP для преобразования текстового месяца в числовой.

6. Ошибки при разделении дат и как их избежать

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

Проблема 1: Дата 01.12.2026 превращается в 12.01.2026.

  • 🔹 Причина: В региональных настройках Windows сначала идёт месяц (ММ/ДД/ГГГГ).
  • 🔹 Решение: Измените формат ячейки на ДД.ММ.ГГГГ или используйте формулы =ДЕНЬ()/=МЕСЯЦ().

Проблема 2: Формула возвращает #ЗНАЧ!.

  • 🔹 Причина: Ячейка содержит текст, а не дату.
  • 🔹 Решение: Преобразуйте текст в дату с помощью =ДАТАЗНАЧ(A1) или "Текст по столбцам".

Проблема 3: После разделения даты отображаются как ######.

  • 🔹 Причина: Столбец слишком узкий для отображения даты.
  • 🔹 Решение: Растяните столбец или измените формат ячейки.

Проблема 4: Год отображается как 1905 вместо 2026.

  • 🔹 Причина: Excel интерпретирует двузначный год (24) как 1924.
  • 🔹 Решение: Используйте четырёхзначный формат года или функцию =ЕСЛИ(ГОД(A1)<100;ГОД(A1)+2000;ГОД(A1)).

7. Автоматизация: как разделить даты при импорте из внешних источников

Если вы регулярно импортируете данные с датами из , SQL, Google Sheets или CSV, настройте автоматическое разделение:

Способ 1: Power Query (рекомендуется)

  • 🔹 При импорте данных выберите столбец с датой → Преобразовать → Тип данных → Дата.
  • 🔹 Затем используйте Добавить столбец → Дата и время → День/Месяц/Год.

Способ 2: Формулы в вспомогательных столбцах

  • 🔹 Создайте отдельный лист с формулами (например, =ДЕНЬ(Лист1!A1)) и свяжите его с основными данными.

Способ 3: Макрос с триггером

  • 🔹 Напишите VBA-макрос, который запускается при открытии файла или изменении данных:
Private Sub Workbook_Open()

Call SplitDate ' Вызов макроса из предыдущего раздела

End Sub

Пример автоматизации для импорта из CSV:

  1. Импортируйте файл через Данные → Из текста/CSV.
  2. В Power Query преобразуйте столбец с датой в тип Дата.
  3. Разделите дату на компоненты (как описано в разделе 3).
  4. Сохраните запрос для автоматического обновления.

FAQ: Частые вопросы по разделению дат в Excel

🔍 Можно ли разделить дату без формул?

Да, с помощью инструмента Текст по столбцам (раздел 2). Однако он работает только для дат, записанных как текст (например, "15.08.2026"). Если дата хранится в числовом формате Excel, сначала преобразуйте её в текст с помощью =ТЕКСТ(A1;"дд.мм.гггг").

🔍 Почему после разделения месяц и день поменялись местами?

Это происходит из-за региональных настроек Windows. Например, в США формат даты по умолчанию — ММ/ДД/ГГГГ, поэтому 01.12.2026 Excel интерпретирует как 1 декабря, а не 12 января. Чтобы исправить:

  1. Измените формат ячейки на ДД.ММ.ГГГГ.
  2. Или используйте формулы =ДЕНЬ() и =МЕСЯЦ(), которые не зависят от региональных настроек.
🔍 Как разделить дату и время (например, 15.08.2026 14:30)?

Используйте функции:

  • =ДЕНЬ(A1) — день.
  • =МЕСЯЦ(A1) — месяц.
  • =ГОД(A1) — год.
  • =ЧАС(A1) — часы.
  • =МИНУТЫ(A1) — минуты.

Или разделите дату и время на два столбца с помощью Текст по столбцам, указав пробел как разделитель.

🔍 Можно ли разделить дату в Google Sheets?

Да, в Google Sheets используются те же функции:

  • =DAY(A1) — день.
  • =MONTH(A1) — месяц.
  • =YEAR(A1) — год.

Также работает инструмент Данные → Разделить текст на столбцы (аналог "Текст по столбцам" в Excel).

🔍 Как объединить разделённые день, месяц и год обратно в дату?

Используйте функцию =ДАТА(Год;Месяц;День). Например, если год в ячейке A1, месяц в B1, а день в C1:

=ДАТА(A1; B1; C1)

Отформатируйте результат как дату (Формат → Число → Дата).