Как в Excel сделать актуальную дату: пошаговые инструкции и секреты

Добавление текущей даты в Microsoft Excel или Google Таблицы — одна из самых востребованных операций при работе с отчётами, журналами или планировщиками. Но не все знают, что в Excel есть три принципиально разных подхода к отображению даты: статическая (фиксированная), динамическая (обновляемая) и программная (через макросы). Выбор метода зависит от задачи: нужно ли вам, чтобы дата менялась при каждом открытии файла, или она должна оставаться неизменной после ввода?

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

Далее — подробные инструкции с примерами для разных версий Excel (2010–2023, Office 365) и Google Таблиц, а также ответы на частые вопросы: почему дата не обновляется, как отформатировать её под российские стандарты и можно ли сделать автообновление без формул.

1. Статическая дата: фиксированное значение

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

Самый простой способ — ввести дату вручную в формате ДД.ММ.ГГГГ или ДД-МММ-ГГ (например, 15.05.2026 или 15-май-24). Excel автоматически распознаёт её как дату и применит соответствующее форматирование. Однако есть более быстрые методы:

  • 🔹 Горячие клавиши: нажмите Ctrl + ; (точка с запятой) — Excel вставит текущую дату как статическое значение. Для времени используйте Ctrl + Shift + ;.
  • 📅 Контекстное меню: кликните правой кнопкой по ячейке → Формат ячеек → выберите категорию Дата и укажите нужный формат (например, 14 марта 2026 г.).
  • 📝 Копирование из системы: скопируйте дату из панели задач Windows (кликните по часам) и вставьте в Excel как Значения (через Специальная вставка).

⚠️

Внимание: Статическая дата не обновляется даже при изменении системных часов на компьютере. Если вам позже потребуется актуализировать её, придётся вводить заново или использовать функцию НАЙТИ/ЗАМЕНИТЬ.

Пример использования: ведение журнала звонков, где важно зафиксировать точную дату обращения клиента, независимо от дальнейших изменений в файле.

📊 Какой способ ввода статической даты вы используете чаще?
Горячие клавиши
Ручной ввод
Копирование из системы
Другой вариант

2. Динамическая дата: функция TODAY и NOW

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

  • 📅 =TODAY() — возвращает только дату (без времени). Формат по умолчанию: ДД.ММ.ГГГГ.
  • =NOW() — возвращает дату и время (например, 15.05.2026 14:30:45).

Чтобы изменить формат отображения, выделите ячейку с функцией → Главная → Формат → Формат ячеек → выберите категорию Дата или Время. Например, для TODAY() можно установить формат дд мммм гггг (получаем 15 мая 2026).

⚠️

Внимание: Функции TODAY и NOW пересчитываются при любом изменении в книге, даже если вы редактируете другую страницу. Это может замедлять работу с большими файлами. Чтобы отключить автообновление, перейдите в Формулы → Параметры вычислений → Вручную.

Важно: В Google Таблицах функции называются =ТДАТА() и =СЕЙЧАС(), но работают аналогично.

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

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

3. Комбинированные формулы для гибкого управления датой

Базовые функции TODAY и NOW не всегда покрывают нужды пользователей. Например, как получить дату без учёта выходных или отобразить только день недели? Для этого используйте комбинации функций:

Задача Формула Пример результата
Дата без выходных (пятница → понедельник) =TODAY()+МАКС(МОД(НЕДЕЛЯ(TODAY();2)-5;7);0) Если сегодня суббота (18.05), вернёт 20.05 (понедельник)
Только день недели =ТЕКСТ(TODAY();"dddd") среда
Дата + 30 дней =TODAY()+30 Если сегодня 15.05.2026, вернёт 14.06.2026
Последний день месяца =ДАТА(ГОД(TODAY());МЕСЯЦ(TODAY())+1;0) Для мая 2026 вернёт 31.05.2026

Для работы с часовыми поясами в NOW() добавьте корректировку времени. Например, чтобы отобразить время по Москве (UTC+3) в файле, открытом в Нью-Йорке (UTC-4), используйте:

=NOW()+TIME(7;0;0)

⚠️

Внимание: Формулы с ТЕКСТ (например, для дня недели) возвращают текстовое значение, а не дату. Их нельзя использовать в дальнейших вычислениях (например, для нахождения разницы между датами).
Как получить название месяца на русском?

