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

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

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

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

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

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

Для Windows:

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

Для MacOS:

  • 📅 Используйте Command + ; для даты.
  • ⏰ Используйте Command + : для времени.

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

📊 Как часто вы работаете с датами в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

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

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

Функция TODAY() возвращает текущую дату без времени:

=TODAY()

Результат: 15.05.2026 (формат зависит от региональных настроек).

Функция NOW() возвращает текущие дату и время:

=NOW()

Результат: 15.05.2026 14:30:45.

🔹 Ключевые особенности:

  • 🔄 Дата обновляется при любом изменении на листе, открытии файла или принудительном пересчёте (F9).
  • 📊 Можно использовать в формулах для расчёта разницы дней, недель, месяцев.
  • ⚠️ Если файл не открывать, дата не обновляется (например, если вы отправите файл коллеге, он увидит дату на момент открытия).

Пример использования в формуле для расчёта количества дней до дедлайна:

=ДАТА(2026;12;31) - TODAY()

Результат: количество дней до 31 декабря 2026 года.

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

По умолчанию Excel отображает дату в формате, заданном в настройках системы (например, дд.мм.гггг или мм/дд/гг). Однако вы можете изменить формат под свои нужды.

Способы изменения формата:

  1. Выделите ячейку с датой → нажмите Ctrl + 1 (или правая кнопка мыши → Формат ячеек).
  2. В окне Формат ячеек выберите категорию Дата или Все форматы.
  3. Выберите нужный формат из списка или создайте свой (например, дд ммм гггг15 мая 2026).

📌 Популярные форматы дат:

Формат Пример Код формата
День.месяц.год 15.05.2026 дд.мм.гггг
Месяц текстовый 15 мая 2026 дд ммм гггг
День недели + дата Среда, 15 мая дддд, дд ммм
ISO-формат 2026-05-15 гггг-мм-дд

⚠️ Внимание: Если вы ввели дату в ячейку, но Excel отображает её как число (например, 45423), значит ячейка имеет формат Общий. Измените формат на Дата, чтобы исправить это.

4. Автоматизация: как вставить дату при открытии файла

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

Инструкция по созданию макроса:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В окне Project найдите вашу книгу и откройте модуль ThisWorkbook (двойной клик).
  3. Вставьте следующий код:
    Private Sub Workbook_Open()
    

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

    End Sub

    Здесь Лист1 — имя листа, а A1 — ячейка, куда будет вставляться дата.

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

🔹 Что делает этот макрос:

  • 📅 При каждом открытии файла в ячейку A1 будет вставляться текущая дата.
  • 🔒 Дата будет статичной до следующего открытия файла.
  • ⚠️ Работает только если разрешены макросы (при открытии файла нажмите Включить содержимое).
Как отладить макрос, если он не работает?

1. Убедитесь, что файл сохранён в формате .xlsm, а не .xlsx.

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

3. Если макрос не срабатывает, проверьте имя листа и адрес ячейки в коде — они должны совпадать с реальными данными.

5. Продвинутые приёмы: формулы с условиями

Текущую дату можно интегрировать в сложные формулы для автоматизации расчётов. Рассмотрим несколько полезных примеров.

1. Проверка просроченных задач

Допустим, у вас есть список дедлайнов в столбце B, и вы хотите пометить просроченные задачи в столбце C:

