Excel Formulas Academy · Урок

Подсчёт дней между датами

Находите разницу между двумя датами с помощью DATEDIF и вычитания

Урок 4 из 413 шагов

«Подсчёт дней между датами» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.

Измерение промежутка

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

Поскольку электронные таблицы хранят даты в виде чисел, самый простой ответ — обычное вычитание. Для более сложных задач, например подсчёта полных месяцев или лет, используется функция DATEDIF.

На этом уроке Вы освоите и быстрый способ с вычитанием, и точный способ с DATEDIF.

Вычитание двух дат

Чтобы посчитать количество дней между более ранней датой в A2 и более поздней датой в B2, просто вычтите одну дату из другой.

Результат — количество дней между датами. Если в A2 указано 1 июня, а в B2 — 18 июня, формула =B2-A2 возвращает 17.

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

=B2-A2

Проверьте формат ячейки

Распространённая неожиданность: после вычитания дат ячейка с ответом иногда показывает дату вместо числа, например 1/17/1900.

Это происходит потому, что ячейка унаследовала формат даты. Вычисление выполнено правильно, неверно только отображение. Исправьте это, изменив формат ячейки на Число с нулевым количеством десятичных знаков.

После форматирования в виде числа Вы увидите ожидаемое аккуратное количество дней.

Подсчёт с включением и без включения границ

Обычное вычитание считает промежутки между днями, а не сами дни. С 1 по 18 июня вычитание даёт 17, но всего календарных дней на самом деле 18, если считать обе даты.

Если в Вашей ситуации нужно включить и начальный, и конечный день, прибавьте к результату 1.

Таким образом, формула =B2-A2+1 даёт количество дней с включением обеих границ. Определите, какой вариант нужен в Вашем отчёте.

=B2-A2+1

Знакомство с DATEDIF

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

Код единицы определяет, что именно подсчитывается:

  • "D" считает дни
  • "M" считает полные месяцы
  • "Y" считает полные годы

Обратите внимание: DATEDIF — скрытая устаревшая функция; она работает, но не отображается в списке автодополнения Excel.

=DATEDIF(A2,B2,"D")

Подсчёт полных месяцев

Используйте единицу "M", чтобы посчитать полные месяцы между двумя датами. Неполные месяцы не учитываются.

Если в A2 указано 15 января, а в B2 — 10 апреля, формула =DATEDIF(A2, B2, "M") возвращает 2, поскольку прошло только два полных месяца: третий месяц ещё не завершился к 10-му числу.

Именно так обычно измеряют срок подписки или длительность договора.

=DATEDIF(A2,B2,"M")

Подсчёт полных лет (возраст)

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

Если в A2 указана дата рождения, сравнение с сегодняшней датой даёт возраст человека в полных годах. До фактического наступления дня рождения в текущем году функция правильно возвращает меньшее значение.

Это позволяет избежать ошибок округления, которые возникают при делении разницы в днях на 365.

=DATEDIF(A2,TODAY(),"Y")

Оставшиеся дни и месяцы

У DATEDIF есть дополнительные коды единиц для разбиения промежутка на части:

  • "YM" = месяцы, оставшиеся после подсчёта полных лет
  • "MD" = дни, оставшиеся после подсчёта полных месяцев
  • "YD" = дни, оставшиеся после подсчёта полных лет

С их помощью можно представить продолжительность в виде 2 лет, 3 месяцев и 5 дней, объединив три вызова DATEDIF.

=DATEDIF(A2,B2,"YM")

Подсчёт только рабочих дней

Обычное вычитание считает каждый календарный день, включая выходные. Чтобы посчитать только рабочие дни, используйте NETWORKDAYS.

Эта функция считает будние дни между двумя датами и позволяет указать список праздников, которые нужно пропустить. Поэтому формула =NETWORKDAYS(A2, B2) возвращает количество дней с понедельника по пятницу, а необязательный третий аргумент указывает диапазон с праздниками.

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

=NETWORKDAYS(A2,B2)

Пример: количество дней просрочки

Предположим, что в A2 указана дата оплаты счёта, и Вы хотите показать, на сколько дней он просрочен относительно сегодняшней даты, но выводить 0, если срок оплаты ещё не наступил.

Вычтите дату оплаты из сегодняшней даты, а затем оберните результат в MAX с аргументом 0, чтобы для ещё не просроченного счёта никогда не отображалось отрицательное число.

Эта единственная формула даёт понятное и корректное количество дней просрочки для отчёта по взысканию задолженности.

=MAX(0,TODAY()-A2)

Преобразование количества дней в недели

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

Формула =INT((B2-A2)/7) показывает, сколько полных недель укладывается между двумя датами. Промежуток в 17 дней превращается в 2 недели.

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

=INT((B2-A2)/7)

Быстрая проверка

Проверьте свои знания о разнице между датами.

Повторение: подсчёт дней между датами

Вы изучили несколько способов измерять промежутки времени:

  • =B2-A2 даёт разницу в днях (сначала указывайте более позднюю дату); добавьте 1, чтобы включить обе границы.
  • Измените формат ячейки с результатом на Число, если она показывает дату.
  • DATEDIF(start, end, "D"/"M"/"Y") считает полные дни, месяцы или годы; это удобно для вычисления возраста и срока.
  • NETWORKDAYS считает рабочие дни и может пропускать праздники.
  • Используйте MAX(0, ...), чтобы избежать отрицательного количества дней просрочки.

Вы завершили курс «Функции даты и времени».

Можно начать бесплатно

Изучай Excel с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Подсчёт дней между датами» бесплатный?

Да — полный текст урока «Подсчёт дней между датами» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.

Чему я научусь в уроке «Подсчёт дней между датами»?

Находите разницу между двумя датами с помощью DATEDIF и вычитания Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Excel Formulas Academy?

Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Подсчёт дней между датами»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Excel Formulas Academy?

Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. TODAY и NOW для текущих дат
  2. Разбор дат с помощью YEAR, MONTH, DAY
  3. Создание дат с помощью DATE и EDATE
  4. Подсчёт дней между датами
← Назад к Excel Formulas Academy