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

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

Особенность Excel заключается в том, что программа воспринимает даты не как текст, а как числовые значения (количество дней с 1 января 1900 года). Это открывает широкие возможности для манипуляций, но и требует понимания нюансов. Например, почему функция СЕГОДНЯ() может показывать вчерашнюю дату при открытии файла, или как вставить дату без времени. Мы разберём эти случаи на конкретных примерах, а также покажем, как избежать типичных ошибок при работе с временными метками.

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

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

В Windows и macOS комбинации отличаются:

  • 🪟 Windows: нажмите Ctrl + ; (точка с запятой). Excel вставит текущую дату в формате по умолчанию (например, 15.05.2026).
  • 🍎 macOS: используйте Command + ;. Результат аналогичен.
  • Время: если нужно вставить ещё и текущее время, добавьте ShiftCtrl + Shift + ; (Windows) или Command + Shift + ; (macOS).

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

Способ 2: Функция СЕГОДНЯ() — динамическая дата

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

Синтаксис прост:

=СЕГОДНЯ()

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

  • 📅 ДДДД, ДД ММММ ГГГГ → "Среда, 15 мая 2026"
  • 🗓️ ММММ ГГ → "Май 24"
  • Д.МММ → "15.май"

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

📊 Как часто вы используете функцию СЕГОДНЯ() в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 3: Комбинация функций для гибкой работы с датами

Иногда требуется не просто текущая дата, а её модификация — например, первый день месяца, последний день квартала или дата через 30 дней. Для этого комбинируйте СЕГОДНЯ() с другими функциями:

Задача Формула Пример результата (15.05.2026)
Первый день текущего месяца =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1) 01.05.2026
Последний день месяца =КОНМЕСЯЦА(СЕГОДНЯ();0) 31.05.2026
Дата через 30 дней =СЕГОДНЯ()+30 14.06.2026
День недели (число) =ДЕНЬНЕД(СЕГОДНЯ()) 4 (среда)

Для работы с кварталами используйте формулу:

=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(ДАТА(ГОД(СЕГОДНЯ());1;1))+3*ЦЕЛОЕ((МЕСЯЦ(СЕГОДНЯ())-1)/3)-2;1)

Она вернёт первый день текущего квартала. Например, для мая 2026 года результат будет 01.04.2026.

Почему функция КОНМЕСЯЦА может показывать 1 число следующего месяца?

Это происходит, если в формуле указан аргумент 0, а текущая дата — последний день месяца. Например, =КОНМЕСЯЦА(ДАТА(2026;5;31);0) вернёт 31.05.2026, но если указать -1, результат будет 30.04.2026. Аргумент функции определяет смещение: 0 — текущий месяц, 1 — следующий, -1 — предыдущий.

Способ 4: Вставка даты через Power Query (для продвинутых пользователей)

Если вы работаете с большими наборами данных, Power Query (вкладка Данные → Получить данные) позволяет добавить столбец с текущей датой в процессе импорта или преобразования. Это удобно для автоматизации отчётов, где дата создания должна фиксироваться на уровне ETL-процесса.

Алгоритм действий:

  1. Выделите таблицу или импортируйте данные через Power Query.
  2. Перейдите на вкладку Добавить столбец.
  3. Выберите Настраиваемый столбец.
  4. Введите название (например, "Дата отчёта") и формулу: = DateTime.LocalNow().Date.
  5. Нажмите OK и загрузите данные обратно в Excel.

Важно: дата, добавленная через Power Query, фиксируется на момент загрузки данных и не обновляется автоматически при открытии файла. Это отличает её от функции СЕГОДНЯ(), которая пересчитывается динамически.

Убедитесь, что регион в настройках Power Query соответствует вашему часовому поясу|Проверьте формат данных в новом столбце (должен быть "Дата")|Обновите запрос после добавления столбца|Сохраните файл, чтобы зафиксировать текущую дату-->

Способ 5: VBA-макрос для вставки даты с дополнительными параметрами

Для полной автоматизации можно использовать VBA (Visual Basic for Applications). Например, макрос ниже вставляет текущую дату в выделенную ячейку и форматирует её как ДД-МММ-ГГГГ (например, 15-май-2026):

Sub InsertFormattedDate()

