Как в Excel вставить текущую дату и время, как найти количество дней между датами (в т.ч. рабочих)
Д оброго дня!
В некоторых случаях при работе с документами в Excel очень нужно, чтобы проставлялась текущая дата: например, вы часто делаете отчеты по одной и той же форме (глаз со временем «замыливается» и их можно перепутать) ; или, скажем, у вас есть десяток-другой задач и вы каждый день по ним просматриваете как продвигается дело, и сколько дней осталось до завершения.
Для решения всех подобных «загвоздок» в Excel есть несколько специальных формул. Собственно, о них и будет сегодняшняя заметка.
Примечание : скриншоты в статье приведены из Excel 2019 (материал актуален также для версии 2016, 2013).
📌 Дополнение!
Если с вашими документами иногда работают посторонние люди, рекомендую некоторые ячейки защищать от изменения — https://ocomp.info/zashhita-yacheek-v-excel.html
Работа с датами в Excel
ШАГ 1: вставка текущей даты
Самый простой и быстрый вариант поставить в ячейку текущую дату и время — это воспользоваться функцией » =ТДАТА() » (достаточно скопировать в любую ячейку Excel, разумеется, без кавычек) .

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

ШАГ 2: сколько всего дней между двумя датами
Это еще один популярный вопрос.
Определить общее количество дней между двумя датами можно с помощью формулы » =ДНИ(B2;A2) » (где B2 и A2 — конечная и начальная дата, соответственно) .
Разумеется, зная значение в днях — легко узнать и значение в годах (достаточно разделить число на 365. ).

Ко-во дней посчитано
Кстати, если у вас ячейки имеют формат дат — то можно поступить даже проще: просто вычесть из одной даты другую (как если бы это были числа).
Причем, если у вас в одной из ячеек будет указано время (как в моем примере) — Excel посчитает вплоть до десятых.

ШАГ 3: определение кол-ва рабочих дней между датами
Более интересный вариант, когда нам нужно не просто определить кол-во дней, но и узнать сколько из них выходных, а сколько рабочих.
В этом случае может помочь формула » =ЧИСТРАБДНИ(A2;B2) » (где A2 и B2 — начальная дата и конечная, соответственно) .

51 рабочий день
Кстати, если вам нужно подсветить ячейки красно-зеленым цветом (чтобы сразу же видеть те строки, где, например, горят сроки — рекомендую использовать инструмент «Условное форматирование» в разделе «Главная» ). Пример ниже. 👇

Правила выделения ячеек
В общем-то, выглядит это все достаточно наглядно (например, те задачи, которым осталось времени на выполнение меньше 4 дней — у меня в отчете подсвечиваются красным. Удобно!)
Примечание : для обновления текущей даты и времени — нажмите сочетание кнопок Ctrl+R.
Excel works!

Количество рабочих дней между датами в Excel
Еще одна интересная функция из серии дата-время — это ЧИСТРАБДНИ(), с ее помощью возможно посчитать Количество рабочих дней между датами. Но есть и многим неизвестная сторона этой функции: можно считать количество дней с учетом праздников. Даты праздников можно задать вручную. Это очень удобно. А так же рассмотрим функцию РАБДЕНЬ(), она поможет отсчитать кол-во рабочих дней от начальной даты. Подробнее о них внутри статьи.
Как считать количество рабочих дней между датами?
Чтобы подсчитать количество дней между двумя датами, можно вычесть из большей даты меньшую, ведь даты и время в Excel — это просто числа в нужном формате. Чтобы подсчитать это количество рабочих дней, существует специальная крайне полезная функция =ЧИСТРАБДНИ(). Как ей пользоваться?
Функция ЧИСТРАБДНИ. Реквизиты и пример
Начнем, как всегда, с состава функции и ее реквизитов.
Состав реквизитов можно увидеть на начальной картинке
нач_дата — дата, с которой начинаем расчет.
кон_дата — дата, до которой нужно произвести расчет.
праздники — необязательный реквизит. Список дат, который надо исключить из рабочих дней календаря. Реквизит может состоять из диапазона дат или массива. Как пользоваться можно посмотреть ниже.
Если вам нужно отсчитать количество рабочих дней с заданной даты, пользуйтесь РАБДЕНЬ.
Функция РАБДЕНЬ. Реквизиты и пример

