Как поменять даты в Excel: от формата до содержимого

Если в вашей таблице Excel даты отображаются как числа (например, 45342 вместо 01.03.2026) или в неверном формате (день/месяц перепутаны), проблема кроется в настройках формата ячеек или способе импорта данных. Чаще всего это происходит при копировании дат из внешних источников (CSV, базы данных, веб-страниц), где Excel автоматически преобразует их в числовой или текстовой формат. Прежде чем менять даты вручную, проверьте текущий формат ячеек: выделите столбец с датами, нажмите Ctrl+1 и посмотрите на вкладку Число — если там указан Общий или Текстовый, данные требуют преобразования.

В 90% случаев достаточно применить формат Дата через контекстное меню, но иногда требуются более сложные действия: замена текста на даты (ДАТАЗНАЧ), исправление региональных настроек (например, когда 03.04.2026 воспринимается как 3 апреля в России и 4 марта в США) или даже разбор строк с помощью Power Query. Ниже разберём все сценарии — от базовых до продвинутых, включая обработку ошибок типа #ЗНАЧ! при несовместимых форматах.

1. Базовое изменение формата даты через меню Excel

Самый быстрый способ поменять внешний вид дат — изменить их формат без редактирования содержимого. Это актуально, когда даты уже распознаны как даты (например, при вводе вручную), но отображаются неудобно. Например, вместо 15-мар-2026 вам нужно 15.03.2026 или 15 марта 2026 г..

Инструкция:

  • 📌 Выделите ячейки или столбец с датами.
  • 🖱️ Нажмите правой кнопкой мыши и выберите Формат ячеек (или используйте горячие клавиши Ctrl+1).
  • 📅 Перейдите на вкладку Число → выберите категорию Дата.
  • 🔍 В списке Тип выберите подходящий формат (например, 14.03.2012 или 14 марта 2012 г.).

Если нужного формата нет в списке, создайте свой: в той же вкладке выберите (все форматы) и введите шаблон вручную. Например:

  • дд.мм.гггг15.03.2026
  • д ммм гггг15 мар 2026
  • [$-419]дддд, д мммм гггг г.среда, 15 марта 2026 г. (формат для России, код 419).
⚠️ Внимание: Если после изменения формата ячейки отображают ######, значит, столбец слишком узкий. Растяните его вручную или используйте автоподбор ширины (Двойной клик по правому краю заголовка столбца).

2. Преобразование текста в даты функцией ДАТАЗНАЧ

Когда даты импортированы как текст (например, из CSV или базы данных), Excel не распознаёт их как даты, даже если они выглядят правильно ("01.03.2026"). В этом случае функции вроде ДЕНЬ() или МЕСЯЦ() вернут ошибку #ЗНАЧ!. Решение — использовать функцию ДАТАЗНАЧ, которая преобразует текстовый формат в дату.

Синтаксис:

=ДАТАЗНАЧ(текст_даты)

Примеры:

Исходный текст в ячейке A1 Формула Результат
"15-03-2026" =ДАТАЗНАЧ(A1) 15.03.2026 (формат даты)
"03/15/2026" (американский формат) =ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;"/";"-")) 15.03.2026 (после замены разделителя)
"20260315" (без разделителей) =ДАТАЗНАЧ(ЛЕВСИМВ(A1;4)&"-"&ПСТР(A1;5;2)&"-"&ПСТР(A1;7;2)) 15.03.2026

Если даты хранятся в нестандартном формате (например, "15 марта 2026"), используйте комбинацию функций ДАТА, НАЙТИ и ПСТР для извлечения дня, месяца и года. Пример для формата "дд мммм гггг":

=ДАТА(

ПСТР(A1; НАЙТИ(" "; A1; НАЙТИ(" "; A1)+1)+1; 4); -- год

ПОИСКПОЗ(

ЛЕВСИМВ(ПСТР(A1; НАЙТИ(" "; A1)+1; 3));

{"янв";"фев";"мар";"апр";"май";"июн";"июл";"авг";"сен";"окт";"ноя";"дек"};

0

);

ЛЕВСИМВ(A1; НАЙТИ(" "; A1)-1) -- день

)

⚠️ Внимание: Функция ДАТАЗНАЧ зависит от региональных настроек Excel. Если ваш Excel настроен на американский формат (месяц/день/год), то ДАТАЗНАЧ("03.04.2026") вернёт 3 апреля, а не 4 марта. Чтобы избежать ошибок, используйте ПОДСТАВИТЬ для замены разделителей на дефисы (-), которые ДАТАЗНАЧ интерпретирует однозначно.
Как проверить региональные настройки Excel

Перейдите в Файл → Параметры → Дополнительно → раздел Параметры редактирования. Посмотрите настройку Использовать системные разделители. Если она включена, Excel берёт формат даты из настроек Windows.

3. Замена дней и месяцев местами (например, с MM.DD на DD.MM)

