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

Работа с датами и временем в Microsoft Excel — одна из самых востребованных задач при ведении отчётности, планировании или анализе данных. Нередко требуется автоматически проставлять текущую дату в ячейку — будь то для фиксации времени создания документа, отметки последнего обновления или генерации динамических отчётов. Однако не все пользователи знают, что в Excel есть сразу несколько способов вставить сегодняшнюю дату или точное время, причём каждый из них ведёт себя по-разному при пересчёте таблицы.

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

1. Горячие клавиши: самый быстрый способ вставить статичную дату

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

  • 📅 Для вставки текущей даты: нажмите Ctrl + ; (точка с запятой). Excel вставит дату в формате по умолчанию (например, 15.05.2026).
  • ⏰ Для вставки текущего времени: нажмите Ctrl + Shift + ;. В ячейку будет добавлено время (например, 14:30:45).
  • 📄 Для вставки даты и времени одновременно: нажмите Ctrl + ;, затем пробел, а после — Ctrl + Shift + ;.

⚠️ Внимание: Дата и время, вставленные таким способом, не обновляются автоматически. Они становятся статичным текстом и останутся такими, даже если вы откроете файл через год. Это удобно для фиксации момента создания документа, но не подходит для динамических отчётов.

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

2. Функции TODAY и NOW: динамическое обновление даты и времени

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

  • =TODAY() — возвращает текущую дату (без времени) и обновляется при каждом пересчёте листа или открытии файла.
  • =NOW() — возвращает текущие дату и время с точностью до секунды. Также обновляется динамически.

Примеры использования:

ФункцияПример результатаФормат по умолчаниюОбновляется?
=TODAY()15.05.2026ДатаДа
=NOW()15.05.2026 14:30:45Дата + времяДа
=TODAY()+722.05.2026ДатаДа
=NOW()-TIME(0,0,30)15.05.2026 14:30:15Дата + времяДа

⚠️ Внимание: Функции TODAY и NOW пересчитываются при любом изменении на листе, а также при открытии файла. Если вы отправляете файл коллеге, он увидит свою текущую дату, а не ту, которая была на момент сохранения. Чтобы этого избежать, используйте метод из следующего раздела.

📊 Как часто вы используете функции даты/времени в Excel?
Каждый день
Несколько раз в неделю
Рядом
Никогда

3. Как зафиксировать текущую дату навсегда (без обновлений)

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

  1. Преобразовать формулу в значение. Введите =TODAY() или =NOW(), затем скопируйте ячейку (Ctrl + C), кликните правой кнопкой и выберите "Специальная вставка → Значения".
  2. Использовать VBA-макрос. Нажмите Alt + F11, вставьте этот код в модуль:
    Sub InsertStaticDate()
    

    ActiveCell.Value = Now

    ActiveCell.NumberFormat = "dd.mm.yyyy hh:mm:ss"

    End Sub

    Затем назначьте макрос на кнопку или горячую клавишу.

⚠️ Внимание: При использовании макросов убедитесь, что в настройках Excel разрешено выполнение VBA (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Включить все макросы). В противном случае код не сработает.

☑️ Фиксация статичной даты

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

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

По умолчанию Excel отображает дату в формате дд.мм.гггг, а время — как чч:мм:сс. Но вы можете изменить это под свои нужды. Например:

  • 📅 Только день недели: выберите формат дддд (например, "понедельник").
  • 🗓️ Дата без года: формат дд.мм (например, "15.05").
  • ⏱️ Время без секунд: формат чч:мм.
  • 🌍 Международный формат: мм/дд/гггг (например, "05/15/2026").

Чтобы изменить формат:

  1. Выделите ячейку с датой/временем.
  2. Нажмите Ctrl + 1 (или правый клик → "Формат ячеек").
  3. Вкладка "Число" → выберите "Дата" или "Время" → укажите нужный формат.
Как создать пользовательский формат даты?

Вкладка "Число" → "Все форматы" → в поле "Тип" введите, например, "Сегодня: "дд мммм гггг г. (результат: "Сегодня: 15 мая 2026 г.").

⚠️ Внимание: Если вы примените текстовый формат к ячейке с функцией TODAY(), она перестанет обновляться и превратится в статичное значение. Чтобы вернуть динамику, измените формат обратно на "Дата" или "Общий".

5. Автоматическое обновление даты при открытии файла (без формул)

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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Дважды кликните на объект ThisWorkbook в дереве проекта.
  3. Вставьте этот код:
    Private Sub Workbook_Open()
    

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

    Sheets("Лист1").Range("A1").NumberFormat = "dd.mm.yyyy hh:mm"

    End Sub

    (Замените "Лист1" и "A1" на свои значения.)

  4. Сохраните файл как .xlsm (с поддержкой макросов).

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

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

Даже опытные пользователи иногда сталкиваются с проблемами при работе с датами в Excel. Вот самые распространённые ошибки и способы их решения:

ОшибкаПричинаРешение
Дата отображается как число (например, 45456)Неверный формат ячейкиИзмените формат на "Дата" (Ctrl + 1)
Функция TODAY() не обновляетсяАвтоматический пересчёт отключёнВключите в Формулы → Параметры вычислений → Автоматически
Макрос не срабатывает при открытииФайл сохранён как .xlsxСохраните как .xlsm и разрешите макросы
Дата сбивается на 4 года (например, 1905 вместо 2026)Ошибка системы дат в Excel (1900 vs 1904)Проверьте настройки в Файл → Параметры → Дополнительно → При переходе к этой книге использовать систему дат 1904

⚠️ Внимание: Если вы импортируете данные из внешних источников (например, CSV), даты могут распознаваться как текст. Чтобы исправить это, используйте функцию =ДАТАЗНАЧ(ячейка) или инструмент "Текст по столбцам" на вкладке "Данные".

FAQ: Частые вопросы о дате и времени в Excel

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

Да, для этого используйте комбинацию функций =ЕСЛИ(СЕГОДНЯ()-A1>0;СЕГОДНЯ();A1), где A1 — ячейка с начальной датой. Либо настройте VBA-макрос, который срабатывает по таймеру.

Почему функция NOW() показывает неверное время?

Excel берёт время с системных часов вашего компьютера. Если оно сбилось, синхронизируйте часы через панель управления Windows (раздел "Дата и время"). Также проверьте часовой пояс в настройках Excel (Файл → Параметры → Язык).

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

Используйте пользовательский формат: выделите ячейку → Ctrl + 1 → "Все форматы" → введите дд мммм гггг "года". Для полного названия месяда в родительном падеже потребуется VBA-функция.

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

Да, для этого подойдёт кнопка с макросом:

Sub UpdateDate()

Range("A1").Value = Now

End Sub

Назначьте этот макрос на кнопку (вкладка "Разработчик → Вставить → Кнопка").

Как вычесть из текущей даты 30 дней?

Используйте формулу =TODAY()-30. Для более сложных вычислений (например, рабочие дни) подойдёт функция =РАБДЕНЬ(СЕГОДНЯ();-30).