Как вставить в Excel текущую дату формулой: от автоматического обновления до статичных значений

Вставка текущей даты в Microsoft Excel или Google Таблицах кажется простой задачей — пока не сталкиваешься с нюансами. Одни пользователи хотят, чтобы дата обновлялась автоматически при каждом открытии файла, другие — чтобы она оставалась фиксированной после первого ввода. Третьим нужна не только дата, но и точное время. А четвёртые удивляются, почему вместо ожидаемого результата видят ошибку #VALUE! или странные числовые коды вроде 45123.

Эта статья покрывает все сценарии работы с текущей датой в Excel: от базовых функций TODAY() и NOW() до малоизвестных приёмов с комбинациями клавиш и динамическими массивами. Мы разберём, как избежать типичных ошибок, почему дата может "сбиваться" при копировании формул, и как заставить Excel показывать дату в нужном формате — будь то ДД.ММ.ГГГГ, 15 августа 2026 или даже День недели, число.

Если вы работаете с отчётами, где важна актуальность данных, или ведёте журнал событий с привязкой ко времени — эта инструкция сэкономит вам часы на поиск решений. А для тех, кто любит автоматизацию, мы покажем, как связать дату с другими функциями, например, IF или WORKDAY, чтобы создавать умные таблицы с напоминаниями и дедлайнами.

📊 Как часто вы используете даты в Excel?
Ежедневно
Несколько раз в неделю
Редко
Только для отчётов
Никогда

1. Базовые функции для текущей даты: TODAY() и NOW()

Начнём с основ. В Excel есть две ключевые функции для работы с текущими датой и временем:

Функция TODAY() возвращает только дату без времени. Синтаксис простейший — без аргументов:

=TODAY()

При каждом открытии файла или пересчёте формул (F9) дата будет обновляться. Например, если сегодня 15.08.2026, формула покажет именно это значение.

Функция NOW() более "точная" — она возвращает дату и время до секунды:

=NOW()

Результат может выглядеть как 15.08.2026 14:30:45. Обратите внимание: время обновляется не только при открытии файла, но и при любом изменении в таблице (например, если вы введёте данные в другую ячейку).

Чем отличаются эти функции на практике?

  • 📅 TODAY() — идеальна для отчётов, где важна только дата (например, "Сегодняшние продажи").
  • NOW() — подходит для логов с временными метками (например, "Когда был внесён комментарий").
  • ⚡ Обе функции динамические — их значения пересчитываются автоматически.
⚠️ Внимание: Если вы скопируете файл с TODAY() или NOW() на другой компьютер с другим часовым поясом, дата может "сбиться" на ±1 день. Это не ошибка Excel, а особенность работы с локальным временем устройства.

2. Как вставить текущую дату без формул: статичные значения

Иногда нужна дата, которая не будет меняться при открытии файла. Например, для фиксации даты создания документа или подписания договора. В таких случаях формулы TODAY()/NOW() не подходят — они динамические. Вместо них используйте:

Способ 1. Комбинация клавиш

  • 🖥️ Windows: Нажмите Ctrl + ; (точка с запятой) — в ячейку вставится текущая дата как текст.
  • 🍎 Mac: Используйте Command + ;.

Этот метод вставляет дату в формате по умолчанию (обычно ДД.ММ.ГГГГ), но её можно потом отформатировать через Формат ячеек.

Способ 2. Ручное копирование

  1. В любой ячейке введите формулу =TODAY().
  2. Скопируйте ячейку (Ctrl + C).
  3. Выделите целевую ячейку, кликните правой кнопкой и выберите Специальная вставка → Значения.

Так вы "зафиксируете" текущую дату как статичное значение.

Способ 3. Функция DATE() с ручным вводом

Если нужно вставить конкретную дату (не обязательно сегодняшнюю), используйте:

=DATE(2026; 8; 15)

Где 2026 — год, 8 — месяц, 15 — день.

☑️ Проверка статичной даты

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

3. Форматирование даты: как изменить отображение

Excel хранит даты как числа (например, 45123 — это количество дней с 1 января 1900 года), но отображает их в удобном виде. Чтобы изменить формат:

Шаг 1. Выделите ячейку с датой, кликните правой кнопкой и выберите Формат ячеек (или нажмите Ctrl + 1).