=ЕСЛИ(B2

2. Расчёт возраста

Если в ячейке A2 указана дата рождения, возраст в годах можно посчитать так:

=ЦЕЛОЕ((TODAY()-A2)/365)
Примечание: Для точного расчёта с учётом високосных лет лучше использовать функцию ДАТАРАЗН:
=ДАТАРАЗН(A2; TODAY(); "y")

3. Динамический заголовок отчёта

Создайте заголовок, который будет автоматически обновляться:

="Отчёт по продажам на " & ТЕКСТ(TODAY(); "дд ммм гггг")

Результат: Отчёт по продажам на 15 мая 2026.

📌 Совет: Чтобы формула с TODAY() не пересчитывалась при каждом изменении на листе, переключите расчёт формул в ручной режим: Формулы → Вычисления → Вручную. Обновляйте данные вручную по F9.

Проверьте региональные настройки (в России используется формат дд.мм.гггг)

Используйте абсолютные ссылки ($A$1), если нужно зафиксировать адрес ячейки

Тестируйте формулы на крайних случаях (например, дата в будущем)-->

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

Работа с датами в Excel часто сопровождается ошибками, особенно у новичков. Разберём самые распространённые проблемы и их решения.

🔴 Ошибка #1: Дата отображается как число (например, 45423)

Причина: Ячейка имеет формат Общий или Числовой.

Решение: Выделите ячейку → Ctrl + 1 → выберите формат Дата.

🔴 Ошибка #2: Функция TODAY() не обновляется

Причина: В настройках Excel установлен ручной режим пересчёта формул.

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

🔴 Ошибка #3: Неправильный порядок дня и месяца

Причина: Региональные настройки Excel отличаются от системных (например, американский формат мм/дд/гг вместо дд.мм.гг).

Решение: Измените формат ячейки вручную или настройте региональные параметры в Файл → Параметры → Язык → Региональные параметры.

🔴 Ошибка #4: Формула возвращает #ИМЯ?

Причина: Опечатка в названии функции (например, TODAY вместо TODAY()).

Решение: Проверьте синтаксис: все функции должны заканчиваться скобками (), даже если у них нет аргументов.

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

=ДАТАЗНАЧ(A1)

7. Альтернативные способы: Power Query и Office Scripts

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

1. Power Query (Get & Transform)

Если вам нужно импортировать данные с текущей датой из внешних источников (например, баз данных или API), используйте Power Query:

  • 📤 Перейдите на вкладку Данные → Получить данные → Другие источники → Пустой запрос.
  • 📝 В редакторе Power Query введите в строку формул:
    = DateTime.LocalNow()

    или для даты без времени:

    = Date.From(DateTime.LocalNow())
  • 💾 Нажмите Закрыть и загрузить, чтобы добавить дату на лист.

2. Office Scripts (Excel Online)

В веб-версии Excel можно автоматизировать вставку даты с помощью Office Scripts (аналог макросов для браузера):

function main(workbook: ExcelScript.Workbook) {

let sheet = workbook.getActiveWorksheet();

sheet.getRange("A1").setValue(new Date().toLocaleDateString());

}

🔹 Когда использовать эти методы:

  • 📊 Power Query — для работы с большими наборами данных и автоматизации импорта.
  • 🌐 Office Scripts — если вы работаете в Excel Online и нуждаетесь в облачной автоматизации.

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

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

Да, но для этого потребуется VBA. Создайте макрос, который будет сравнивать текущую дату с датой последнего обновления и вносить изменения только если прошли сутки:

Private Sub Workbook_Open()

Dim LastUpdate As Date

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

If Date - LastUpdate >= 1 Then

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

End If

End Sub

Здесь A1 — ячейка с датой последнего обновления.

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

Это может происходить по двум причинам:

  1. На вашем компьютере установлена неверная дата/время (проверьте системные настройки).
  2. Excel работает в ручном режиме пересчёта (нажмите F9 для обновления).

Также убедитесь, что в ячейке используется именно функция TODAY(), а не статичная дата.

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

Стандартными средствами Excel это сделать нельзя, но можно использовать VBA:

Sub AddCommentWithDate()

Dim cell As Range

Set cell = ActiveCell

cell.AddComment "Дата добавления: " & Format(Date, "dd.mm.yyyy")

End Sub

Запустите этот макрос, выделив нужную ячейку.

Можно ли в Excel получить дату без учёта выходных?

Да, для этого используйте функцию РАБДЕНЬ (WORKDAY в английской версии). Например, чтобы получить рабочий день через 5 дней от сегодняшней даты:

=РАБДЕНЬ(TODAY(); 5)

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

Как экспортировать данные с текущей датой в название файла?

Для этого также потребуется VBA. Следующий макрос сохраняет активный лист в новый файл с названием, содержащим текущую дату:

Sub SaveWithDate()

Dim FileName As String

FileName = "Отчёт_" & Format(Date, "dd_mm_yyyy") & ".xlsx"

ActiveSheet.Copy

ActiveWorkbook.SaveAs FileName

End Sub

⚠️ Внимание: Перед запуском макроса сохраните оригинальный файл, так как макрос создаст его копию.