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

Введение: почему формат дат в Excel часто вызывает проблемы

Работа с датами в Microsoft Excel — одна из самых распространённых задач, с которыми сталкиваются пользователи. Казалось бы, что может быть проще, чем ввести дату в ячейку? Однако на практике многие сталкиваются с тем, что программа автоматически преобразует введённые данные в неожиданный формат, а иногда и вовсе воспринимает их как текст. Например, вместо 01.01.2026 вы видите 45292 или 01-янв, а при попытке отсортировать таблицу даты оказываются в хаотичном порядке.

Проблема усугубляется тем, что Excel хранит даты как числовые значения (количество дней с 1 января 1900 года), а отображает их в зависимости от региональных настроек и формата ячейки. Это означает, что одна и та же дата может выглядеть по-разному на компьютерах с различными языковыми параметрами. Например, 05/06/2026 в американском формате означает 5 июня, а в европейском — 6 мая. Такие нюансы часто приводят к ошибкам в отчётах, графиках и расчётах.

В этой статье мы разберём все возможные способы изменения дат в Excel — от базового ручного редактирования до автоматизированных методов с использованием формул и Power Query. Вы узнаете, как:

  • 🔄 Преобразовать текст в дату (например, "2026-01-15" → 15.01.2026)
  • 📅 Изменить формат отображения даты (длинный, короткий, с временем)
  • 🔢 Исправить ошибки типа #### или некорректную сортировку
  • 📊 Автоматически обновлять даты с помощью формул
  • 🔄 Массово заменить даты в большом диапазоне

Способ 1: ручное изменение формата даты через меню Excel

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

Чтобы изменить формат:

  1. Выделите ячейки с датами (или весь столбец, нажав на его заголовок).
  2. Нажмите правой кнопкой мыши и выберите Формат ячеек... (или используйте сочетание клавиш Ctrl+1).
  3. В открывшемся окне перейдите на вкладку ЧислоДата.
  4. Выберите нужный формат из списка (например, 14.03.2012 или 14 марта 2012 г.).
  5. Нажмите ОК, чтобы применить изменения.

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

  • 📌 дд.мм.гггг01.01.2026
  • 📌 д мmmм гггг1 января 2026
  • 📌 дддд, д мmmмпонедельник, 1 января
📊 Какой формат даты вы используете чаще всего?
ДД.ММ.ГГГГ (01.01.2026)
ММ/ДД/ГГГГ (01/01/2026)
ДД МММ ГГГГ (01 янв 2026)
Другой

⚠️ Внимание: Если после изменения формата в ячейке отображаются символы ####, это означает, что столбец слишком узкий для выбранного формата. Растяните столбец или выберите более компактный формат (например, без указания дня недели).

Способ 2: преобразование текста в дату (если Excel не распознаёт формат)

Частая проблема — Excel воспринимает даты как текст (например, после импорта из CSV или копирования с веб-сайта). В этом случае даты не сортируются правильно, и к ним нельзя применить функции вроде ДАТАМЕС() или РАЗНДАТ(). Распознать текстовые даты можно по выравниванию: по умолчанию текст выравнивается по левому краю, а даты — по правому.

Чтобы преобразовать текст в дату:

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

Альтернативный метод — использовать функцию ДАТАЗНАЧ() (или DATEVALUE() в английской версии). Например, если в ячейке A1 содержится текст "15.01.2026", формула =ДАТАЗНАЧ(A1) преобразует его в дату. Для массового преобразования:

  1. Введите формулу в соседнем столбце (например, =ДАТАЗНАЧ(B2)).
  2. Протяните формулу вниз до конца диапазона.
  3. Скопируйте полученные даты (Ctrl+C) и вставьте их поверх исходных данных с помощью Специальная вставка → Значения.

Текст в ячейке выровнен по правому краю

При двойном клике на ячейку в строке формул отображается дата, а не текст

Функция =ДАТА() работает с ячейкой (например, =ГОД(A1) возвращает год)

Сортировка по столбцу работает корректно-->

