Функция СЕГОДНЯ в Excel: где найти, как использовать и 7 неочевидных приёмов

Почему функция СЕГОДНЯ — незаменимый инструмент в Excel

Вы когда-нибудь ловили себя на мысли, что тратите слишком много времени на ручное обновление дат в отчётах? Или забывали изменить текущую дату в документе, из-за чего коллеги получали устаревшие данные? Функция СЕГОДНЯ() в Microsoft Excel решает эти проблемы раз и навсегда. Она автоматически подставляет актуальную дату каждый раз при открытии файла или пересчёте формул — как будто у вас есть личный помощник, который следит за календарём.

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

Где в Excel найти функцию СЕГОДНЯ: 3 способа

Если вы новичок в Excel, поиск функции СЕГОДНЯ() может показаться задачей с подвохом. Она не отображается в стандартных категориях ленты, как, например, СУММ или СРЗНАЧ. Но есть три надёжных способа её отыскать:

  • 🔍 Поиск по названию: Нажмите Ctrl + F, введите «СЕГОДНЯ» и выберите функцию из выпадающего списка. Это самый быстрый метод для тех, кто не хочет запоминать пути.
  • 📁 Вкладка «Формулы»: Перейдите на ленту Формулы → Дата и время. В списке найдёте СЕГОДНЯ() (в английской версии — TODAY()).
  • ⌨️ Ручной ввод: Просто начните печатать в любой ячейке =СЕГОДНЯ()Excel подскажет синтаксис автоматически.

Интересный факт: в Excel Online и мобильной версии функция доступна точно так же, но может потребовать предварительного переключения раскладки клавиатуры на английскую для корректного ввода. А вот в Google Sheets аналог называется TODAY() и работает по тем же принципам.

📊 Как вы обычно вставляете функции в Excel?
Через ленту "Формулы"
Вручную печатаю название
Использую мастер функций (fx)
Копирую из интернета

Синтаксис и базовое применение: что можно сделать за 1 минуту

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

  • 📅 Автоматическое обновление отчётов: Дата в ячейке будет меняться каждый день без вашего участия.
  • Расчёт сроков: Например, =СЕГОДНЯ()-B2 покажет, сколько дней прошло с даты в ячейке B2.
  • 🚨 Контроль дедлайнов: Формула =ЕСЛИ(СЕГОДНЯ()>D5;"Срок истёк";"В порядке") предупредит о просроченных задачах.

Важно понимать, что СЕГОДНЯ() — это динамическая функция. Она пересчитывается при каждом открытии файла или изменении данных в таблице. Если вам нужна статичная дата (например, дата создания документа), используйте комбинацию клавиш Ctrl + ; — это вставит текущую дату как текст.

7 неочевидных приёмов с функцией СЕГОДНЯ()

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

  1. Выделение просроченных задач:

    Используйте Условное форматирование с правилом =СЕГОДНЯ()>B1, чтобы ячейки с истёкшими сроками подсвечивались красным.

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

    Формула =ЦЕЛОЕ((СЕГОДНЯ()-B2)/365) покажет количество полных лет с даты в ячейке B2.

  3. Дни до события: =D5-СЕГОДНЯ() вернёт количество дней до даты в ячейке D5 (отрицательное значение — событие уже прошло).
  4. Автоматическая нумерация недель: =НОМНЕДЕЛИ(СЕГОДНЯ()) вернёт номер текущей недели в году.

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

Задача Формула Пример результата
Текущая дата =СЕГОДНЯ() 15.05.2026
Дней до Нового года =ДАТА(ГОД(СЕГОДНЯ())+1;1;1)-СЕГОДНЯ() 200
День недели =ТЕКСТ(СЕГОДНЯ();"ДДДД") Пятница
Последний день месяца =ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;0) 31.05.2026
Как обмануть функцию СЕГОДНЯ()?

Если вам нужно протестировать формулы с будущей или прошлой датой, временно измените дату в настройках системы (Панель управления → Дата и время). После тестов не забудьте вернуть актуальную дату!

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

Даже опытные пользователи Excel иногда сталкиваются с проблемами при работе с СЕГОДНЯ(). Вот самые распространённые ловушки и способы их обойти:

⚠️ Внимание: Если функция возвращает дату в формате ######, это означает, что столбец слишком узкий для отображения. Растяните его или измените формат ячейки на Дата.
  • Функция не обновляется:

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

  • Неверный формат даты:

    Например, вместо 15.05.2026 отображается 45412. Это внутренний формат Excel для дат. Исправьте формат ячейки через Главная → Формат → Формат ячеек → Дата.

  • Разница в днях считается неправильно:

    Убедитесь, что обе даты имеют одинаковый формат. Используйте =ЦЕЛОЕ(СЕГОДНЯ()-B2) для точного расчёта.

Ещё одна частая ошибка — попытка использовать СЕГОДНЯ() в массивах или как аргумент других функций без учёта её динамичности. Например, формула =СУММЕСЛИ(A:A;">" & ТЕКСТ(СЕГОДНЯ();"д.мм.гггг") & ";"B:B) не будет работать корректно, потому что Excel не обновляет текстовые представления дат автоматически.

☑️ Проверка корректности работы функции СЕГОДНЯ()

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

СЕГОДНЯ() vs ТДАТА(): в чём разница и когда использовать

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