Нач_дата — дата, с которой начинаем расчет.
число_дней — количество дней, которые должны пройти с начальной даты
праздники — такой же реквизит как и ЧИСТРАБДНИ
Учет праздников — скрытая супер возможность этой формулы, очень рекомендуем ее использовать:
Как считать рабочие дни с учетом праздников?
Для обоих функций, как вы заметили, есть реквизит ‘Праздники’. В нем можно указать, какие даты будут считаться праздниками (соответственно, не учитывая выходные). Например так:

Еще удобнее сделать именованный диапазон и назвать его праздники, чтобы формула смотрелась красиво.
Расчет количества рабочих дней между двумя датами в Excel
Очень часто во время сведения количества дней, которые прошли от начальной даты до конечной, не нужно учитывать выходные дни. По выходным фирмы обычно не работают значит для вычислений следует не учитывать такие дни.
Пример расчета количества рабочих дней без выходных
Для расчета количества трудовых дней между датами начальной и конечной за исключением выходных можно воспользоваться функцией ЧИСТРАБДНИ:

Применяемая формула весьма проста. Функция ЧИСТРАБДНИ имеет два обязательных для заполнения аргумента:
- Начальная дата.
- Конечная дата.
Если начальная дата записана в ячейке A2, а конечная в B2, тогда функция возвращает количество только рабочих дней (без суббот и воскресенья) с учетом високосных годов, в которых всего 366 дня.
Главным недостатком данной формулы является тот факт, что она по умолчанию за выходные считает только субботы и воскресенья. Что делать если у вашей фирмы выходными считаются только воскресенья? Или же если вы работаете в сфере торговли у вас могут быть выходные другие дни, например, пятницы и субботы?
Для вычислений данного типа Excel предлагает функцию ЧИСТРАБДНИ.МЕЖД. Данная функция обладает дополнительным важным аргументом – «Выходные». Здесь следует указать один из кодов, который поддерживает данная функция (от 1 и до 15). Данный код определяет которые дни недели должны быть восприняты как выходные и не учитываться при вычислении формулы.
В процессе введения функции вручную в ячейку или в строку формул в момент заполнения третьего аргумента появится подсказка значения кодов 1-15. Как показано ниже на рисунке:

Просто выберите соответствующий вашим требованиям код и нажмите Enter. Теперь вы сами решаете какие дни недели считать выходными, а какие нет.
Функция РАБДЕНЬ() в EXCEL
Она возвращает момент времени, который наступит через определенное число рабочих дней (или наступил ранее). Она не учитывает дни отдыха и любые праздники, которые вы отдельно укажете.
Она подходит для расчета производственных графиков и сроков исполнения на основе стандартного производственного календаря, причем суббота и воскресенье – это для нее всегда дни отдыха.
РАБДЕНЬ – это встроенная функция в Excel 2007, 2010, 2013 и 2016. Ее можно ввести руками либо при помощи мастера функций. В более ранних версиях вам нужно специально включать пакет инструментов анализа.
Вам необходимо использовать следующие аргументы:
РАБДЕНЬ(дата_начала; дни; [праздничные_дни])
Первые два обязательны, а последний – по желанию:
- Дата_начала – с нее начинается подсчет дней.
- Дни – рабочие дни, которые нужно добавить или вычесть из начальной точки отсчета. Положительное число возвращает будущий момент времени, отрицательное — возвращает в прошлое.
- Праздничные_дни – необязательный список дат, которые следует считать нерабочими днями. Это может быть либо диапазон ячеек, содержащих даты, которые вы хотите исключить из расчетов, либо константа массива.
Синтаксис
=WORKDAY(start_date, days, [holidays]) – английская версия
=РАБДЕНЬ(нач_дата;количество_дней;[праздники]) – русская версия
Аргументы функции
- start_date (нач_дата) – дата, которую мы берем за точку отсчета;
- days (количество_дней) – общее количество рабочих дней, не включая выходные. Вы можете использовать как положительные, так и отрицательные числа в аргументе;
- [holidays]([праздники])– (не обязательно) Это диапазон дат, который необходимо исключить из расчетов. Например, это могут быть какие-либо национальные праздники. Также, это может быть ссылка на диапазон ячеек, который содержит даты, или может быть массивом порядковых номеров, которые содержат даты.
Что возвращает функция
Дату, наступающую по прошествии заданного количества рабочих дней.
Как добавить или вычесть рабочие дни.
Чтобы рассчитать рабочие дни в Эксель, следуйте этим простым правилам:
- Чтобы добавить будние дни, введите положительное число в качестве аргумента дни в формуле РАБДЕНЬ.
- Чтобы вычесть будние дни, используйте там же отрицательное число.
Предположим, у вас в ячейке A10 указан начальный момент времени, а список праздников — в ячейках А2: А7. Вы хотите узнать, какое число будет через 90 рабочих дней в будущем и прошлом.
Вы можете сделать это, используя следующие формулы:
Чтобы добавить столько же к начальной точке, но учитывая праздничные дни в А2: А7:
Чтобы вычесть 90 рабочих дней, исключая праздники:
Чтобы рассчитать сроки на основе текущей даты, используйте функцию СЕГОДНЯ() в качестве точки начала:
Чтобы добавить 90 рабочих дней:
Чтобы переместиться на такое же время назад по отношению к сегодня:
Чтобы указать время начала непосредственно в формуле, используйте формулу ДАТА():
На следующем скриншоте показаны результаты всех этих и еще нескольких формул РАБДЕНЬ:
И, естественно, вы можете указать, сколько будних дней нужно добавить либо вычесть из точки начала в некоторой ячейке, а затем сослаться на эту ячейку в своей формуле. Например:
Где A10 – начальная датировка, а C1 – число рабочих дней до (отрицательные числа) или после (положительные числа) нее, без учета праздников.
Настраиваем свой график выходных дней.
В случае, если у вас применяется какой-то особенный график нерабочих дней (не суббота и воскресенье), то вам в помощь – формула РАБДЕНЬ.МЕЖД (WORKDAY.INTL в английской версии).
Она появилась в Excel 2010, в более старых версиях программы ее нет.
Дополнительно к своей предшественнице, она позволяет указывать, какие именно дни недели предназначены у вас для отдыха.
Синтаксис ее выглядит следующим образом:
РАБДЕНЬ.МЕЖД (дата_начала, дни, [выходные], [праздничные_дни])
Первые два аргумента являются обязательными и знакомыми нам:
Дата_начала – начальный момент времени.
Дни – будние дней до (отрицательное значение) или после (положительное значение) начальной точки. Если этот аргумент в результате каких-то расчетов передается в виде десятичного числа, то дробная часть отбрасывается.
Последние два аргумента являются необязательными:
Выходные – указывает, что именно следует считать днями отдыха. Это может быть либо число, либо текст, как показано ниже.
Число
Выходные дни
1 или отсутствует
Только в пятницу
Текст для указания выходного дня – серия цифр из семи нулей и единиц, представляющих семь дней недели, начиная с понедельника. 1 означает нерабочий день, и 0 — соответственно наоборот. Например:
- «0000010» — суббота – отдыхаем.
- «1000001» — понедельник и воскресенье – отдыхаем.
И вот как это может выглядеть на примере:
Я бы рекомендовал обратить внимание на конструкцию
Просто переставляя 0 и 1, можно прямо указать любой график труда и отдыха.
Все остальное, думаю, достаточно хорошо понятно из скриншота.
Замечание. Функции Excel РАБДЕНЬ и РАБДЕНЬ.МЕЖД возвращают порядковые номера (числа), представляющие даты. Чтобы они отображались как нужно, выделите нужные ячейки и нажмите Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Число» выберите «Дата» и определите нужный формат.
Количество дней между двумя датами в Excel
Это очень простой и понятный пример, в котором необходимо от последней даты отнять начальную дату, а полученное значение преобразовать в числовой формат. Как видите это можно произвести без помощи функций, но для получения рабочих дней нам это не подойдет. 
Функция РАБДЕНЬ
- Функция РАБДЕНЬ (WORKDAY) почти противоположна функции ЧИСТРАБДНИ (NETWORKDAYS). Она возвращает дату до или после указанного количества будних дней (выходные исключены).

Примечание: Функция РАБДЕНЬ (WORKDAY) возвращает порядковый номер даты. Примените формат даты к ячейке для её отображения.
Календарь ниже поможет вам лучше понять функцию РАБДЕНЬ (WORKDAY).