⚠️ Внимание: Функция ДАТАЗНАЧ() не работает с форматами дат, содержащими время (например, "15.01.2026 14:30"). В этом случае используйте комбинацию ДАТАЗНАЧ() + ВРЕМЗНАЧ() или разделите дату и время на два столбца.

Способ 3: массовое изменение дат с помощью функции ЗАМЕНИТЬ и НАЙТИ

Если даты в таблице имеют нестандартный формат (например, 2026/01/15 вместо 15.01.2026), их можно привести к единому виду с помощью формул. Предположим, у вас в столбце A даты в формате ГГГГ-ММ-ДД, а нужно ДД.ММ.ГГГГ. Для этого:

  1. В ячейке B1 введите формулу:
    =ДАТА(ЛЕВСИМВ(A1;4); ПСТР(A1;6;2); ПСТР(A1;9;2))

    Эта формула извлекает год (первые 4 символа), месяц (символы 6-7) и день (символы 9-10), затем собирает их в стандартную дату.

  2. Протяните формулу на весь столбец.
  3. Скопируйте результаты и вставьте их поверх исходных данных как значения.

Для более сложных преобразований (например, замены разделителей) используйте функцию ПОДСТАВИТЬ:

  • 🔄 Замена / на .:
    =ПОДСТАВИТЬ(A1; "/"; ".")
  • 🔄 Удаление лишних символов (например, "Дата: 15.01.2026"15.01.2026):
    =ПСТР(A1; НАЙТИ(" "; A1)+1; 10)

Критичный нюанс: если в исходных данных встречаются даты с однозначным днём или месяцем (например, 5.1.2026), Excel может интерпретировать их как текст. Чтобы избежать ошибок, предварительно добавьте ведущие нули с помощью функции ТЕКСТ():

=ТЕКСТ(ДАТАЗНАЧ(ПОДСТАВИТЬ(A1; "."; "/")); "дд.мм.гггг")

Способ 4: автоматическое обновление дат с помощью формул

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

Задача Формула Пример результата
Текущая дата =СЕГОДНЯ() 15.05.2026 (обновляется ежедневно)
Текущая дата + время =ТДАТА() 15.05.2026 14:30
Дата через 30 дней =СЕГОДНЯ()+30 14.06.2026
Последний день месяца =ДАТАМЕС(СЕГОДНЯ();1)-1 31.05.2026
Разница в днях между датами =A2-A1 (где A1 и A2 — даты) 45 (дней)

Для работы с рабочими днями (исключая выходные) используйте функцию РАБДЕНЬ():

=РАБДЕНЬ(СЕГОДНЯ(); 10)

Эта формула вернёт дату через 10 рабочих дней (без учёта суббот и воскресений).

⚠️ Внимание: Функции СЕГОДНЯ() и ТДАТА() пересчитываются при каждом открытии файла или изменении данных. Если вам нужно зафиксировать текущую дату (например, для отчёта), скопируйте результат формулы и вставьте как значение (Ctrl+Shift+V → Значения).

Способ 5: исправление ошибок сортировки и отображения дат