Используйте формулу =ТЕКСТ(TODAY();"[$-419]мммм"), где [$-419] — идентификатор русского языка. Для сокращённого названия (например, "май") замените мммм на ммм.

4. Автообновление даты по событию (без формул)

Что делать, если дата должна обновляться не при каждом открытии файла, а только при изменении данных в другой ячейке? Например, в отчёте о продажах нужно фиксировать дату последнего обновления цен. Для этого используйте события VBA (только для Excel):

1. Нажмите Alt + F11, чтобы открыть редактор Visual Basic.

2. В окне Project найдите лист, где нужно обновлять дату, и дважды кликните по нему.

3. В выпадающем списке выберите Worksheet_Change и вставьте код:

Private Sub Worksheet_Change(ByVal Target As Range)

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

Range("D1").Value = Date

End If

End Sub

В этом примере дата в ячейке D1 будет обновляться при изменении диапазона B2:B100.

⚠️

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

Для Google Таблиц аналогичную логику можно реализовать через Apps Script:

function onEdit(e) {

if (e.range.getSheet().getName() == "Лист1" && e.range.columnStart == 2) {

e.range.getSheet().getRange("D1").setValue(new Date());

}

}

5. Дата в заголовках и колонтитулах

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

  1. Перейдите на вкладку ВставкаКолонтитулы.
  2. Кликните по области колонтитула, где должна быть дата.
  3. В панели инструментов колонтитулов нажмите Дата (вставляется статическая дата) или Текущая дата (динамическая, обновляется при печати).

Для динамической даты в колонтитуле используйте поле &[Дата] или &[Время]. Эти поля обновляются при каждом открытии файла или печати.

⚠️

Внимание: В Google Таблицах колонтитулы не поддерживают динамические даты. Используйте отдельную ячейку с функцией =ТДАТА() и скрывайте её при печати.

Пример использования: добавление даты создания отчёта в нижний колонтитул для автоматической нумерации версий при печати.

6. Ошибки и решения: почему дата не обновляется?

Частая проблема — функция TODAY() перестала обновляться. Причины и решения:

  • 🔄 Ручной режим пересчёта: Перейдите в Формулы → Параметры вычислений → Автоматически.
  • 📥 Файл открыт в защищённом режиме: Сохраните файл в доверенное расположение или разрешите редактирование.
  • 🕒 Неправильный формат ячейки: Убедитесь, что ячейка отформатирована как Дата, а не Текст.
  • 🖥️ Сбой системных часов: Проверьте настройки даты и времени в Windows/macOS.

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

  1. Выделите ячейку → Формат → Формат ячеек.
  2. Выберите категорию Дата и укажите нужный формат.

Для Google Таблиц аналогичная проблема решается через Формат → Число → Дата.

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

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

Да, для этого используйте комбинацию функций =ЕСЛИ(SECONDS(NOW())=0;TODAY();[предыдущее значение]), но проще написать простой макрос на VBA, который будет обновлять дату при первом открытии файла за день. В Google Таблицах для этого понадобится скрипт с триггером по времени.

Как вставить дату без года (например, "15 мая")?

Используйте формулу =ТЕКСТ(TODAY();"д мммм"). Для английской версии Excel замените мммм на mmmm. Чтобы убрать ведущий ноль у дня, используйте формат "д" вместо "дд".

Почему функция TODAY() возвращает вчерашнюю дату?

Это происходит, если в настройках Windows установлен неправильный часовой пояс или дата на компьютере откачена назад. Проверьте системные часы и синхронизируйте их с сервером времени. Также убедитесь, что в Excel не включён режим Ручной пересчёт.

Как зафиксировать текущую дату в ячейке с формулой?

Выделите ячейку с формулой (например, =TODAY()) → скопируйте её (Ctrl + C) → выполните Специальная вставка → Значения (Ctrl + Alt + V → В). Теперь в ячейке останется статическое значение даты на момент копирования.

Можно ли сделать автообновление даты каждые 5 минут?

В стандартном Excel — нет, так как пересчёт формул происходит только при изменении данных или открытии файла. Для этой задачи нужен макрос с таймером или внешний скрипт. В Google Таблицах можно настроить триггер через Apps Script, который будет обновлять дату по расписанию.