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

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

=СЕГОДНЯ()

Вы можете отформатировать возвращаемое значение в любом встроенном либо произвольном формате даты. Например, таким образом:

3 вещи, которые вы должны знать об использовании функции СЕГОДНЯ() в Эксель:

  1. Она изменчивая. Это означает, что она постоянно обновляется при каждом открытии либо изменении рабочего листа.
  2. Если результат не обновляется сам собой, то, скорее всего, автоматический пересчет просто отключен в вашей книге. Чтобы снова активировать его, перейдите на вкладку Файл – Параметры - Формулы - «Параметры вычислений» и выберите «Автоматически». Альтернатива — просто нажмите F9.
  3. Хотите вставить текущую дату и время? Возьмите ТДАТА().

Как вставить сегодняшнюю дату?

Существует два способа – при помощи формулы и вручную. Какой из них воспользоваться, зависит от того, хотите ли вы получить статическое или динамическое значение.

Значение, возвращаемое формулой, всегда обновляется автоматически. Поэтому она нужна, чтобы на рабочем листе всегда отображалась актуальная информация, независимо от того, когда вы его открываете.

=СЕГОДНЯ()

Для лучшей ясности вы можете объединить её с пояснительным текстом:

=СЦЕПИТЬ("Сегодня — ";ТЕКСТ(СЕГОДНЯ(); "dd mmmm, yyyy"))

Поскольку в Excel  время хранится в виде чисел, объединение текста с формулой «в лоб» приведет к бессмыслице, скажем, «Сегодня — 42965». Избегая этого, мы вкладываем ее в функцию ТЕКСТ для отображения в нужном формате.

функция СЕГОДНЯ с текстом

Конечно, можно просто записать нужное значение в ячейку с клавиатуры. Но более быстрый способ - одно из следующих сочетаний клавиш:

  • Для вставки  текущей даты:   Ctrl +;
  • Вставить  время: Ctrl + Shift +;
  • Для ввода дат и времени: Ctrl +; затем пробел, а затем  Ctrl + Shift +;

Примечание. Чтобы это сработало, при загрузке Excel у вас должна быть включена английская раскладка клавиатуры. Почему так – загадка Microsoft…

Как использовать функцию СЕГОДНЯ в Excel – примеры.

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

Добавить (вычесть) дни от текущего момента.

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

Добавляя 7 дней, сделайте так:

= СЕГОДНЯ() + 7

Вычитаем 7 дней:

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

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

Добавляем 7 рабочих дней:

= РАБДЕНЬ(СЕГОДНЯ(); 7)

Вычитаем 7 рабочих дней:

= РАБДЕНЬ (СЕГОДНЯ(); -7)

Следующий скриншот показывает результаты:

добавляем и вычитаем дни из текущей даты

Примечание. Чтобы правильно отобразить вычисленное, не забудьте установить формат ячейки на «Дата».

Сколько дней до либо после определенного момента?

Подсчитывая, сколько дней осталось до наступления какого-то события, вычтите сегодняшнее из будущего:

дата - СЕГОДНЯ()

Ее можно передать непосредственно в выражение в формате, понятном для Эксель, либо с помощью ДАТА(), либо в качестве ссылки на ячейку.

Узнаем, сколько осталось до 31 декабря 2020 года, примените один из способов:

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

=ДАТА(2020;12;31)-СЕГОДНЯ()

="31/12/2020"-СЕГОДНЯ()

Все они говорят нам, что на момент написания (19 апреля 2020 года) до конца 2020 года оставалось 256 суток:

примеры функции СЕГОДНЯ()

Посчитаем, сколько прошло суток с определенной даты. Вычтем из нее уже прошедшую:

СЕГОДНЯ() - дата

Узнаем, сколько дней прошло с 1 января 2020 года. Есть несколько вариантов:

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

=СЕГОДНЯ()-ДАТА(2020;1;1)

=СЕГОДНЯ()-"1/1/2020"

как посчитать сколько прошло времени в Экселе

Рассчитать число месяцев до либо после определенного момента.

Для расчета сколько месяцев между двумя датами, применяется РАЗНДАТ() (DATEDIF в английском варианте):

РАЗНДАТ(прошедшая; СЕГОДНЯ(); "m")

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

РАЗНДАТ(СЕГОДНЯ(); будущая;"m")

Указав интересующий нас срок в ячейке A4 то наши вычисления можно упростить.

Подсчитываем месяцы с определенной точки в прошлом:

РАЗНДАТ(A4;СЕГОДНЯ();"m")

Месяцы до определенной отметки в будущем:

РАЗНДАТ(СЕГОДНЯ();D4;"m")