Если даты в таблице отсортированы хаотично или отображаются как числа (например, 45292), проблема кроется в одном из трёх факторов:

  1. Неправильный формат ячеек — Excel воспринимает данные как текст или общее число.
  2. Смешанные форматы — в одном столбце есть и даты, и текст (например, ячейки с ошибками #ЗНАЧ!).
  3. Региональные настройки — Excel использует формат даты, отличный от ожидаемого (например, ММ/ДД/ГГГГ вместо ДД.ММ.ГГГГ).

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

  1. Убедитесь, что все ячейки в столбце имеют формат Дата (см. Способ 1).
  2. Проверьте столбец на наличие скрытых символов или пробелов. Для этого используйте функцию ПЕЧСИМВ():
    =ПЕЧСИМВ(A1)=ДЛСТР(A1)

    Если результат ЛОЖЬ, в ячейке есть непечатаемые символы. Удалите их с помощью СЖПРОБЕЛЫ().

  3. Если даты отображаются как числа (например, 45292), примените к ним формат Дата. Число 45292 соответствует 1 января 2026 года.

Для изменения региональных настроек (если Excel неправильно интерпретирует формат ДД/ММ/ГГГГ):

  1. Перейдите в Файл → Параметры → Дополнительно.
  2. Прокрутите до раздела Параметры редактирования.
  3. Снимите галочку с Автоматически вставлять десятичную запятую.
  4. Нажмите Параметры автозамены... и на вкладке Локализованные параметры выберите нужный формат даты.
Почему Excel показывает даты как ######?

Это означает, что ширина столбца недостаточна для отображения даты в выбранном формате. Растяните столбец или выберите более компактный формат (например, дд.мм.гг вместо дд мmmм гггг). Если проблема сохраняется, проверьте, не установлен ли в ячейке текстовый формат вместо даты.

Способ 6: продвинутые методы (Power Query и VBA)

Для обработки больших объёмов данных или сложных преобразований удобно использовать Power Query (доступен в Excel 2016 и новее). Например, если у вас файл с датами в формате Jan 15, 2026, их можно стандартизировать за несколько кликов:

  1. Выделите диапазон с датами и перейдите на вкладку ДанныеИз таблицы/диапазона (или Получить данные → Из таблицы/диапазона).
  2. В открывшемся редакторе Power Query выделите столбец с датами.
  3. На вкладке Преобразовать выберите Тип данных → Дата (или Дата/время).
  4. Если Excel не распознал формат, нажмите Преобразовать → Формат даты → Выбрать формат и укажите шаблон (например, MMM dd, yyyy для Jan 15, 2026).
  5. Нажмите Закрыть и загрузить, чтобы применить изменения.

Для автоматизации повторяющихся задач (например, ежемесячного обновления дат в отчётах) можно использовать 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 разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов → Включить все макросы). Не запускайте макросы из ненадёжных источников!

FAQ: ответы на частые вопросы о датах в Excel

Как в Excel изменить дату с американского формата (ММ/ДД/ГГГГ) на европейский (ДД.ММ.ГГГГ)?

Если даты уже введены в американском формате (например, 05/06/2026 как 5 июня), используйте функцию ДАТА():

=ДАТА(ПРАВСИМВ(A1;4); ЛЕВСИМВ(A1; НАЙТИ("/"; A1)-1); ПСТР(A1; НАЙТИ("/"; A1)+1; 2))

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

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

Это происходит потому, что Excel хранит даты как числа, а Word не распознаёт формат. Чтобы скопировать даты корректно:

  1. В Excel выделите ячейки с датами и скопируйте их (Ctrl+C).
  2. В Word выберите Специальная вставка → Текст (или Сохранить исходное форматирование).
  3. Если даты всё равно отображаются как числа, предварительно преобразуйте их в текст в Excel с помощью функции =ТЕКСТ(A1; "дд.мм.гггг").
Можно ли в Excel отображать даты на русском языке (например, "15 января")?

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

  1. Выделите ячейки с датами и нажмите Ctrl+1.
  2. В разделе Число → (все форматы) введите шаблон: д мmmм гггг.
  3. Нажмите ОК.

Результат: 15 января 2026 г.. Для сокращённого варианта используйте д мmm гг (15 янв 24).

Как в Excel посчитать количество дней между двумя датами?

Используйте простую формулу вычитания: =A2-A1, где A1 и A2 — ячейки с датами. Для исключения выходных применяйте РАБДЕНЬ():

=РАБДЕНЬ(A1; A2-1)

Чтобы получить разницу в годах, месяцах или днях, используйте РАЗНДАТ():

=РАЗНДАТ(A1; A2; "y")  'разница в годах

=РАЗНДАТ(A1; A2; "m") 'разница в месяцах

=РАЗНДАТ(A1; A2; "d") 'разница в днях

Почему функция СЕГОДНЯ() не обновляется автоматически?

Вероятные причины:

  • 🔄 В настройках Excel установлен ручной режим вычислений (Формулы → Вычисление → Вручную). Верните Автоматически.
  • 🔄 Файл открыт в режиме просмотра (например, из вложения письма). Сохраните файл на диск и откройте его заново.
  • 🔄 Формула введена как текст (проверьте, нет ли перед = апострофа ').