Dim rng As Range

Set rng = Selection

rng.NumberFormat = "dd-mmm-yyyy"

rng.Value = Date

End Sub

Чтобы использовать этот макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (меню Insert → Module).
  3. Вернитесь в Excel, выделите ячейку и запустите макрос через Alt + F8.

Преимущество VBA в том, что можно добавить логику — например, вставлять дату только в пустые ячейки или проверять диапазон перед записью. Однако помните, что макросы отключаются в файлах с расширением .xlsx (нужно сохранять как .xlsm).

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

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

⚠️ Внимание: Если после ввода функции СЕГОДНЯ() отображается число вместо даты (например, 45412), проверьте формат ячейки. Выделите её, нажмите Ctrl + 1 и выберите категорию Дата.

Другие ошибки:

  • 🌍 Неправильный региональный формат: Excel может интерпретировать 05.06.2026 как 5 июня (европейский формат) или 6 мая (американский). Чтобы избежать путаницы, используйте функцию ДАТА() с явным указанием дня, месяца и года: =ДАТА(2026;5;15).
  • 🔄 Автоматический пересчёт: Функция СЕГОДНЯ() обновляется при любом изменении листа, даже если вы просто добавили текст в другую ячейку. Чтобы отключить это, перейдите в Формулы → Параметры вычислений → Вручную.
  • Часовые пояса: В облачных версиях Excel (например, Excel Online) дата может отличаться от локальной из-за серверного времени. Для критичных задач используйте =СЕГОДНЯ()-1 или +1, чтобы скорректировать разницу.

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

  1. Выделите ячейку с функцией.
  2. Скопируйте её (Ctrl + C).
  3. Выберите Главная → Вставить → Значения (или нажмите Ctrl + Alt + V → З).

Практические примеры использования дат в отчётах

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

1. Отслеживание просроченных задач:

Предположим, у вас есть столбец с дедлайнами (B2:B100). Чтобы выделить просроченные задачи, используйте условное форматирование:

  1. Выделите диапазон с датами.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу... и введите: =B2<СЕГОДНЯ().
  4. Задайте формат (например, красный фон).

2. Расчёт возраста или стажа:

Чтобы узнать, сколько дней прошло с определённой даты (например, даты найма сотрудника в ячейке A2), используйте:

=СЕГОДНЯ()-A2

Для вывода в годах:

=ЦЕЛОЕ((СЕГОДНЯ()-A2)/365)

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

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

="Отчёт за " & ТЕКСТ(СЕГОДНЯ();"ММММ ГГГГ")

Результат: "Отчёт за Май 2026".

📊 Какой из примеров вам показался наиболее полезным?
Отслеживание просроченных задач
Расчёт стажа
Динамические заголовки
Другой вариант

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

Можно ли вставить дату без года (например, только "15 мая")?

Да. Используйте функцию ТЕКСТ():

=ТЕКСТ(СЕГОДНЯ();"ДД ММММ")

Результат: 15 мая. Для английской версии замените ММММ на mmmm.

Почему функция СЕГОДНЯ() показывает вчерашнюю дату?

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

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

Чтобы принудительно обновить, нажмите F9.

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

Используйте:

=ТЕКСТ(СЕГОДНЯ();"[$-409]mmmm d, yyyy;@")

Или измените региональные настройки Excel на английский (Файл → Параметры → Язык).

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

Нет, функция СЕГОДНЯ() не имеет такого параметра. Альтернативные варианты:

  • Используйте VBA-макрос с таймером (сложно для новичков).
  • Создайте отдельный лист с "контрольной" датой и обновляйте её вручную.
  • Используйте Power Automate (для Excel Online) для автоматического обновления файла раз в день.
Как вставить дату и время в одном формате (например, "15.05.2026 14:30")?

Комбинируйте функции СЕГОДНЯ() и ТДАТА():

=ТЕКСТ(СЕГОДНЯ();"ДД.ММ.ГГГГ") & " " & ТЕКСТ(ТДАТА();"ЧЧ:ММ")

Или используйте просто =СЕГОДНЯ()+ТДАТА()-СЕГОДНЯ() и настройте формат ячейки как ДД.ММ.ГГГГ ЧЧ:ММ.