Опять же, если вы подставите список праздников, функция РАБДЕНЬ (WORKDAY) вернёт дату до или после указанного количества рабочих дней (исключая выходные и праздничные дни).
Складывать и вычитать календарные дни
Excel позволяет добавлять к дате и вычитать из нее нужное количество дней. Никаких специальных формул для этого не нужно. Достаточно сложить ячейку, в которую ввели дату, и необходимое число суток.
Например, вам необходимо создать резерв по сомнительным долгам в налоговом учете. В том числе нужно просчитать, когда у покупателя возникнет задолженность со сроком 45 дней после дня реализации. Для этого в одну ячейку внесите дату отгрузки. К примеру, это ячейка D2. Тогда формула будет выглядеть так: =D2+45. Вычитаются дни по аналогичному принципу. Главное, чтобы ячейка с датой, к которой будете прибавлять число, имела правильный формат. Чтобы это проверить, нажмите правой кнопкой мыши на ячейку, выберите «Формат ячеек» и удостоверьтесь, что установлен формат «Дата».
Как выглядит формат ячейки в Excel
Таким же образом можно посчитать и количество дней между двумя датами. Просто вычтите из более поздней даты более раннюю. Результат Excel покажет в виде числа, поэтому ячейку с итогом переведите в общий формат: вместо «Дата» выберите «Общий».
К примеру, необходимо посчитать, сколько календарных дней пройдет с 05.11.2019 по 31.12.2019. Для этого введите эти даты в разные ячейки, а в отдельной ячейке поставьте знак «=». Затем вычтите из декабрьской даты ноябрьскую. Получится 56 дней. Помните, что в этом случае в подсчет войдет последний день, но не войдет первый. Если вам необходимо, чтобы итог включал оба дня, прибавьте к формуле единицу. Если же, наоборот, нужно посчитать количество дней без учета обеих дат, то единицу необходимо вычесть.
Сделать ячейку, в которой всегда стоит текущая дата
Введите в ячейку функцию СЕГОДНЯ, и в ней всегда будет актуальная дата. Чтобы функция работала исправно, учтите два условия. Во-первых, проверьте, верно ли стоит дата у вас на компьютере. Программа будет учитывать именно ее. Во-вторых, укажите в настройках Excel, чтобы формулы пересчитывались автоматически. Для этого в левом верхнем углу открытого листа Excel нажмите «Файл». В открывшемся меню выберите «Параметры», затем вкладку «Формулы» и проверьте, чтобы в колонке «Вычисления в книге» был выбран параметр «Автоматически».
В ячейке содержится Дата
В столбце А содержатся значения в формате дата, например в ячейке А6 – 13.08.2012.
Чтобы настроить правило Условного форматирования нужно:
- выделить диапазон А6:А14
- выбрать пункт меню Главная/ Стили/ Условное форматирование/ Создать правило…
- выбрать тип правила Использовать формулу для определения форматируемых ячеек
- в поле Форматировать значения, для которых следующая формула является истинной ввести формулу =ДЕНЬНЕД(A6;2)>5
- задать формат, например красную заливку фона ячейки.

Даты в столбце А , у которых номер дня недели >5, будут выделены красным.

В ячейке с пользовательским форматом ДДД или ДДДД содержится Дата
Пусть в столбцах B и С также содержатся значения в формате дата, например в ячейке B6 введем формулу =A6 .
Для ячеек в диапазоне B6:B14 настроим пользовательский формат ДДД (для диапазона С6:С14 ДДДД).


Не смотря на то, что теперь в ячейках отображаются Пн и Понедельник, значения в ячейках продолжают оставаться в формате Дата. В этом можно убедиться скопировав значение ( CTRL+V ), например, из ячейки С6 , и вставив его Как значение ( Главная/ Буфер обмена/ Вставить / Вставить значение ). В Строке формул будет отображаться значение 13.08.2012, а не слово понедельник . Поэтому настраивать правило Условного форматирования нужно так как показано в предыдущем разделе.
В ячейке содержится Число
Пусть в столбце D содержится номер дня недели, например в ячейке D6 введем формулу =ДЕНЬНЕД(A6;2) .