Типичная проблема при импорте данных из американских источников: даты в формате MM/DD/YYYY (например, 03/04/2026 = 3 апреля) автоматически преобразуются в DD.MM.YYYY (4 марта). Чтобы исправить это, нужно либо поменять местами день и месяц вручную, либо использовать формулы.

Способы решения:

  • 🔄 Формула с разбором текста: Если дата хранится как текст ("03/04/2026"), используйте:
    =ДАТА(
    

    ПРАВСИМВ(A1;4); -- год

    ЛЕВСИМВ(A1; НАЙТИ("/"; A1)-1); -- месяц

    ПСТР(A1; НАЙТИ("/"; A1)+1; НАЙТИ("/"; A1; НАЙТИ("/"; A1)+1)-НАЙТИ("/"; A1)-1) -- день

    )

  • 📥 Импорт через Power Query: При импорте CSV в Power Query выберите столбец с датой → Преобразовать → Формат даты → укажите исходный формат (MM/DD/YYYY).
  • 🔧 Настройка региональных параметров: В Панель управления Windows → Регион → Дополнительные параметры измените формат короткой даты на DD.MM.YYYY (требует перезагрузки Excel).

Если даты уже импортированы неверно (например, Excel автоматически конвертировал 03/04/2026 в 04.03.2026), единственный надёжный способ — вернуть исходные данные и повторить импорт с правильными настройками. В противном случае придётся вручную проверять каждую дату на корректность.

📊 Какой формат дат вы используете чаще всего?
DD.MM.YYYY (15.03.2026)
MM/DD/YYYY (03/15/2026)
ДД МММ ГГГГ (15 мар 2026)
Другой

4. Автоматическое исправление дат через "Текст по столбцам"

Инструмент Текст по столбцам полезен, когда даты импортированы как текст в нестандартном формате (например, 20260315 или 15-мар-2026). Он позволяет разделить текст на компоненты (день, месяц, год) и преобразовать их в дату.

Пошаговая инструкция:

  1. Выделите столбец с датами.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. Выберите Фиксированная ширина или С разделителями (в зависимости от формата). Например, для 15.03.2026 укажите разделитель ..
  4. На шаге Формат данных столбца выберите для каждого столбца (день, месяц, год) формат Дата (DMY).
  5. Нажмите Готово — Excel создаст отдельные столбцы, которые затем можно объединить в дату формулой =ДАТА(год; месяц; день).

Пример для даты 15мар2026 (без разделителей):

  1. Используйте Фиксированная ширина и создайте разрывы после 2-го символа (день) и 5-го символа (месяц).
  2. Для столбца с месяцем выберите формат Текст, затем используйте ПОИСКПОЗ для преобразования в номер месяца (как в примере выше).
⚠️ Внимание: Если в исходных данных есть некорректные значения (например, 32.13.2026), Excel автоматически пропустит их или заменит на #ЗНАЧ!. Перед обработкой проверьте данные на ошибки с помощью условного форматирования (Главная → Условное форматирование → Правила выделения ячеек → Текст, содержащий).

🔹 Удалите лишние символы (кавычки, пробелы) с помощью СЖПРОБЕЛЫ и ПОДСТАВИТЬ

🔹 Проверьте длину строк: корректная дата в формате ДД.ММ.ГГГГ всегда имеет 10 символов

🔹 Замените нестандартные разделители (например, или /) на . или -

🔹 Убедитесь, что в столбце нет смешанных форматов (например, 15.03.2026 и 15-мар-2026)

-->

5. Исправление дат, сохранённых как числа (например, 45342)

Excel хранит даты как числа, где 1 соответствует 01.01.1900 (в Windows) или 01.01.1904 (в Mac). Если вы видите в ячейке число вроде 45342, это значит, что Excel интерпретирует его как дату, но применяет формат Общий. Чтобы преобразовать число в дату:

  • 📅 Примените формат Дата к ячейке (как в первом разделе).
  • 🔢 Если число не соответствует ожидаемой дате (например, 45342 должно быть 01.03.2026, но отображается как 12.05.2030), проверьте систему дат:
    1. Перейдите в Файл → Параметры → Дополнительно.
    2. В разделе При пересчёте этой книги убедитесь, что выбрана система дат 1900 (а не 1904).

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

=ДАТА(

ПРАВСИМВ(A1;4); -- год

ПСТР(A1;3;2); -- месяц

ЛЕВСИМВ(A1;2) -- день

)

Для массового преобразования:

  1. Добавьте вспомогательный столбец с формулой выше.
  2. Скопируйте результаты (Копировать → Специальная вставка → Значения).
  3. Примените к новым данным формат Дата.

6. Продвинутые методы: Power Query и VBA

Для обработки больших объёмов данных или сложных форматов (например, "15th March 2026" или "2026-03-15T00:00:00Z") используйте Power Query или VBA.

Способ 1: Power Query (рекомендуется для импорта из CSV/баз данных)

