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

Автоматическое заполнение дат в столбцах Microsoft Excel — задача, с которой сталкиваются и новички, и опытные пользователи. Кто-то нуждается в простой последовательности дней для отчётности, кому-то требуются динамические диапазоны с учётом рабочих дней или праздников, а третьим необходимо привязать даты к другим данным в таблице. В этой статье мы разберём 5 способов автозаполнения дат — от базовых до продвинутых, — которые покроют 90% практических сценариев.

Многие ошибочно считают, что для этой задачи обязательно нужны макросы или сложные формулы. На деле же даже стандартные инструменты Excel (автозаполнение, прогрессия, функции ДАТА() и СЕГОДНЯ()) справляются с большинством задач. Главное — понимать логику работы с датами как с числовыми значениями и уметь комбинировать инструменты. Далее вы найдёте пошаговые инструкции с визуальными примерами, типичными ошибками и решениями для Excel 2010–2023 и Excel Online.

Перед тем как перейти к способам, запомните ключевой принцип: в Excel даты хранятся как числа, где 1 соответствует 1 января 1900 года. Это означает, что к датам можно применять арифметические операции (прибавлять/вычитать дни), а также использовать их в формулах как аргументы. Например, ="15.05.2026"+7 вернёт 22.05.2026.

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

1. Автозаполнение дат с помощью маркера заполнения

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

Чтобы заполнить столбец датами с приращением в 1 день:

  1. Введите начальную дату в первую ячейку (например, 01.01.2026).
  2. Наведите курсор на маркер заполнения (крестик в правом нижнем углу ячейки) — он превратится в чёрный плюс.
  3. Зажмите левую кнопку мыши и протяните вниз на нужное количество строк.

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

  • 📅 01.01.2026 и 08.01.2026 → заполнит с шагом в 7 дней.
  • 📅 01.01.2026 и 01.02.2026 → заполнит первое число каждого месяца.
  • 📅 01.01.2026 и 01.01.2026 → заполнит первое января каждого года.
⚠️ Внимание: Если при протягивании маркера даты не изменяются, а просто копируются, проверьте формат ячеек. Выделите столбец → правая кнопка мыши → Формат ячеек → выберите категорию Дата.

2. Прогрессия дат через меню «Заполнить»

Для более гибкого управления последовательностью дат используйте инструмент Прогрессия (доступен в Excel 2010–2019). Он позволяет задавать:

  • 📆 Шаг приращения (день, рабочий день, месяц, год).
  • 📊 Предельное значение (например, заполнить до 31.12.2026).
  • 🔢 Тип прогрессии (арифметическая или геометрическая).