Критерий СЕГОДНЯ() ТДАТА()
Возвращаемое значение Только дата Дата + время
Формат по умолчанию дд.мм.гггг дд.мм.гггг чч:мм:сс
Обновление времени 1 раз в день Каждую секунду
Пример использования Расчёт сроков Логирование событий

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

  • 📅 СЕГОДНЯ() идеальна для отчётов, где важна только дата (например, "на 15 мая 2026 года").
  • ТДАТА() пригодится для тайм-трекинга или логов, где критично точное время (например, "отчёт сформирован 15.05.2026 в 14:30:22").

Профессиональный совет: если вам нужно только время без даты, используйте формулу =ТДАТА()-СЕГОДНЯ() и отформатируйте ячейку как время.

Продвинутые примеры: как комбинировать СЕГОДНЯ() с другими функциями

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

  1. Автоматическая категоризация по кварталам:
    =ЕСЛИ(И(МЕСЯЦ(СЕГОДНЯ())>=1;МЕСЯЦ(СЕГОДНЯ())<=3);"Q1";
    

    ЕСЛИ(И(МЕСЯЦ(СЕГОДНЯ())>=4;МЕСЯЦ(СЕГОДНЯ())<=6);"Q2";

    ЕСЛИ(И(МЕСЯЦ(СЕГОДНЯ())>=7;МЕСЯЦ(СЕГОДНЯ())<=9);"Q3";"Q4")))

    Эта формула определит текущий квартал и вернёт его обозначение (Q1, Q2 и т.д.).

  2. Расчёт рабочих дней до дедлайна:
    =ЧИСТРАБДНИ(СЕГОДНЯ();D5)

    Функция ЧИСТРАБДНИ учитывает только рабочие дни (понедельник-пятница), игнорируя выходные.

  3. Динамический заголовок отчёта:
    ="Отчёт по продажам на " & ТЕКСТ(СЕГОДНЯ();"д мммм йййй г.")

    Результат: "Отчёт по продажам на 15 мая 2026 г." (формат адаптируется под язык системы).

Для финансовых аналитиков полезной будет комбинация с функцией РАЗНДАТ для расчёта стажа или срока владения активом:

=РАЗНДАТ(B2;СЕГОДНЯ();"y") & " лет, " & РАЗНДАТ(B2;СЕГОДНЯ();"ym") & " мес."

Эта формула вернёт строку вида "5 лет, 3 мес." для даты в ячейке B2.

Как сделать так, чтобы функция СЕГОДНЯ() обновлялась раз в неделю?

Создайте дополнительную ячейку с формулой =ЕСЛИ(НОМНЕДЕЛИ(СЕГОДНЯ())<>НОМНЕДЕЛИ($A$1);СЕГОДНЯ();$A$1), где $A$1 — ячейка с последней зафиксированной датой. Теперь дата будет обновляться только по понедельникам.

Альтернативы функции СЕГОДНЯ() в разных версиях Excel

Хотя СЕГОДНЯ() доступна во всех версиях Excel с 1997 года, в некоторых случаях приходится искать обходные пути. Вот что можно использовать вместо неё:

  • 🖥️ Excel для Mac:

    Функция работает идентично, но может требовать ручного обновления (⌘ + =).

  • 🌐 Google Sheets:

    Полный аналог — TODAY(), с тем же синтаксисом и поведением.

  • 📱 Мобильный Excel:

    Функция доступна, но для её ввода может потребоваться переключение на английскую раскладку.

  • 🔄 Power Query:

    Здесь текущую дату можно получить через = DateTime.LocalNow() (возвращает дату и время).

В Excel 365 появились новые динамические массивы, которые можно комбинировать с СЕГОДНЯ() для создания автоматических календарей. Например:

=ПОСЛЕДОВАТ(1;12;ДАТА(ГОД(СЕГОДНЯ());1;1);1)

Эта формула сгенерирует список всех месяцев текущего года в формате дат.

⚠️ Внимание: В Excel 2003 и более ранних версиях функция СЕГОДНЯ() может некорректно работать с датами после 2038 года из-за ограничений 32-битной системы. Если вы ведёте долговременные проекты, обновляйте Excel до актуальной версии.

FAQ: Ответы на частые вопросы о функции СЕГОДНЯ()

Можно ли отключить автоматическое обновление функции СЕГОДНЯ()?

Да, но не напрямую. Варианты:

  1. Замените формулу на статичное значение (Копировать → Специальная вставка → Значения).
  2. Используйте макрос VBA для фиксации даты при первом открытии файла.
  3. Отключите автоматический пересчёт формул (Формулы → Параметры вычислений → Вручную), но это повлияет на все формулы в книге.
Почему функция СЕГОДНЯ() показывает вчерашнюю дату?

Причины могут быть следующими:

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

Используйте функцию ТЕКСТ с нужным языковым стандартом:

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

Где 409 — код локали для английского (США). Для британского английского используйте 809.

Можно ли использовать СЕГОДНЯ() в сводных таблицах?

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

  1. Создайте вспомогательный столбец в исходных данных с формулой =СЕГОДНЯ().
  2. Обновите источник данных сводной таблицы, включив в него этот столбец.
  3. Используйте его для фильтрации или группировки.

Но помните: при каждом обновлении сводной таблицы дата будет фиксироваться, а не обновляться.

Как посчитать количество дней между сегодняшней датой и датой в другой ячейке, игнорируя выходные?

Используйте функцию ЧИСТРАБДНИ:

=ЧИСТРАБДНИ(СЕГОДНЯ();B2)

Где B2 — ячейка с целевой датой. Чтобы исключить также праздники, добавьте их список третьим аргументом:

=ЧИСТРАБДНИ(СЕГОДНЯ();B2;D2:D10)

Где D2:D10 — диапазон с датами праздников.