Как в Excel посчитать количество дней между датами? - коротко
Используйте функцию DATEDIF: =DATEDIF(A1;B1;"d") — она возвращает количество полных дней между датой в A1 и датой в B1. Также можно просто вычесть одну дату из другой и отформатировать ячейку как число: =B1‑A1.
Как в Excel посчитать количество дней между датами? - развернуто
Для вычисления количества дней между двумя датами в Excel существует несколько простых способов, каждый из которых подходит под разные задачи.
Самый базовый метод – вычесть более раннюю дату из более поздней. В ячейке, где требуется получить результат, вводится формула вида =A2-B2
, где A2 содержит конечную дату, а B2 – начальную. Excel автоматически преобразует разницу в число, представляющее количество полных дней. Если результат отображается в виде даты, достаточно изменить формат ячейки на «Общее» или «Число».
Когда требуется исключить из расчёта weekends (субботу и воскресенье) или праздничные дни, удобно воспользоваться функцией NETWORKDAYS
. Синтаксис: =NETWORKDAYS(start_date; end_date; [holidays])
. Параметр holidays
– это диапазон ячеек, где перечислены даты официальных праздников. Функция возвращает количество рабочих дней, включающее начальную и конечную даты, если они выпадают на будний день.
Для подсчёта только календарных дней, но с учётом части суток, можно использовать функцию DATEDIF
. Формула =DATEDIF(start_date; end_date; "d")
выдаёт полное количество дней между датами, игнорируя часы и минуты. Если требуется добавить к результату дробную часть, представляющую часть дня, следует использовать обычное вычитание и делить полученное значение на 24, если в исходных датах указано время.
Иногда необходимо получить разницу в виде лет, месяцев и дней. Здесь тоже пригодится DATEDIF
, только с разными параметрами:
"y"
– количество полных лет,"m"
– количество полных месяцев,"d"
– количество дней,"ym"
– остаток месяцев после вычета полных лет,"md"
– остаток дней после вычета полных месяцев.
Пример комбинированного расчёта: =DATEDIF(A2;B2;"y") & " лет " & DATEDIF(A2;B2;"ym") & " месяцев " & DATEDIF(A2;B2;"md") & " дней"
.
Если дата хранится в виде текста, её необходимо сначала преобразовать в дату функцией DATEVALUE
. Формула =DATEVALUE("01.03.2023")
вернёт числовое представление этой даты, после чего можно применять любые из перечисленных методов.
Для автоматизации расчётов в больших таблицах удобно создать вспомогательный столбец, где будет вычисляться разница, а затем использовать сводные таблицы или функции агрегирования (SUM
, AVERAGE
) для получения итоговых показателей.
Не забывайте проверять, что ячейки действительно содержат даты, а не текстовые строки. При ошибках Excel выводит #VALUE!
. В таких случаях помогает функция ISNUMBER
в сочетании с DATEVALUE
для предварительной валидации данных.
Таким образом, используя простое вычитание, NETWORKDAYS
, DATEDIF
и вспомогательные функции, можно быстро и точно получить нужный интервал между датами в любой задаче.