Инструкция:

  1. Введите начальную дату в первую ячейку.
  2. Выделите диапазон ячеек, который нужно заполнить (включая ячейку с начальной датой).
  3. Перейдите на вкладку Главная → группа РедактированиеЗаполнитьПрогрессия.
  4. В открывшемся окне:
    • Выберите по столбцам.
    • Укажите тип Дата.
    • Задайте единицу приращения (например, День или Месяц).
    • Введите шаг (по умолчанию 1).
  • Нажмите ОК.
  • Пример настройки для заполнения столбца первыми числами каждого квартала 2026 года:

    ПараметрЗначение
    Расположениепо столбцам
    ТипДата
    ЕдиницаМесяц
    Шаг3
    Предельное значение01.10.2026

    3. Динамические даты с функциями СЕГОДНЯ() и ДАТА()

    Если вам нужны даты, которые автоматически обновляются при каждом открытии файла (например, для отслеживания актуальных сроков), используйте функции СЕГОДНЯ() и ДАТА(). Эти функции возвращают текущую дату и время на момент пересчёта листа.

    Примеры применения:

    • 📅 =СЕГОДНЯ() — вставит сегодняшнюю дату (обновляется автоматически).
    • 📅 =ДАТА(2026;5;15) — вернёт фиксированную дату 15.05.2026.
    • 📅 =СЕГОДНЯ()+7 — дата через 7 дней от текущей.
    • 📅 =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;1) — первое число следующего месяца.

    Чтобы заполнить столбец динамическими датами с шагом, combine these functions with the fill handle or the ROW() function. For example, to fill a column with dates starting from today and incrementing by 1 day for each row:

    =СЕГОДНЯ()+ROW(A1)-1

    Drag the fill handle down, and each cell will display the current date plus the row number minus one (e.g., row 1: today, row 2: tomorrow, etc.).

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

    ☑️ Проверка динамических дат

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

    4. Автозаполнение дат с учётом рабочих дней

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

    Базовый синтаксис:

    =РАБДЕНЬ(начальная_дата; количество_дней; [праздники])

    Пример: заполнить столбец рабочими днями начиная с 01.01.2026 (понедельник) с шагом в 1 рабочий день:

    1. В ячейку A1 введите 01.01.2026.
    2. В ячейку A2 введите формулу:
      =РАБДЕНЬ($A$1;ROW(A1);)
    3. Протяните маркер заполнения вниз.

    Чтобы исключить праздники, создайте диапазон с датами праздников (например, D1:D10) и укажите его в формуле:

    =РАБДЕНЬ($A$1;ROW(A1);$D$1:$D$10)

    Пример списка праздников для России (2026 год):

    ДатаПраздник
    01.01.2026Новый год
    07.01.2026Рождество
    23.02.2026День защитника Отечества
    08.03.2026Международный женский день
    01.05.2026Праздник Весны и Труда
    Как учитывать региональные праздники?

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

    5. Автоматическое заполнение дат при изменении данных в другом столбце

    Иногда даты нужно заполнять автоматически при добавлении новых записей в таблицу. Например, в столбце A появляются названия задач, а в столбце B должна проставляться текущая дата. Для этого используйте комбинацию функций ЕСЛИ() и СЕГОДНЯ():

    =ЕСЛИ(A1<>"";СЕГОДНЯ();"")

    Разберём, как это работает:

    1. Формула проверяет, пустая ли ячейка A1 (A1<>"").
    2. Если нет — вставляет текущую дату (СЕГОДНЯ()).
    3. Если да — оставляет ячейку пустой ("").

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

    Private Sub Worksheet_Change(ByVal Target As Range)
    

    If Not Intersect(Target, Range("A:A")) Is Nothing Then

    On Error Resume Next

    If Target.Cells(1, 1).Value <> "" Then

    Target.Cells(1, 2).Value = Date

    Else

    Target.Cells(1, 2).ClearContents

    End If

    End If

    End Sub

    Этот код вставляется в модуль листа (нажмите Alt+F11 → выберите нужный лист → вставьте код). Теперь при вводе данных в столбец A в столбце B будет автоматически проставляться текущая дата (фиксированная).

    ⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). При открытии такого файла Excel может показать предупреждение о безопасности — разрешите выполнение макросов, если доверяете источнику файла.

    Типичные ошибки и как их избежать

    При автозаполнении дат пользователи часто сталкиваются с следующими проблемами:

    1. Даты отображаются как числа

    • 🔢 Причина: Ячейки имеют общий формат или формат Числовой.
    • 🔧 Решение: Выделите столбец → правая кнопка мыши → Формат ячеек → выберите категорию Дата и нужный формат (например, 14.03.2001).

    2. Автозаполнение копирует формулу, а не продолжает последовательность

    • 🔢 Причина: В ячейке введена формула (например, =СЕГОДНЯ()), а не статическая дата.
    • 🔧 Решение: Замените формулу на значение (Копировать → Специальная вставка → Значения) или используйте маркер заполнения для двух ячеек с ручным вводом дат.

    3. Даты сбиваются при сортировке

    • 🔢 Причина: Даты введены как текст (например, "01.01.2026" в кавычках).
    • 🔧 Решение: Преобразуйте текст в даты с помощью функции ДАТАЗНАЧ() или инструмента Текст по столбцам (вкладка Данные).

    4. Функция РАБДЕНЬ() игнорирует праздники

    • 🔢 Причина: Диапазон с праздниками неверно указан или содержит ошибки в формате дат.
    • 🔧 Решение: Проверьте, что все даты в диапазоне праздников имеют формат Дата и не содержат текста.

    FAQ: Ответы на частые вопросы

    Как сделать автозаполнение дат с шагом в 1 месяц, но только по рабочим дням?

    Используйте комбинацию функций РАБДЕНЬ() и ДАТАМЕС() (или ЭДАТА() в новых версиях Excel). Пример:

    =РАБДЕНЬ(ДАТАМЕС(A1;1);0)

    Эта формула находит первый рабочий день следующего месяца после даты в ячейке A1.

    Можно ли автоматически заполнять даты в Google Таблицах?

    Да, в Google Sheets доступны аналогичные инструменты:

    • Маркер заполнения (протягивание уголка ячейки).
    • Функции TODAY() (аналог СЕГОДНЯ()) и WORKDAY() (аналог РАБДЕНЬ()).
    • Скрипты Google Apps Script для автоматизации (аналог VBA).

    Отличие: в Google Sheets нет инструмента Прогрессия, но его можно заменить формулами с ROW().

    Как заполнить столбец датами в обратном порядке (от новой к старой)?

    Введите конечную дату в первую ячейку, затем:

    1. В следующую ячейку введите формулу =A1-1 (для уменьшения на 1 день).
    2. Выделите обе ячейки и протяните маркер заполнения вниз.

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

    =ДАТАМЕС(A1;-1)
    Почему при копировании дат в другой файл они становятся числами?

    Это происходит потому, что даты в Excel хранятся как числа. При копировании в текстовые форматы (например, .csv или .txt) форматирование теряется. Решения:

    • Сохраните файл в формате .xlsx.
    • Перед копированием преобразуйте даты в текст с помощью функции ТЕКСТ():
    • =ТЕКСТ(A1;"дд.мм.гггг")
    Можно ли автоматически заполнять даты с учётом часов и минут?

    Да, для этого используйте функции ВРЕМЯ() и СЕЙЧАС(). Примеры:

    • Текущая дата и время: =СЕЙЧАС().
    • Дата с фиксированным временем (например, 9:00): =ЦЕЛОЕ(СЕГОДНЯ())+ВРЕМЯ(9;0;0).
    • Приращение времени на 30 минут: =A1+ВРЕМЯ(0;30;0).

    Для автозаполнения протяните маркер заполнения или используйте формулу с ROW().