При импорте данных через Данные → Получить данные:

  • 📤 Выберите источник (CSV, SQL, веб и т. д.).
  • 🔍 В окне Power Query выделите столбец с датами.
  • 🛠️ На вкладке Преобразовать выберите Формат даты или Разделить столбец → По разделителю (для нестандартных форматов).
  • 🔄 При необходимости используйте Добавить столбец → Пользовательский столбец для создания новой даты на основе формул.

Пример формулы для Power Query (язык M), преобразующей текст "15-мар-2026" в дату:

= Date.FromText(

Text.Replace([Column1], "янв", "01")

& Text.Replace([Column1], "фев", "02")

& ... // замените все месяцы

, "ru-RU"

)

Способ 2: VBA (для автоматизации)

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

Sub ConvertTextToDate()

Dim rng As Range

For Each rng In Selection

If IsDate(rng.Value) Then

rng.Value = CDate(rng.Value)

rng.NumberFormat = "dd.mm.yyyy"

End If

Next rng

End Sub

Чтобы запустить макрос:

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

7. Ошибки при работе с датами и их решения

Даже после преобразования даты могут отображаться некорректно или возвращать ошибки. Рассмотрим типичные проблемы и способы их устранения.

Ошибка/проблема Причина Решение
#ЗНАЧ! в формулах с датами Ячейка содержит текст, а не дату Используйте ДАТАЗНАЧ или преобразуйте в дату вручную
Даты отображаются как ###### Столбец слишком узкий или отрицательная дата Растяните столбец или проверьте корректность данных
Даты сдвинуты на 4 года (например, 2020 вместо 2026) Используется система дат 1904 вместо 1900 Измените систему дат в параметрах книги (Файл → Параметры → Дополнительно)
День и месяц поменялись местами Региональные настройки Excel (американский формат) Используйте Текст по столбцам или формулы для ручной замены
Даты не сортируются правильно Данные хранятся как текст, а не как даты Преобразуйте в даты с помощью ДАТАЗНАЧ или Power Query

Если после всех манипуляций даты по-прежнему отображаются неверно, проверьте:

  • 🔍 Формат ячейки: Убедитесь, что применён формат Дата, а не Текстовый или Общий.
  • 🌍 Региональные настройки: В Панель управления Windows → Регион проверьте формат короткой даты.
  • 📊 Источник данных: Если даты импортированы из внешнего файла, откройте его в блокноте и проверьте реальный формат (иногда CSV-файлы содержат скрытые символы).

Часто задаваемые вопросы

Почему Excel автоматически меняет мои даты (например, 03.04.2026 превращается в 04.03.2026)?

Это происходит из-за региональных настроек Excel. По умолчанию Excel использует формат даты, заданный в настройках Windows. Если ваша система настроена на американский формат (месяц/день/год), то 03.04.2026 будет интерпретировано как 3 апреля. Решения:

  • Перед вводом дат измените формат ячейки на Текстовый, затем преобразуйте в дату с помощью ДАТАЗНАЧ.
  • Используйте разделитель - вместо . (например, 03-04-2026), так как Excel однозначно распознаёт его как день-месяц-год.
  • Измените региональные настройки Windows на российский формат даты.
Как поменять даты в формате "15 марта 2026 года" на стандартный вид?

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

=ДАТА(

ПРАВСИМВ(A1;4); -- год

ПОИСКПОЗ(

ПСТР(A1; НАЙТИ(" ";A1)+1; 3);

{"янв";"фев";"мар";"апр";"май";"июн";"июл";"авг";"сен";"окт";"ноя";"дек"};

0

);

ЛЕВСИМВ(A1; НАЙТИ(" ";A1)-1) -- день

)

Для английских названий месяцев ("March") замените массив в ПОИСКПОЗ на {"Jan";"Feb";"Mar";...}.

Можно ли автоматически обновлять даты (например, добавлять +1 день к текущей дате)?

Да, используйте формулы с динамическими значениями:

  • =СЕГОДНЯ() — текущая дата (обновляется при открытии файла).
  • =СЕГОДНЯ()+1 — завтрашняя дата.
  • =ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ())+1; ДЕНЬ(СЕГОДНЯ())) — та же дата через месяц.

Чтобы даты не изменялись при пересчёте, скопируйте результаты формул и вставьте как Значения (Ctrl+Shift+V).

Как извлечь из даты только год, месяц или день?

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

  • =ГОД(A1) — возвращает год (например, 2026).
  • =МЕСЯЦ(A1) — номер месяца (112).
  • =ДЕНЬ(A1) — день месяца (131).
  • =ТЕКСТ(A1; "дддд") — название дня недели ("понедельник").

Для извлечения названия месяца: =ТЕКСТ(A1; "мммм")"март".

Почему при копировании дат из Excel в Word они опять становятся числами?

Это происходит из-за особенностей буфера обмена. Решения:

  • Скопируйте даты, затем в Word выберите Специальная вставка → Текст.
  • В Excel преобразуйте даты в текст с нужным форматом: =ТЕКСТ(A1; "дд.мм.гггг"), затем скопируйте результаты.
  • Измените формат ячеек на Текстовый перед копированием.