Вставка текущей даты в Microsoft Excel — одна из самых востребованных операций при работе с таблицами. Нужно ли проставить дату отчёта, отметить день создания документа или автоматизировать расчёты с привязкой к сегодняшнему дню — без этого навыка не обойтись. Однако даже опытные пользователи иногда путают статические и динамические методы, из-за чего дата либо не обновляется, либо ведёт себя непредсказуемо.
В этой статье разберём все возможные способы вставки сегодняшней даты — от простого ввода с клавиатуры до сложных формул с учётом временной зоны. Особое внимание уделим скрытым нюансам формата ячеек, которые часто становятся причиной ошибок. Материал актуален для Excel 2010–2026, включая онлайн-версию и мобильное приложение.
1. Статическая дата: как ввести сегодняшнее число вручную
Если вам нужна фиксированная дата, которая не будет меняться при пересчёте таблицы или открытии файла, используйте ручной ввод. Этот метод подходит для документов, где важно сохранить дату создания (например, в договорах или актах).
Самый простой способ:
- 📅 Нажмите комбинацию
Ctrl + ;(точка с запятой) — Excel автоматически вставит текущую дату в выбранную ячейку. - ⌨️ Введите дату вручную в формате
ДД.ММ.ГГГГилиДД-ММ-ГГ(Excel распознаёт оба варианта). - 🔄 Скопируйте дату из другой ячейки (если она уже введена в нужном формате).
Важно: статическая дата не обновляется при изменении системной даты или переоткрытии файла. Если вам нужно, чтобы дата всегда отображала "сегодня", используйте методы из следующих разделов.
⚠️ Внимание: При копировании ячейки со статической датой в другую таблицу или книгу формат может сбиться. Перед вставкой проверьте настройки формата ячейки (Главная → Формат → Формат ячеек → Число → Дата).
2. Динамическая дата: функция ТДАТА() и её аналоги
Для автоматического обновления даты при каждом открытии файла или пересчёте формул используйте функцию =ТДАТА() (в английской версии — =TODAY()). Она возвращает текущую дату согласно системным настройкам компьютера.
Примеры использования:
- 📊 Простая вставка:
=ТДАТА() - 📅 Дата с форматированием:
(покажет дату через 5 дней от сегодняшней).=ТДАТА()+5 - 🔄 Комбинация с текстом:
(выведет "Отчёт от 15 мая 2026").="Отчёт от " & ТЕКСТ(ТДАТА(); "дд ммм гггг")
Функция ТДАТА() обновляется при:
- 🔄 Переоткрытии файла.
- 🖱️ Ручном пересчёте (
Формулы → ВычислитьилиF9). - 📥 Изменении данных в таблице (если включён автоматический пересчёт).
| Функция | Пример | Результат (на 15.05.2026) |
|---|---|---|
=ТДАТА() |
=TODAY() |
15.05.2026 |
=ТДАТА()+30 |
=TODAY()+30 |
14.06.2026 |
=ДЕНЬНЕД(ТДАТА()) |
=WEEKDAY(TODAY()) |
4 (среда) |
=ТЕКСТ(ТДАТА();"дддд") |
=TEXT(TODAY();"dddd") |
среда |
⚠️ Внимание: Если функцияТДАТА()возвращает ошибку#ИМЯ?, проверьте региональные настройки Excel. В некоторых локализациях (например, украинской) функция может называться=СЬОГОДНІ().
3. Горячие клавиши и быстрые методы
Для ускорения работы с датами в Excel предусмотрены горячие клавиши и скрытые функции. Вот самые полезные:
- 🔑
Ctrl + ;— вставка статической текущей даты. - ⏰
Ctrl + Shift + ;— вставка текущего времени (статического). - 🔄
Ctrl + :— вставка текущего времени (в некоторых версиях Excel). - 📋
Alt + Shift + D— вставка даты в форматеДД.ММ.ГГ(работает не во всех версиях).
Если горячие клавиши не работают:
- Проверьте, не конфликтуют ли они с другими программами (например, с AutoHotkey или драйверами клавиатуры).
- Убедитесь, что выбран английский или русский языковой пакет в Excel (некоторые комбинации зависят от локализации).
- Перезапустите Excel — иногда клавиши "зависают" после обновлений.
Убедиться, что Num Lock выключен|Проверить языковую раскладку (EN/RU)|Закрыть мешающие программы (например, менеджеры клавиатуры)|Перезапустить Excel-->
Для вставки даты в определённом формате без ручного форматирования ячейки используйте макрос:
Sub InsertFormattedDate()
ActiveCell.Value = Date
ActiveCell.NumberFormat = "дд ммм гггг;@"
End Sub
Чтобы запустить его, нажмите Alt + F8, выберите InsertFormattedDate и нажмите Выполнить.
4. Форматирование даты: как изменить отображение
Excel хранит даты как числа (количество дней с 1 января 1900 года), но отображает их в удобном для пользователя формате. Чтобы изменить внешний вид даты:
- Выделите ячейку с датой.
- Нажмите
Ctrl + 1(или правая кнопка мыши →Формат ячеек). - Вкладка
Число→ выберитеДата. - Укажите нужный формат (например,
14.03.2026,14 марта 2026 г.илисреда, 14 марта).
Популярные форматы и их коды:
| Формат | Пример | Код для ручного ввода |
|---|---|---|
| ДД.ММ.ГГГГ | 15.05.2026 | дд.мм.гггг |
| ДД МММ ГГГГ | 15 мая 2026 | дд ммм гггг |
| ДДДД, ДД ММММ | среда, 15 мая | дддд, дд мммм |
| МММ-ГГ | май-24 | ммм-гг |
Если нужного формата нет в списке, выберите (все форматы) и введите код вручную. Например, для отображения даты как 15/05/24 используйте формат дд/мм/гг.
⚠️ Внимание: При экспорте таблицы вCSVилиTXTформат даты может сбиться. Чтобы сохранить правильное отображение, предварительно преобразуйте даты в текст с помощью функции=ТЕКСТ(ТДАТА();"дд.мм.гггг").
5. Автоматизация: макросы и VBA для работы с датами
Если вам нужно вставлять дату в определённые ячейки автоматически (например, при открытии файла или сохранении), используйте макросы на VBA. Ниже приведён код для вставки текущей даты в ячейку A1 при каждом открытии книги:
Private Sub Workbook_Open()
Sheets("Лист1").Range("A1").Value = Date
Sheets("Лист1").Range("A1").NumberFormat = "дд мммм гггг г."
End Sub
Чтобы добавить этот макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - В окне
Projectнайдите вашу книгу и откройтеThisWorkbook. - Вставьте код выше в правое окно.
- Сохраните файл как
.xlsm(с поддержкой макросов).
Другие полезные макросы для работы с датами:
- 📅 Вставка даты в активную ячейку:
Sub InsertDate()ActiveCell.Value = Date
ActiveCell.NumberFormat = "дд.мм.гггг"
End Sub
- 🔄 Обновление всех дат в выделенном диапазоне:
Sub UpdateDates()For Each cell In Selection
If IsDate(cell.Value) Then cell.Value = Date
Next cell
End Sub
⚠️ Внимание: Макросы работают только в файлах с расширением.xlsm. Если вы сохраните книгу как.xlsx, код VBA будет удалён без предупреждения.
Как защитить макрос от случайного удаления?
Чтобы предотвратить потерю кода при сохранении, выполните следующие шаги:
1. Перейдите в Файл → Сведения → Защита книги → Зашифровать паролем.
2. Установите пароль на открытие файла (это также защитит макросы).
3. Сохраните файл в надёжном месте (например, в облаке с версионностью).
4. Создайте резервную копию кода: откройте редактор VBA (Alt+F11), скопируйте текст макроса в текстовый файл.
6. Распространённые ошибки и их решение
При работе с датами в Excel пользователи часто сталкиваются с типичными проблемами. Вот самые частые из них и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
| Дата отображается как число (например, 45345) | Неверный формат ячейки | Выделите ячейку → Ctrl+1 → выберите формат Дата |
Функция ТДАТА() возвращает #ИМЯ? |
Опечатка в названии функции или неверная локализация | Проверьте регистр и языковые настройки. В английской версии используйте =TODAY() |
| Дата не обновляется при открытии файла | Отключён автоматический пересчёт формул | Перейдите в Формулы → Параметры вычислений → Автоматически |
| При копировании даты в другую книгу формат сбивается | Разные региональные настройки в файлах | Преобразуйте дату в текст: =ТЕКСТ(ТДАТА();"дд.мм.гггг") |
Ещё одна распространённая проблема — разница в временных зонах. Если вы работаете с файлом, созданным в другом часовым поясе, дата может сдвигаться на ±1 день. Чтобы этого избежать:
- 🌍 Используйте функцию
=СЕГОДНЯ()-1или=СЕГОДНЯ()+1для ручной корректировки. - ⏰ Укажите временную зону явно:
=ТДАТА()+ВРЕМЯ(3;0;0)(добавляет 3 часа). - 📡 Синхронизируйте системное время на всех устройствах, работающих с файлом.
7. Продвинутые приёмы: формулы с датами
Функция ТДАТА() становится ещё мощнее в комбинации с другими формулами. Вот несколько примеров для автоматизации задач:
- 📅 Разница между сегодняшней датой и другой датой:
=ТДАТА()-A1(где
A1— ячейка с другой датой; результат в днях). - 🎂 Количество дней до ближайшего дня рождения:
=ДАТА(ГОД(ТДАТА());5;20)-ТДАТА()(где
5;20— 20 мая; замените на свою дату). - 📊 Проверка, является ли сегодня понедельник:
=ЕСЛИ(ДЕНЬНЕД(ТДАТА())=2;"Да";"Нет") - 🔍 Поиск последней даты в столбце:
=МАКС(ЕслиОшибка(A:A;0))(требуется ввод как формула массива в старых версиях Excel).
Для работы с рабочими днями (исключая выходные) используйте функцию =РАБДЕНЬ():
=РАБДЕНЬ(ТДАТА();10)
Эта формула вернёт дату через 10 рабочих дней от сегодняшней (исключая субботу и воскресенье).
Если нужно учитывать праздники, добавьте их в диапазон и используйте расширенный синтаксис:
=РАБДЕНЬ(ТДАТА();30;Праздники!A1:A10)
где Праздники!A1:A10 — диапазон с датами праздников.
FAQ: Ответы на частые вопросы
Почему функция ТДАТА() показывает вчерашнюю дату?
Это происходит, если:
- На вашем компьютере неверно установлено системное время (проверьте в Панели управления).
- Файл Excel был открыт до полуночи, а пересчёт формул отключён (включите в
Формулы → Параметры вычислений → Автоматически). - Вы используете облачную версию Excel (например, Excel Online), где временная зона сервера может отличаться от вашей.
Решение: обновите дату и время на устройстве или вручную пересчитайте формулы (F9).
Как вставить дату, которая не будет меняться при копировании?
Используйте специальную вставку:
- Введите дату в ячейку (например, с помощью
Ctrl+;). - Скопируйте её (
Ctrl+C). - Выделите целевую ячейку → правая кнопка мыши →
Специальная вставка → Значения.
Или преобразуйте формулу в значение:
- Введите
=ТДАТА(). - Нажмите
F9, чтобы преобразовать формулу в значение. - Нажмите
Enter.
Можно ли в Excel вставить дату и время одновременно?
Да, используйте функцию =СЕЙЧАС() (в английской версии — =NOW()). Она возвращает текущие дату и время, обновляясь при каждом пересчёте.
Примеры:
=СЕЙЧАС()— полная дата и время (например,15.05.2026 14:30).=ТЕКСТ(СЕЙЧАС();"дд.мм.гггг чч:мм")— кастомный формат.=ЦЕЛОЕ(СЕЙЧАС())— только дата (без времени).
Как сделать так, чтобы дата обновлялась каждую минуту?
По умолчанию Excel обновляет ТДАТА() и СЕЙЧАС() только при открытии файла или ручном пересчёте. Чтобы принудительно обновлять время каждую минуту:
- Откройте редактор VBA (
Alt+F11). - Вставьте этот код в модуль
ThisWorkbook:Private Sub Workbook_Open()Application.OnTime Now + TimeValue("00:01:00"), "UpdateTime"
End Sub
Sub UpdateTime()
Sheets("Лист1").Range("A1").Value = Now
Application.OnTime Now + TimeValue("00:01:00"), "UpdateTime"
End Sub
- Сохраните файл как
.xlsm.
Теперь время в ячейке A1 будет обновляться каждую минуту.
Почему при экспорте в PDF дата отображается некорректно?
Проблема связана с тем, что Excel при экспорте в PDF может интерпретировать формат даты по-разному. Решения:
- Перед экспортом преобразуйте дату в текст:
=ТЕКСТ(ТДАТА();"дд.мм.гггг"). - Установите шрифт
ArialилиTimes New Roman— они лучше сохраняют форматирование. - Экспортируйте через
Файл → Экспорт → Создать PDF/XPS → Параметры → Оптимизировать для стандарта PDF/A.