функции РАЗНДАТ и СЕГОДНЯ вычислить разность дат

Обратите внимание, что здесь рассчитывается количество полных месяцев.

Рассчитать годы до и после определенного события.

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

Годы, прошедшие после какого-то события:

РАЗНДАТ(прошедшая дата; СЕГОДНЯ(); "y")

Годы до будущего события:

РАЗНДАТ(СЕГОДНЯ(); будущая дата; "y")

Записав время не в само выражение, а в ячейку A4, получим:

Полных лет после:

РАЗНДАТ(A4;СЕГОДНЯ();"y")

Полных лет до:

РАЗНДАТ(СЕГОДНЯ();A4;"y")

расчет будущих и прошедших дат на основе текущей даты

Как и в предыдущем случае, подсчитываются только полные годы.

Поэтому, если расчет приходится на день рождения, целесообразно добавить 1 к первому аргументу. Иначе станете на 1 год моложе :)

 Для получения дополнительной информации о РАЗНДАТ() см. Как посчитать, сколько дней между датами.

Считаем возраст.

Зная чей-то год рождения, вы можете вычесть этот год из текущего, и узнать возраст человека:

ГОД(СЕГОДНЯ()) – год рождения

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

ГОД(СЕГОДНЯ())-1991

Вы можете ввести год рождения в отдельной ячейке и затем сослаться на неё:

посчитать возраст при помощи функции СЕГОДНЯ

Вы можете увидеть несколько других примеров расчета возраста в этом уроке.

Как найти в списке ближайший день календаря?

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

Чтобы найти ближайшую прошедшую, сначала «отфильтруйте» все, превышающие текущую, а затем обработайте функцией МАКС(), и получите наибольшую среди оставшихся.

С примерами в ячейках от A2 до A10 это будет выглядеть следующим образом:

МАКС(ЕСЛИ($A$2:$A$10 < СЕГОДНЯ(); $A$2:$A$10))

Как найти в списке ближайший день календаря при помощи функции СЕГОДНЯ

Чтобы найти точку ближайшего будущего, определите в начале все те, которые еще не наступили, а затем при помощи функции МИН() получите наименьшее среди них:

=МИН(ЕСЛИ($A$2:$A$10 > СЕГОДНЯ(); $A$2:$A$10))

найти в списке ближайшую будущую дату  при помощи функции СЕГОДНЯ

Получить любой день, ближайший к сегодняшнему.

Определяя ближайший к нам день в смешанном списке прошлых и будущих событий, используйте классическую комбинацию ИНДЕКС+ПОИСКПОЗ с несколькими изменениями:

ИНДЕКС( диапазон; ПОИСКПОЗ(МИН (ABS ( диапазон - СЕГОДНЯ ())); ABS ( диапазон - СЕГОДНЯ ()); 0))

Давайте поясним:

  • МИН(ABS( диапазон - СЕГОДНЯ())). Сначала вы вычитаете актуальную дату из каждой позиции в перечне. Затем функция ABS() возвращает различия в виде абсолютных значений без учета их знака. МИН находит минимальное значение, которое затем применяется в качестве критерия поиска.
  • ABS(диапазон - СЕГОДНЯ()). Вы вычитаете ее из каждой позиции в списке и возвращаете массив абсолютных значений. В этом массиве ИНДЕКС+ПОИСКПОЗ ищет критерий поиска.

В этом примере выражение принимает следующий вид:

=ИНДЕКС($A$2:$A$10; ПОИСКПОЗ(МИН(ABS($A$2:$A$10 - СЕГОДНЯ())); ABS($A$2:$A$10 - СЕГОДНЯ()); 0))

На скриншоте ниже показан результат:

найти ближайший к сегодняшнему день в Excel

Примечание. Все три примера для получения ближайшей даты являются формулами массива, поэтому их необходимо вводить, нажав Ctrl + Shift + Enter .

Выделяем цветом актуальное время в таблице.

При работе с длинным списком событий либо разработке собственного календаря в Эксель может быть целесообразным выделение цветом текущего момента. Для этого создайте правило условного форматирования с этим выражением:

=B$1=СЕГОДНЯ()

Где B1 - самая левая верхняя ячейка области, к которой применяется правило.

Результат может выглядеть примерно так:

условное форматирование текущей даты в таблице при помощи СЕГОДНЯ()

Обратите внимание, что знак $ позволяет закрашивать весь столбец. Нужна только первая строка? Запишите просто - B1.

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

Итак, мы с вами рассмотрели основные способы применения функции СЕГОДНЯ() в Excel. Если мы что-то упустили – пишите в комментариях.