Как изменить даты в столбцах Excel: от форматов до формул

Работа с датами в Microsoft Excel — одна из самых частых задач при анализе данных, но далеко не всегда пользователи знают, как правильно их редактировать. Вы когда-нибудь сталкивались с ситуацией, когда даты в столбце отображаются как странные числа (например, 45342 вместо 01.01.2026), или нужно массово сдвинуть все даты на месяц вперёд? А может, требуется преобразовать текстовые даты ("январь 2026") в корректный формат для расчётов?

В этой статье мы разберём 7 практических способов изменения дат в столбцах — от базовых операций до продвинутых приёмов с формулами и Power Query. Особое внимание уделим типичным ошибкам, которые превращают даты в бесполезный набор символов, и покажем, как их избежать. Неважно, работаете ли вы в Excel 2010 или Microsoft 365 — решения будут универсальными.

Даты в Excel хранятся как числа (где 1 — это 1 января 1900 года), но отображаются в человекочитаемом формате благодаря настройкам ячейки. Это означает, что любое изменение формата или содержимого может привести к неожиданным результатам. Например, если вы скопируете даты из веб-страницы, они часто импортируются как текст, и их нельзя будет использовать в формулах типа =СЕГОДНЯ()-A1. Мы научим вас распознавать такие случаи и исправлять их за считанные секунды.

📊 Как часто вы работаете с датами в Excel?
Ежедневно
Несколько раз в неделю
Редико
Никогда

1. Изменение формата даты в столбце

Самая простая операция — смена визуального отображения даты без изменения её внутреннего значения. Например, преобразовать 05.12.2023 в 5 декабря 2023 г. или 12/05/2023 (американский формат). Для этого не нужны формулы — достаточно настроек формата ячеек.

Выделите столбец с датами, затем:

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

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

Некоторые форматы зависят от региональных настроек Windows. Например, в российской версии Excel по умолчанию используется формат дд.мм.гггг, а в американской — мм/дд/гггг. Если даты отображаются некорректно (например, 12.05.2023 воспринимается как 12 мая, а не 5 декабря), проверьте региональные настройки в Панель управления Windows.

2. Преобразование текста в дату

Частая проблема: даты импортируются из CSV, PDF или баз данных как текст (например, "01-янв-2026" или "2026/01/15"). Такие значения нельзя отсортировать по дате или использовать в вычислениях. Чтобы исправить это, воспользуйтесь одним из методов:

Способ 1. Функция ДАТАЗНАЧ (DATEVALUE)

Формула преобразует текстовый формат даты в числовой:

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

Где A1 — ячейка с текстовой датой. После этого скопируйте результаты и вставьте их поверх исходных данных через Специальная вставка → Значения.

Способ 2. Текст по столбцам

Если даты имеют разделители (точки, тире, слеши), используйте инструмент Текст по столбцам:

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

⚠️ Внимание: Если в текстовой дате есть опечатки (например, "32 января"), Excel преобразует её в ошибку #ЗНАЧ!. Перед конвертацией проверьте данные на корректность.

Удалить лишние пробелы в ячейках

Проверить отсутствие опечаток (например, "февраля" вместо "февраль")

Унифицировать разделители (заменить "/", "-", "." на один символ)

Убедиться, что все даты полные (например, не "янв-24", а "01.01.2026")-->

3. Массовое изменение дат (сдвиг, добавление дней)

Допустим, вам нужно сдвинуть все даты в столбце на 30 дней вперёд или назад. Вместо ручного редактирования каждой ячейки используйте простые формулы или инструмент Найти и заменить.

Способ 1. Формула со сложением

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

=A1+30

Где A1 — ячейка с исходной датой, а 30 — количество дней для сдвига. Для вычитания используйте отрицательное значение (=A1-15).

Способ 2. Найти и заменить

Если нужно заменить конкретную дату (например, 31.12.2023 на 01.01.2026):

  1. Выделите столбец.
  2. Нажмите Ctrl+H (замена).
  3. В поле Найти введите исходную дату, в поле Заменить на — новую.
  4. Убедитесь, что формат ячеек остался Дата, иначе Excel воспримет введённые значения как текст.

Способ 3. Power Query для сложных преобразований

Если дат много и нужны комплексные изменения (например, прибавить 1 месяц ко всем датам, кроме выходных), используйте Power Query:

  1. Выделите данные → ДанныеИз таблицы/диапазона.
  2. В редакторе Power Query выберите столбец с датами → ПреобразоватьДата.
  3. Используйте команду Добавить столбецПользовательский столбец и введите формулу типа = Date.AddMonths([Дата], 1).
Как прибавить рабочие дни (исключая выходные)?

Используйте функцию РАБДЕНЬ (WORKDAY):

=РАБДЕНЬ(A1; 10)

Где A1 — исходная дата, а 10 — количество рабочих дней для добавления. Чтобы исключить праздники, укажите их диапазон третьим аргументом:

=РАБДЕНЬ(A1; 5; Праздники!A:A)

4. Замена дня, месяца или года в датах

Иногда требуется изменить только часть даты — например, обнулить день до 01 или заменить год на текущий. Для этого подойдут функции ДАТА, ДЕНЬ, МЕСЯЦ и ГОД.

Пример 1. Заменить год на 2026

=ДАТА(2026; МЕСЯЦ(A1); ДЕНЬ(A1))

Формула берёт месяц и день из ячейки A1, но подставляет новый год.

Пример 2. Обнулить день (оставить только месяц и год)

