Если в вашей таблице 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), единственный надёжный способ — вернуть исходные данные и повторить импорт с правильными настройками. В противном случае придётся вручную проверять каждую дату на корректность.
4. Автоматическое исправление дат через "Текст по столбцам"
Инструмент Текст по столбцам полезен, когда даты импортированы как текст в нестандартном формате (например, 20260315 или 15-мар-2026). Он позволяет разделить текст на компоненты (день, месяц, год) и преобразовать их в дату.
Пошаговая инструкция:
- Выделите столбец с датами.
- Перейдите на вкладку
Данные→Текст по столбцам. - Выберите
Фиксированная ширинаилиС разделителями(в зависимости от формата). Например, для15.03.2026укажите разделитель.. - На шаге Формат данных столбца выберите для каждого столбца (день, месяц, год) формат
Дата (DMY). - Нажмите
Готово— Excel создаст отдельные столбцы, которые затем можно объединить в дату формулой=ДАТА(год; месяц; день).
Пример для даты 15мар2026 (без разделителей):
- Используйте
Фиксированная ширинаи создайте разрывы после 2-го символа (день) и 5-го символа (месяц). - Для столбца с месяцем выберите формат
Текст, затем используйтеПОИСКПОЗдля преобразования в номер месяца (как в примере выше).
⚠️ Внимание: Если в исходных данных есть некорректные значения (например,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), проверьте систему дат:- Перейдите в
Файл → Параметры → Дополнительно. - В разделе При пересчёте этой книги убедитесь, что выбрана система дат
1900(а не1904).
- Перейдите в
Если число в ячейке не соответствует никакой логичной дате (например, 15032026), это значит, что исходные данные были сохранены как текст без разделителей. В этом случае используйте формулу:
=ДАТА(
ПРАВСИМВ(A1;4); -- год
ПСТР(A1;3;2); -- месяц
ЛЕВСИМВ(A1;2) -- день
)
Для массового преобразования:
- Добавьте вспомогательный столбец с формулой выше.
- Скопируйте результаты (
Копировать → Специальная вставка → Значения). - Примените к новым данным формат
Дата.
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
Чтобы запустить макрос:
- Нажмите
Alt+F11для открытия редактора VBA. - Вставьте код выше в новый модуль (
Insert → Module). - Выделите ячейки с датами и запустите макрос (
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)— номер месяца (1–12).=ДЕНЬ(A1)— день месяца (1–31).=ТЕКСТ(A1; "дддд")— название дня недели ("понедельник").
Для извлечения названия месяца: =ТЕКСТ(A1; "мммм") → "март".
Почему при копировании дат из Excel в Word они опять становятся числами?
Это происходит из-за особенностей буфера обмена. Решения:
- Скопируйте даты, затем в
WordвыберитеСпециальная вставка → Текст. - В Excel преобразуйте даты в текст с нужным форматом:
=ТЕКСТ(A1; "дд.мм.гггг"), затем скопируйте результаты. - Измените формат ячеек на
Текстовыйперед копированием.