Работа с датами в Microsoft Excel — одна из самых востребованных задач среди пользователей. Нужно ли проставить сегодняшнюю дату в отчёте, автоматизировать заполнение таблицы или настроить динамическое обновление временных меток — без знания нюансов не обойтись. Проблема в том, что Excel предлагает сразу несколько способов вставки текущей даты, и каждый из них ведёт себя по-разному. Одни методы фиксируют значение раз и навсегда, другие обновляются при каждом открытии файла, а третьи требуют ручного запуска.
Если вы когда-нибудь сталкивались с ситуацией, когда дата в ячейке «застыла» и не меняется, несмотря на прошедшие дни, или наоборот — документ вдруг начал показывать неверное время после сохранения, эта статья поможет разобраться в причинах. Мы рассмотрим 5 основных способов вставки текущей даты (включая горячие клавиши и формулы), научимся настраивать автоматическое обновление и избегать типичных ошибок при работе с временными данными.
Особое внимание уделим различию между статической (неизменяемой) и динамической (обновляемой) датами — этот нюанс часто становится источником путаницы. Например, функция TODAY будет показывать актуальную дату при каждом открытии файла, а комбинация клавиш Ctrl+; зафиксирует значение навсегда. Какой вариант выбрать — зависит от вашей задачи.
1. Горячие клавиши: самый быстрый способ вставить текущую дату
Если вам нужно однократно вставить сегодняшнюю дату без привязки к формулам, используйте сочетания клавиш. Это самый простой метод, не требующий знания функций или настроек.
Для вставки текущей даты нажмите:
Ctrl +;
Для вставки текущего времени:
Ctrl + Shift +;
Для вставки даты и времени одновременно:
Ctrl +; → Пробел → Ctrl + Shift +;
Эти значения будут зафиксированы в ячейке навсегда — они не изменятся при пересчёте формул или открытии файла позже. Такой подход идеален для логов, журналов или отчётов, где важно сохранить дату создания записи.
- ✅ Плюсы: мгновенное выполнение, не требует формул, работает во всех версиях Excel.
- ❌ Минусы: дата не обновляется автоматически, при ошибке ввода придётся вводить заново.
- ⚙️ Нюанс: если ячейка была отформатирована как текст, дата вставится как строка (например,
"14.05.2026"вместо числа). Чтобы исправить, измените формат наДата.
2. Функция TODAY: динамическая дата, обновляемая при открытии файла
Функция =TODAY возвращает текущую дату, которая автоматически обновляется каждый раз при открытии книги или пересчёте формул. Это идеальный вариант для отчётов, где всегда должна отображаться актуальная дата (например, «на дату формирования»).
Синтаксис простой:
=TODAY
Функция не требует аргументов. Она вернёт дату в числовом формате (например, 45412), но Excel отобразит её как дату согласно формату ячейки.
- 📅 Пример использования:
=TODAY-30— вернёт дату, которая была 30 дней назад. - ⏳ Обновление: происходит при открытии файла, ручном пересчёте (
F9) или изменении зависимых ячеек. - 🚫 Ограничение: не показывает время — только дату. Для даты и времени используйте
=NOW.
⚠️ Внимание: Если файл Excel открыт постоянно (например, на сервере), функцияTODAYне будет обновляться, пока не произойдёт пересчёт. Чтобы принудительно обновить, нажмитеF9или перейдите вФормулы → Вычислить сейчас.
Чтобы отключить автоматическое обновление (например, для архивных файлов), переведите книгу в режим ручного пересчёта:
Формулы → Параметры вычислений → Вручную
Почему TODAY показывает вчерашнюю дату?
Если ваш системный календарь на компьютере настроен неправильно (например, из-за сбоя синхронизации времени), Excel будет брать данные оттуда. Проверьте настройки даты и времени в Windows/macOS. Также проблема может возникать при открытии файла в Excel Online — там иногда наблюдается задержка обновления.
3. Функция NOW: текущие дата и время с секундами
Если вам нужна не только дата, но и точное время (включая часы, минуты и секунды), используйте функцию =NOW. Она работает аналогично TODAY, но возвращает полную временную метку.
Синтаксис:
=NOW
Пример вывода: 14.05.2026 15:30:45.
Как и TODAY, функция обновляется при открытии файла или пересчёте. Однако есть ключевое отличие: NOW учитывает системное время компьютера, поэтому если вы работаете с файлом в разных часовых поясах, значения могут отличаться.
| Функция | Возвращает | Обновляется | Формат по умолчанию |
|---|---|---|---|
TODAY |
Только дату | При открытии/пересчёте | дд.мм.гггг |
NOW |
Дата + время | При открытии/пересчёте | дд.мм.гггг чч:мм:сс |
Ctrl+; |
Только дату | Никогда | Зависит от региональных настроек |
Чтобы извлечь из NOW только время, используйте формулу:
=NOW-TODAY
Это вернёт значение времени в формате чч:мм:сс.
4. Настройка автоматического обновления даты без формул (VBA)
Если вам нужно, чтобы дата обновлялась не только при открытии файла, но и, например, каждые 5 минут, стандартные функции Excel не помогут. Здесь пригодится макрос VBA. Этот метод подходит для создания «живых» дашбордов или мониторинговых панелей.
Чтобы настроить автоматическое обновление:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте новый модуль:
Вставка → Модуль. - Скопируйте следующий код:
Sub AutoUpdateDateRange("A1").Value = Now
Application.OnTime Now + TimeValue("00:05:00"),"AutoUpdateDate"
End Sub
- Запустите макрос один раз (клавиша
F5), и он будет обновлять ячейкуA1каждые 5 минут.
⚠️ Внимание: Макросы работают только при открытом файле Excel. Если закрыть книгу, обновление прекратится. Также убедитесь, что макросы разрешены в настройках безопасности (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов).
Чтобы остановить автоматическое обновление, добавьте в модуль процедуру:
Sub StopAutoUpdate
On Error Resume Next
Application.OnTime Now + TimeValue("00:05:00"),"AutoUpdateDate",, False
End Sub
Включить вкладку"Разработчик" в ленте Excel|Разрешить выполнение макросов в настройках безопасности|Сохранить файл в формате.xlsm (с поддержкой макросов)|Проверить, что ячейка для даты не защищена от изменений-->
5. Форматирование даты: как изменить отображение
По умолчанию Excel отображает дату в формате, заданном в региональных настройках Windows. Однако вы можете изменить её внешний вид без изменения самого значения. Например, преобразовать 14.05.2026 в 14 мая 2026 г. или May-14.
Способы форматирования:
- 📑 Через ленту: Выделите ячейку →
Главная → Формат → Форматировать ячейки → Числовой формат → Дата. - 🖱️ Контекстное меню: ПКМ по ячейке →
Формат ячеек → Дата. - 🔤 Пользовательский формат: В окне
Формат ячееквыберитеВсе форматыи введите шаблон, например:[$-419]д ммм гггг;@(отобразит
14 мая 2026).
Примеры пользовательских форматов:
| Формат | Пример вывода | Описание |
|---|---|---|
д.м.гггг |
14.5.2026 |
Краткий формат без ведущих нулей |
дддд, мммм д, гггг |
вторник, Май 14, 2026 |
Полный формат с днём недели |
м/гг |
5/24 |
Месяц и год (для квартальных отчётов) |
Если дата отображается как число (например, 45412), значит ячейка имеет формат Общий. Измените его на Дата, и значение преобразуется автоматически.
6. Типичные ошибки и как их избежать
Работа с датами в Excel чревата неожиданными проблемами. Вот наиболее частые из них и способы их решения:
- ❌ Дата не обновляется:
Если
TODAYилиNOWпоказывают старые значения, проверьте:- Режим пересчёта:
Формулы → Параметры вычислений → Автоматически. - Системную дату на компьютере (может сбиваться после обновлений Windows).
- Формат ячейки — иногда Excel воспринимает дату как текст.
- Режим пересчёта:
- ❌ Функция возвращает ######:
Это означает, что ячейка слишком узкая для отображения даты. Растяните столбец или уменьшите размер шрифта.
- ❌ Дата сбивается при экспорте в CSV:
Формат CSV не сохраняет форматирование Excel. Чтобы избежать проблем, предварительно преобразуйте даты в текст с помощью функции
=TEXT(TODAY;"дд.мм.гггг"). - Выделите ячейку с функцией.
- Скопируйте её (
Ctrl+C). - Выполните
Правка → Специальная вставка → Значения. - Выделите ячейку с датой.
- Нажмите
Ctrl+1(или ПКМ →Формат ячеек). - Вкладка
Число → Все форматы. - Введите формат:
[$-819]д мммм;@(для русского языка).
Ещё одна распространённая проблема — разница в часовых поясах. Если файл создавался в одном регионе, а открывается в другом, NOW может показать неверное время. Решение: используйте =TODAY для даты и отдельную ячейку для времени с учётом смещения.
FAQ: Частые вопросы о работе с датами в Excel
Можно ли сделать так, чтобы дата обновлялась каждую минуту без VBA?
Нет, стандартные функции Excel (TODAY, NOW) обновляются только при открытии файла или ручном пересчёте (F9). Для автоматического обновления с заданным интервалом потребуется VBA или внешние надстройки.
Почему при копировании ячейки с =TODAY в другой файл дата не обновляется?
Функция TODAY привязана к текущему файлу. При копировании она переносится как формула, но обновляется только в контексте книги, где была создана. Чтобы заставить её работать в новом файле, достаточно открыть его — дата обновится.
Как вставить дату, которая будет обновляться только по рабочим дням?
Используйте комбинацию функций:
=IF(WEEKDAY(TODAY,2)>5,TODAY-1,TODAY)
Эта формула вернёт сегодняшнюю дату, если день рабочий (понедельник–пятница), или вчерашнюю, если сегодня выходной.
Можно ли отключить обновление даты в TODAY навсегда?
Да, для этого:
Теперь в ячейке останется статическое значение.
Как вставить дату на русском языке (например,"14 мая")?
Используйте пользовательский формат: