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

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

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

Независимо от версии Excel (2010, 2016, 2019 или Microsoft 365), эти методы будут работать одинаково эффективно. Главное — выбрать подходящий способ под вашу задачу.

1. Самый быстрый способ: горячие клавиши для вставки даты

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

Для Windows:

  • 📅 Ctrl + ; — вставляет текущую дату (например, 15.05.2026).
  • Ctrl + Shift + ; — вставляет текущее время (например, 14:30:45).
  • 📅⏰ Ctrl + ;ПробелCtrl + Shift + ; — комбинация даты и времени.

Для Mac:

  • 📅 Command + ; — текущая дата.
  • Command + Shift + ; — текущее время.

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

📊 Как часто вы используете горячие клавиши в Excel?
Постоянно
Иногда
Раньше не знал о них
Предпочитаю мышь

2. Динамическая дата: функция TODAY() и её особенности

Функция =TODAY() (или =СЕГОДНЯ() в русской версии) возвращает текущую дату, которая автоматически обновляется при каждом открытии файла или пересчете формул. Это идеальный вариант для документов, где нужно отслеживать актуальность данных.

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

  • 📊 =TODAY() — просто текущая дата.
  • 📅 =TODAY()-7 — дата недельной давности.
  • =TODAY()+30 — дата через 30 дней (полезно для расчета дедлайнов).

Функция не требует аргументов, поэтому скобки остаются пустыми. Если нужно и время, используйте NOW().

Формат ячейки установлен как "Дата"|Включен автоматический пересчет формул|Нет циклических ссылок в книге|Файл не защищен от изменений-->

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

3. Дата и время вместе: функция NOW()

Функция =NOW() (или =ТДАТА()) возвращает текущие дату и время с точностью до секунды. Она также обновляется автоматически, но в отличие от TODAY(), включает временную компоненту.

Примеры:

  • =NOW() — полная дата и время (например, 15.05.2026 14:30:45).
  • 📅 =INT(NOW()) — только дата (аналог TODAY()).
  • ⏱️ =NOW()-TODAY() — только время (дробное число, где 1 = 24 часа).

Чтобы отформатировать вывод, используйте Формат ячеек → Числовые форматы → Дата или Время. Например, формат дд.мм.гггг чч:мм покажет дату и время без секунд.

ФункцияВозвращаетПример выводаОбновляется?
TODAY()Только дату15.05.2026Да
NOW()Дата + время15.05.2026 14:30:45Да
Ctrl + ;Статичную дату15.05.2026Нет
=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)Первый день текущего месяца01.05.2026Да

4. Как зафиксировать дату, чтобы она не менялась

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

  1. Горячие клавиши (Ctrl + ;) — вставляют статичное значение.
  2. Копирование → Специальная вставка:
    • Введите =TODAY() в ячейку.
    • Скопируйте её (Ctrl + C).
    • Правый клик → Специальная вставка → Значения.
  • Формула с преобразованием в текст:
    =TEXT(TODAY(), "дд.мм.гггг")

    Этот метод вернет дату в текстовом формате, которая не будет обновляться.

  • ⚠️ Внимание: Если вы используете TEXT(), то полученное значение будет строкой, а не датой. Это означает, что вы не сможете проводить с ним математические операции (например, вычитать дни).

    5. Продвинутые приемы: условные даты и автоматическое обновление

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

    • 📅 Проверка просрочки:
      =IF(TODAY()>B2, "Просрочено", "В срок")

      Где B2 — ячейка с дедлайном.

    • Количество дней до события:
      =B2-TODAY()
    • 🔄 Автоматическое обновление при открытии файла:

      Нажмите Alt + F11, вставьте этот код в модуль ThisWorkbook:

      Private Sub Workbook_Open()
      

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

      End Sub

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

    ⚠️ Внимание: Макросы работают только если включена поддержка VBA и файл сохранен в формате .xlsm (с поддержкой макросов). В Excel Online макросы не поддерживаются.

    Как отладить макрос, если дата не обновляется?

    1. Проверьте, включены ли макросы: Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы.

    2. Убедитесь, что код вставлен в правильный модуль (ThisWorkbook, а не в обычный модуль).

    3. Сохраните файл как .xlsm, а не .xlsx.

    4. Если используете Excel 2016+, проверьте настройки доверия к файлу в Файл → Сведения → Разрешить содержимое.

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

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

    ОшибкаПричинаРешение
    #NAME? Опечатка в названии функции (например, =TODAYY()) Проверьте синтаксис: =TODAY() или =СЕГОДНЯ() для русской версии.
    Дата отображается как число (например, 45456) Неверный формат ячейки Выделите ячейку → Формат → Формат ячеек → Дата.
    Дата не обновляется Автоматический пересчет отключен Нажмите F9 или включите в Формулы → Параметры вычислений → Автоматически.
    #VALUE! при вычитании дат Одна из ячеек содержит текст, а не дату Проверьте формат ячеек или используйте =DATEVALUE() для преобразования текста в дату.

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

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

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

    Да, но для этого потребуется VBA. Вставьте этот код в модуль листа:

    Private Sub Worksheet_Calculate()
    

    Range("A1").Value = Now

    Application.OnTime Now + TimeValue("01:00:00"), "UpdateTime"

    End Sub

    Sub UpdateTime()

    Range("A1").Calculate

    End Sub

    Это обновит дату и время в ячейке A1 каждый час. Не забудьте сохранить файл как .xlsm.

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

    Это происходит, если:

    1. Файл не открывался сегодня (функция обновляется только при открытии или пересчете).
    2. На вашем компьютере неправильно установлена системная дата.
    3. В настройках Excel отключен автоматический пересчет (Формулы → Параметры вычислений).

    Решение: нажмите F9 для принудительного пересчета или проверьте системные настройки даты.

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

    Используйте функцию TEXT с нужным форматом:

    =TEXT(TODAY(), "д mmmm yyyy г.")

    Результат: 15 мая 2026 г.. Для английской версии Excel замените "д mmmm yyyy г." на "d mmmm yyyy".

    Можно ли использовать TODAY() в условном форматировании?

    Да! Например, чтобы выделить просроченные задачи:

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

    Теперь все даты раньше сегодняшней будут подсвечены.

    Как вставить дату в заголовок листа или колонтитул?

    Для этого:

    1. Перейдите в Вставка → Колонтитулы.
    2. Кликните на область, куда нужно вставить дату.
    3. Нажмите Конструктор → Дата (вставится текущая дата как текст) или введите вручную &[Дата].

    ⚠️ Внимание: Дата в колонтитуле обновляется только при печати или предварительном просмотре, а не при открытии файла.