=ДАТА(ГОД(A1); МЕСЯЦ(A1); 1)

Пример 3. Заменить месяц на январь

=ДАТА(ГОД(A1); 1; ДЕНЬ(A1))

⚠️ Внимание: Если в результате замены получается несуществующая дата (например, 31 февраля), Excel автоматически скорректирует её на ближайшую валидную (в этом случае — 03 марта). Чтобы избежать таких ситуаций, предварительно проверьте данные функцией ЕДАТА:

=ЕДАТА(ДАТА(2026;2;31);0)

Если результат отличается от исходной даты, значит, в месяце нет такого дня.

5. Исправление ошибок при работе с датами

Даты в Excel часто ведут себя непредсказуемо. Вот три критических ошибки, которые портят данные, и способы их исправления:

Ошибка 1: Даты отображаются как числа (например, 45342)

Это значит, что ячейка имеет общий формат (Общий или Числовой). Решение:

  1. Выделите ячейки.
  2. Нажмите Ctrl+1 → выберите категорию Дата.
  3. Если даты не изменились, проверьте, не являются ли они текстом (см. раздел 2).

Ошибка 2: Формулы с датами возвращают #ЗНАЧ!

Причины:

  • 🔹 Ячейка содержит текст, а не дату (проверьте функцией ТИП(A1) — если результат 2, это текст).
  • 🔹 Некорректный формат даты (например, 32.01.2026).
  • 🔹 Использование несуществующих дат (например, 29.02.2023 — 2023 год не високосный).

Ошибка 3: Даты сбиваются при экспорте в CSV

При сохранении файла в CSV Excel может преобразовать даты в текст в неожиданном формате (например, 2026-01-15T00:00:00). Чтобы этого избежать:

  • 🔹 Перед экспортом преобразуйте даты в текст с нужным форматом функцией ТЕКСТ:
    =ТЕКСТ(A1; "дд.мм.гггг")
  • 🔹 Сохраняйте файл в формате CSV (Macintosh) или CSV (MS-DOS) — они лучше сохраняют кодировку.

6. Автоматическое обновление дат

Если вам нужны динамические даты, которые обновляются при каждом открытии файла (например, сегодня, конец месяца или через 7 дней), используйте следующие функции:

Текущая дата и время

  • 🔹 =СЕГОДНЯ() — возвращает сегодняшнюю дату (обновляется автоматически).
  • 🔹 =ТДАТА() — текущие дата и время.

Даты относительно сегодняшнего дня

  • 🔹 =СЕГОДНЯ()+7 — дата через неделю.
  • 🔹 =КОНМЕСЯЦА(СЕГОДНЯ();0) — последний день текущего месяца.
  • 🔹 =ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ())+1; 1) — первое число следующего месяца.

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

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

Для сложных задач (например, преобразование дат из нестандартных форматов или обработка тысяч строк) ручные методы неэффективны. В таких случаях поможет Power Query или макросы VBA.

Power Query для массового преобразования

Допустим, у вас даты в формате "15янв2026" или "2026-01-15 14:30:00". Чтобы привести их к стандарту:

  1. Загрузите данные в Power Query (ДанныеИз таблицы/диапазона).
  2. Выделите столбец → ПреобразоватьДата/времяИзвлечьДата.
  3. Если автоматическое распознавание не сработало, используйте Пользовательский столбец с формулой:
    = Date.FromText([YourColumn], "ru-RU")

VBA для автоматизации

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

Sub FirstDayOfMonth()

Dim cell As Range

For Each cell In Selection

If IsDate(cell.Value) Then

cell.Value = DateSerial(Year(cell.Value), Month(cell.Value), 1)

End If

Next cell

End Sub

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

Как запустить VBA, если вкладка "Разработчик" отсутствует?

Перейдите в Файл → Параметры → Настройка ленты и отметьте флажок Разработчик. После этого вкладка появится в главном меню.

FAQ: Частые вопросы по работе с датами в Excel

Почему Excel неправильно сортирует даты (например, 01.12, 02.12, 10.11)?

Это происходит, если даты хранятся как текст. Преобразуйте их в формат Дата (см. раздел 2), и сортировка заработает корректно. Также проверьте, нет ли в данных лишних пробелов или символов.

Как вычесть одну дату из другой, чтобы получить количество дней?

Просто используйте формулу =B1-A1, где A1 и B1 — ячейки с датами. Excel автоматически вернёт разницу в днях. Для месяцев или лет используйте функции РАЗНДАТ:

=РАЗНДАТ(A1; B1; "m")

Где "m" — количество полных месяцев, "y" — полных лет.

Можно ли в Excel хранить дату и время в одной ячейке?

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

  1. Введите дату и время в формате 01.01.2026 14:30.
  2. Настройте формат ячейки как дд.мм.гггг чч:мм.

Для вычислений с такими данными используйте функции ДЕНЬ, МЕСЯЦ, ЧАС, МИНУТЫ.

Как изменить дату на английском (например, "January 15, 2026") на русский формат?

Используйте комбинацию функций ДАТАЗНАЧ и ПОДСТАВИТЬ:

=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "January"; "января"); "February"; "февраля"))

Или преобразуйте через Power Query с заменой названий месяцев на русские.

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

Это происходит из-за конфликта форматов между программами. Перед копированием:

  1. Преобразуйте даты в текст с нужным форматом: =ТЕКСТ(A1; "дд ммм гггг").
  2. Скопируйте полученные текстовые значения.

Или вставляйте данные в Word через Специальная вставкаТекст.