В этом случае правило Условного форматирования настраивается аналогично случаю когда в ячейке содержится Дата, только несколько упрощается формула =$D6>5
Пошаговая инструкция создания календаря в Excel
Сейчас мы создадим автоматический календарь который пригодится не только на текущий год, но и на все последующие года. И для этого нам не понадобятся макросы и программирование. Все что я покажу – сделано с использованием стандартных возможностей Excel.
Делаем заголовки
В ячейку A1 вбиваем следующую формулу: =”Календарь на ” & ГОД(СЕГОДНЯ()) & ” год”. Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.
Теперь создадим заголовки месяцев. В ячейку где стоит Январь запишем следующую формулу =ДАТА(ГОД(СЕГОДНЯ());1;1). Эта функция возвращает первое января текущего года (01.01.2015 в моем случае). Применим к этой ячейке такой формат, чтобы отображалось только название месяца. Для этого откроем формат ячеек сочетанием клавиш Ctrl + 1 и выберем соответствующий формат (см. рисунок).
Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):
Проставляем числа
Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу – формулу массива. На вид звучит страшновато, но если разобраться – все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter):
=ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+<0:1:2:3:4:5:6>*7+
Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.
Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:
Добавляем условного форматирования
Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))
В качестве формата я выбрал серый текст шрифта и получил следующую картину:
Автоматически выделяем текущую дату в календаре
Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):
Подготовка ячеек для работы с датами
Перед тем как начинать работать с датами в Excel, нужно убедиться, что ячейки, в которых будут храниться даты, отформатированы в формат «Дата». Обычно Excel автоматически присваивает такой формат при вводе данных похожих на дату, но если сделать это вручную, то это позволит избежать возможных проблем.
Для того чтобы изменить формат ячеек их нужно выделить мышкой, кликнуть по ним правой кнопкой и в открывшемся меню выбрать пункт «Формат ячеек».
После этого откроется окно, в котором нужно выбрать формат «Дата», тип формата, который будет использоваться, и нажать на кнопку «ОК».
После настройки формата ячеек можно приступать к работе с датами. Для подсчета количества дней между двумя датами можно использовать различные способы. Ниже мы по отдельности рассмотрим каждый из этих вариантов.
Подсчет количества дней с помощью простой формулы
Самый простой вариант подсчета количества дней между двумя датами, это простая формула, которая будет вычитать одну дату из другой. Делается это очень просто. Для начала вам нужно ввести начальную и заключительную дату в отдельные ячейки и присвоить им формат «Дата», так как это описано выше.
После этого нужно выбрать ячейку, в которой будет находиться результат вычислений, и присвоить ей формат «Общий». Формат «Дата» для ячейки с результатом не подходит, поскольку в этой ячейке будет находиться количество дней (число), а не конкретная дата.
После присвоения формата «Общий», в эту ячейку нужно ввести формулу, которая будет отнимать более раннюю дату от более поздней. Подобная формула вводится очень просто. Выделяем ячейку, в которой должен находится результат, вводим символ «=», потом адрес ячейки с более поздней датой, потом символ «-» и адрес ячейки с более ранней датой.
После ввода формулы нужно нажать на клавишу Enter, и вы получите результат.
Как видим, в данном случае количество дней между двумя датами составляет 41.
Второй способ: определение часов через временной промежуток
Предположим, нам дано время 11 часов 45 минут, требуется узнать, сколько будет по истечении 2 часов 15 минут. Будем действовать по инструкции, чтобы получить результат.
- Отформатируем лист, если в нем проводились предыдущие расчеты, выбираем пустое поле и вписываем в двух соседних ячейках наши часы. Затем кликаем на пустую ячейку рядом. В ней будут выполняться все расчеты.

- Активируем пустую ячейку, переходим в строку формул, где устанавливаем знак «=» без кавычек. Нажимаем на ячейку с показателем часов на данный момент, ставим знак «+», добавляем соседнюю ячейку. Нажимаем кнопку «Enter». В итоге получится время, которое будет после определенного промежутка (в нашем случае по истечении 2 часов 15 минут).

В данном случае вы можете посчитать количество часов по истечении времени только в сутки. Если необходимо вычислить, какой показатель циферблата будет пределом, необходимо выбрать другой формат ячеек. Для этого активируйте окно форматирования и в списке аргументов укажите строчку со звездочкой, обязательно смените вкладку числового формата на «Время».