Шаг 2. Вкладка Число → Дата. Здесь доступны готовые форматы:

  • 📅 14.03.2012 — стандартный европейский формат.
  • 🗓️ 14-мар-2012 — с сокращённым названием месяца.
  • 📆 14 марта 2012 г. — полный формат с годом.
  • 🕒 14.03.12 13:30 — дата + время (для NOW()).

Шаг 3. Для кастомного формата перейдите во вкладку Все форматы и введите свой шаблон. Примеры:

ФорматПример отображенияКод для Excel
День недели, датаСреда, 15 августаДДДД, Д ММММ
Дата без года15 августаД ММММ
Квартал и годQ3 2026"Q"Т\ ГГГГ
Только месяц прописьюАвгустММММ

Если Excel показывает дату как число (например, 45123), значит ячейка имеет формат Общий. Исправьте это через Формат ячеек → Дата.

4. Динамические даты: как привязать к условиям

Функции TODAY() и NOW() становятся мощнее, если комбинировать их с другими формулами. Рассмотрим практические примеры:

Пример 1. Проверка просроченных задач

Допустим, в столбце A у вас дедлайны, а в столбце B нужно отметить просроченные:

=IF(A2

Формула вернёт "Просрочено", если дата в A2 раньше сегодняшней.

Пример 2. Расчёт дней до события

Чтобы посчитать, сколько дней осталось до даты в ячейке A2:

=A2-TODAY()

Если результат отрицательный — событие уже прошло.

Пример 3. Автоматическое обновление статуса

Создадим динамический статус для проекта:

=CHOSE(

(TODAY()-A2),

"Сегодня дедлайн",

"Просрочено на " & (A2-TODAY()) & " дней",

"Осталось " & (A2-TODAY()) & " дней"

)

Где A2 — ячейка с датой дедлайна.

Пример 4. Дата + рабочие дни

Чтобы узнать дату через 5 рабочих дней (исключая выходные):

=WORKDAY(TODAY(); 5)
⚠️ Внимание: Функция WORKDAY не учитывает праздники. Чтобы их исключить, используйте WORKDAY.INTL с кастомным календарём или добавьте список праздников в третий аргумент.

5. Типичные ошибки и как их исправить

Даже с простыми функциями вроде TODAY() пользователи сталкиваются с ошибками. Разберём самые частые:

Ошибка #1: #VALUE!

Причина: Вы пытаетесь вычесть из даты текст или пустую ячейку. Например:

=A2-TODAY()

где A2 содержит слово "Дедлайн" вместо даты.

Решение: Проверьте формат ячеек (должен быть Дата) или используйте IFERROR:

=IFERROR(A2-TODAY(); "Ошибка данных")

Ошибка #2: Дата отображается как число (например, 45123)

Причина: Ячейка имеет формат Общий или Числовой.

Решение: Кликните правой кнопкой → Формат ячеек → Дата.

Ошибка #3: Дата не обновляется

Причины и решения:

  • 🔄 Автоматический пересчёт отключён: Перейдите в Формулы → Параметры вычислений → Автоматически.
  • 📥 Файл открыт в режиме "Только чтение": Сохраните копию и откройте её.
  • 🖥️ Формула стала статичной: Возможно, вы скопировали ячейку как значение. Введите формулу заново.

Ошибка #4: Неправильный часовой пояс

Если NOW() показывает не ваше локальное время, проверьте настройки Windows/macOS:

  • 🪟 Windows: Параметры → Время и язык → Дата и время.
  • 🍎 Mac: Системные настройки → Дата и время.
Почему Excel считает 1900 год "нулевым"?

В Excel даты хранятся как количество дней с 1 января 1900 года (в Excel для Windows) или с 1 января 1904 года (в Excel для Mac по умолчанию). Это наследие старых версий программы, где такой подход упрощал вычисления. Например, дата 01.01.1900 в Excel равна 1, а 02.01.19002. Исключение: в Mac-версии по умолчанию используется система 1904, где 01.01.1904 = 0. Это может приводить к расхождениям в 4 года при переносе файлов между платформами.

6. Продвинутые приёмы: динамические диапазоны и массивы

Для опытных пользователей: даты в Excel можно использовать в динамических формулах и массивах. Примеры:

Пример 1. Автоматический список дат

Сгенерируем список из 7 дней начиная с сегодняшнего:

=SEQUENCE(7; 1; TODAY(); 1)

Формула вернёт вертикальный массив дат (в Excel 365 и Excel 2021).

Пример 2. Фильтрация по дате

Допустим, у вас таблица с продажами в столбцах A:B (дата и сумма). Чтобы вывести только продажи за последние 30 дней:

=FILTER(A2:B100; A2:A100>=TODAY()-30; "Нет данных")

Пример 3. Условное форматирование по дате

Выделите диапазон с датами, затем:

  1. Перейдите в Главная → Условное форматирование → Создать правило.
  2. Выберите Использовать формулу....
  3. Введите =A1 (где A1 — первая ячейка диапазона).
  4. Задайте красный цвет для просроченных дат.

Пример 4. Дата в заголовке отчёта

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

  1. Перейдите в Вставка → Колонтитулы.
  2. Кликните на верхний колонтитул и вставьте поле Текущая дата.
Важно: Дата в колонтитуле обновляется только при печати или экспорте в PDF, но не при открытии файла.

7. Альтернативы: VBA и Power Query

Если стандартных функций недостаточно, можно автоматизировать работу с датами через VBA или Power Query.

VBA: Вставка даты при открытии файла

Создайте макрос, который будет обновлять дату в конкретной ячейке (например, A1) при каждом открытии книги:

Private Sub Workbook_Open()

Sheets("Лист1").Range("A1").Value = Date

End Sub

Чтобы это заработало:

  1. Нажмите Alt + F11 для открытия редактора VBA.
  2. В окне Project найдите ThisWorkbook и дважды кликните.
  3. Вставьте код выше.
  4. Сохраните файл как .xlsm (с поддержкой макросов).

Power Query: Динамическая дата в импортированных данных

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

  1. Загрузите данные в Power Query (Данные → Получение данных).
  2. Выберите Добавить столбец → Настраиваемый столбец.
  3. Введите формулу = DateTime.LocalNow().
  4. Примените изменения.

Преимущество Power Query: дата будет обновляться при каждом обновлении запроса, но останется статичной между обновлениями.

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

❓ Почему моя дата в Excel показывает 1905 год вместо 2026?

Это известная ошибка, связанная с настройками календаря в Excel для Mac. По умолчанию там используется система дат с 1904 года (а не 1900, как в Windows). Чтобы исправить:

  1. Перейдите в Excel → Настройки → Вычисления.
  2. Снимите галочку с Использовать систему дат 1904.
  3. Пересохраните файл.

Если файл создан в Windows, а открыт на Mac (или наоборот), даты могут сдвигаться на 4 года и 1 день.

❓ Можно ли сделать так, чтобы дата обновлялась раз в день, а не при каждом изменении?

Да, но стандартными средствами Excel — нет. Варианты:

  • 📅 Используйте VBA: создайте макрос, который обновляет дату только один раз в сутки (например, при первом открытии файла).
  • ⏳ В Google Таблицах есть функция =NOW() с ограничением на обновление раз в час, но не в Excel.
  • 🔄 Сохраняйте файл каждый день под новым именем (например, Отчёт_15.08.2026.xlsx).
❓ Как вставить дату без года (например, "15 августа")?

Используйте кастомный формат:

  1. Выделите ячейку с датой.
  2. Нажмите Ctrl + 1.
  3. Во вкладке Число → Все форматы введите Д ММММ.

Для английской версии Excel используйте D MMMM.

❓ Почему при копировании формулы =TODAY() в другую ячейку дата не меняется?

Это нормальное поведение: TODAY() всегда возвращает текущую дату, независимо от того, куда её скопировали. Если вам нужны разные даты (например, TODAY()+1, TODAY()+2), используйте относительные ссылки или функцию SEQUENCE (в новых версиях Excel).

❓ Как вычесть из текущей даты 3 месяца?

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

=EDATE(TODAY(); -3)

Формула вернёт дату, которая была 3 месяца назад. Например, если сегодня 15.08.2026, результат будет 15.05.2026.

Альтернатива для старых версий Excel:

=DATE(YEAR(TODAY()); MONTH(TODAY())-3; DAY(TODAY()))